=== release 1.12.2 ===

2017-07-14  Sebastian Dröge <slomo@coaxion.net>

	* configure.ac:
	  releasing 1.12.2

2017-07-14 13:21:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/tr.po:
	  po: Update translations

2017-07-07 09:18:30 +0900  Heekyoung Seo <heekyoung.seo@lge.com>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix leak in case of vcrop is disabled
	  https://bugzilla.gnome.org/show_bug.cgi?id=784639

2017-07-01 17:45:19 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/pango/gstbasetextoverlay.c:
	* tests/check/elements/textoverlay.c:
	  textoverlay: ensure text buffer has writable metadata when modifying

=== release 1.12.1 ===

2017-06-20 12:05:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-pbtypes.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.12.1

2017-06-20 11:16:20 +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/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-06-20 11:07:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/sv.po:
	  po: Update translations

2017-06-20 10:06:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* win32/common/libgstpbutils.def:
	* win32/common/libgstrtsp.def:
	  libs: Export boxed type copy/free functions for the remaining types

2017-06-02 09:41:59 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: resize output buffer to correct size
	  If we are using a downstream bufferpool we need to set the size of the
	  buffer to our output size.

2017-06-01 13:01:03 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/video/navigation.c:
	  navigation: Add introspection annotations for some output parameters
	  The missing annotations prevented proper usage from introspected
	  bindings like python.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783330

2017-06-12 10:24:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Use downloadbuffer element
	  And only set low-percent/high-percent if not using downloadbuffer, just
	  like in old uridecodebin. using the watermark based buffering causes
	  playback to hang never finish buffering with downloadbuffer.

2017-06-14 17:04:18 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Call do_async_done when source state change returns NO_PREROLL
	  Otherwise for RTSP streams for example, the pipeline will never go to
	  PLAYING as it will be missing an ASYNC_DONE message.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780099

2017-06-12 15:38:53 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: Fix missing VideoMeta
	  The base class is trying to align the processed data, but it endup
	  removing the GstVideoMeta. That caused wrong result. Instead, just copy
	  from the process function with the appropriate alignment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781204

2017-06-01 13:28:42 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update orc generated files
	  Includes updates from:
	  103d265 Fix RGBA and ABGR pack/unpack on big endian cpu
	  https://bugzilla.gnome.org/show_bug.cgi?id=783328

2017-06-01 17:45:41 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  Fix RGBA and ABGR pack/unpack on big endian cpu
	  The pack and unpack functions for RGBA and ABGR only work for little
	  endian cpus. Add variants for big endian as well.

2017-05-18 13:24:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Clean up more fields to decide if parent/child streams are equivalent
	  https://bugzilla.gnome.org/show_bug.cgi?id=782780

2017-05-23 08:43:26 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: Protect videoinfo with object lock
	  The videoinfo is set in the streaming thread, but can be read by any
	  thread from the various queries, so protect it with the object lock.

2017-05-18 11:02:51 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Unref query with gst_query_unref()
	  Not gst_object_unref().

=== release 1.12.0 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-pbtypes.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.12.0

2017-05-04 15:04:19 +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/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-03 16:02:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix use after free from demuxer flush pad probe
	  In some cases, we could get a flush-stop event after the chain structure
	  containing the demuxer was freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782095

2017-05-02 14:32:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  Revert "videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop"
	  This reverts commit e6736e992576d174707af339aeb908722492ebca.
	  This one is for after 1.12.0 and shouldn't have been merged yet.

2017-05-02 14:31:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  libs: Check if meta transform_func is NULL before using it
	  https://bugzilla.gnome.org/show_bug.cgi?id=782050

2017-04-28 15:24:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: In reverse playback mode, don't output the first buffer with ts=segment.stop
	  Instead go backwards before segment.stop based on the framerate or the
	  next buffers end timestamp. Otherwise the first buffer will usually be
	  dropped because outside the segment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781899

2017-05-01 14:31:07 -0300  Vitor Massaru Iha <vitor@massaru.org>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Removing duplicated command.
	  gst-launch-1.0 was duplicated on textoverlay example.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782018

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

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaybin3.c:
	  playbin: minor docs fix
	  The "frame" property is no more, it's "sample" these days.

=== release 1.11.91 ===

2017-04-27 17:25:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-pbtypes.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.11.91

2017-04-27 15:55:22 +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/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:22:58 +0300  Sebastian Dröge <sebastian@centricular.com>

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

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

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

2017-04-19 11:47:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: fix typo in GstVideoAlignment doc
	  https://bugzilla.gnome.org/show_bug.cgi?id=781490

2017-04-13 16:40:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/audio-resampler.h:
	  audio: resampler: fix typos in docs

2017-04-12 16:06:45 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/allocators/meson.build:
	* gst-libs/gst/app/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/fft/meson.build:
	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/riff/meson.build:
	* gst-libs/gst/rtp/meson.build:
	* gst-libs/gst/rtsp/meson.build:
	* gst-libs/gst/sdp/meson.build:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/video/meson.build:
	  meson: Pass --c-include accordingly to GIR builds

2017-04-12 09:58:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/theora/gsttheoraparse.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst/typefind/gsttypefindfunctions.c:
	* tests/check/libs/tag.c:
	* tests/icles/test-reverseplay.c:
	  No need for newlines in debug log statements

2017-04-10 15:35:41 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: Print gst-launch example
	  Print a gst-launch-1.0 line that could get to this device,
	  useful as we don't have other ways to see what it does exactly.
	  This may not work if the create element has configurations other than
	  properties.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781152

2017-04-11 10:47:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	  .gitignore: ignore all generated enumtypes files

2017-04-11 10:46:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	  meson: dist more meson build files

2017-04-11 11:44:48 +0300  Claudio Saavedra <csaavedra@igalia.com>

	* gst-libs/gst/app/meson.build:
	  meson: install gstappsink.h
	  https://bugzilla.gnome.org/show_bug.cgi?id=781168

2017-04-11 11:16:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolume.h:
	  volume: Store volume as a double for consistency with the property type
	  And the potential increased precision, which shouldn't matter much here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781149

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

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

2017-04-10 14:29:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/tag.h:
	  Revert "tag: Fix enum nicks for backwards compatibility"
	  This reverts commit 595b29519ab6850811ed2e68b75e29a2240a5432.
	  Bindings are not using the nicks but the actual enum names.

2017-04-10 14:25:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	  app/tag: Fix build with srcdir!=builddir

2017-04-10 14:02:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/tag.h:
	  tag: Fix enum nicks for backwards compatibility
	  The enum values got the wrong name at some point, something to fix for 2.0.

2017-04-10 13:55:58 +0300  Rico Tzschichholz <ricotz@t-online.de>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	  app/tag: Add missing sources/headers to the GIR build

2017-04-09 12:54:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/meson.build:
	  meson: Define missing variable

2017-04-09 12:51:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tag_mkenum.py:
	* gst-libs/gst/tag/tags.c:
	  tag: Generate GLib enums/flags with glib-mkenums

2017-04-09 12:29:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/app_mkenum.py:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/app/meson.build:
	  app: Generate GLib enums with glib-mkenums

2017-04-09 12:19:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: It's (transfer none), not (transfer-none)

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

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/meson.build:
	* win32/common/libgstaudio.def:
	  audio: Generate audiobasesink/src and audiocdsrc GLib enums automatically
	  And ensure that GstAudioBaseSrcSlaveMethod's re-timestamp stays
	  re-timestamp and doesn't become retimestamp.

2017-04-06 22:38:34 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/gstvideotimecode.c:
	  timecode: Fix invalid drop-frame timecode right before a new second
	  The previous fix was only working for non-drop-frame timecodes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779866

=== release 1.11.90 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-pbtypes.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* meson.build:
	  Release 1.11.90

2017-04-07 15:12:37 +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/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:06:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/hu.po:
	  po: Update translations

2017-04-03 16:41:49 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* tests/check/libs/sdp.c:
	  sdp/media: caps_from_media() don't modify the input media
	  Performing a gst_sdp_media_get_caps_from_media() would result in
	  changing fields in the GstSDPMedia violating the const tag in the
	  function declaration.
	  Before there would be a line with a=rtpmap:96 VP8/90000
	  after, that attribute would only contain a=rtpmap:96
	  Fix by performing modifications on duplicated strings instead of on
	  the internal values.
	  Also add a simple test for checking that the representation doesn't
	  change by a gst_sdp_media_get_caps_from_media()

2017-04-03 15:08:06 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: add g_return*_if_fail assertions on invalid inputs
	  Prevents some programming errors and invalid modifications.

2017-04-03 15:05:47 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp/message: fix segfault copying NULL in the boxed copy impl
	  Allows passing NULL as a value to g_object_set and as signal
	  parameters without crashing.

2017-03-31 13:43:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix scaler leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=780764

2017-03-31 15:59:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix list leak when requesting a new pad
	  https://bugzilla.gnome.org/show_bug.cgi?id=780769

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

	* tests/check/meson.build:
	  meson: Use get_pkgconfig_variable instead of calling pkg-config ourself
	  It is avalaible in meson 0.36 which is now are requirement

2017-03-27 22:59:17 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Set removed flag when removing buffering msg
	  Forgot to set the flag, resulting in a missed check for
	  sending 100% in some cases. Spotted by Coverity.
	  CID: 1403263

2017-03-26 23:33:24 +0200  Francisco Velazquez <francisv@ifi.uio.no>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  docs: Fix broken URL in reference manual
	  https://bugzilla.gnome.org/show_bug.cgi?id=780566

2017-03-21 13:12:47 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/rawparse/gstrawbaseparse.c:
	  rawvideoparse: fix assert on large width/height in caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=776446

2017-03-27 00:26:53 +1100  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Expand the search range for HLS detection
	  HLS files can have arbitrary extra tags in them, and
	  those can be quite long lines. We need to search
	  further than 256 bytes sometimes just to get past the
	  first few lines of the file. Make the limit 4KB,
	  which matches a typical input block size and should
	  hopefully cover every crazy input.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780559

2017-03-24 18:51:12 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Fix build failure from previous commit
	  Mistake while rebasing

2017-03-24 18:46:34 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Specify pluginsdir setting the environment
	  And do not specify the separator as this is OS
	  dependent and will be handled properly by default

2017-03-24 17:00:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/meson.build:
	  meson: Reuse plugins_install_dir for building env

2017-03-24 16:16:26 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/meson.build:
	  meson: Fix plugin path when running test
	  The path was only adding the build root. We need to also add the
	  prefix for the case we work with installed setup. As the search is
	  recursive, I had to remove any subdirectory to the already present build
	  root.

2017-03-15 17:28:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rawparse/gstrawvideoparse.c:
	* gst/rawparse/gstrawvideoparse.h:
	* tests/check/elements/rawvideoparse.c:
	  rawvideoparse: Rename frame-stride in to frame-size
	  The term stride is confusing here, since the stride is always use
	  to signal the pixel row size of an image (including padding). Also
	  a frame may have a single stride, which adds to the confusion. This
	  patch uses frame-size, which simply indicate the frame size in the
	  case the images have some padding in between.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780053

2017-03-15 15:28:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/rawparse/gstrawvideoparse.c:
	* tests/check/elements/rawvideoparse.c:
	  rawvideoparse: Use GstValueArray for strides and offsets
	  This allow using those property through gst-launch-1.0. This type
	  gained a deserilizer recently. The syntax is: <val1, val2, ...>.
	  Note that we also use the type int instead of uint to avoid having
	  to cast when specifying the values. The deserilizers assume
	  int by default.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780053

2017-03-23 13:56:19 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: every stream need keep their own send_gap_event flag
	  When a clip has video audio and subtitle, if need send gap event
	  to audio and subtitle, we should make sure all has been sent, so
	  need every stream keep one send_gap_event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780429

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

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Mention which queue is being linked in debug output

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

	* tests/examples/seek/jsseek.c:
	  examples: jsseek: fix typo
	  Spotted by Yaakov Selkowitz

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

	* tests/examples/seek/jsseek.c:
	  examples: jsseek: update for removal of mad plugin
	  https://bugzilla.gnome.org/show_bug.cgi?id=776140

2017-03-20 17:20:36 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix async video sample conversion with non-default context
	  The GSource for dealing with timeouts in
	  gst_video_convert_sample_async() might be attached to a non-default
	  context, so we should not be using g_source_remove() on the returned ID.
	  The correct thing to do is to keep a reference to the actual GSource and
	  then call g_source_destroy() on it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780297

2017-03-19 13:51:24 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix typefind list leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=780257

2017-03-17 21:39:58 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: cleanup the tests
	  Take a first stab at cleaning up the tests. Extract common code. Make sure
	  we actually verify things.

2017-03-18 01:10:54 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Close a small race posting 100% buffering
	  When posting 100% buffering due to removing the last
	  buffering element, we still need to hold the posting
	  lock as well, to avoid any race with other elements
	  that might post a buffering message at that exact
	  moment

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

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix buffering message aggregation.
	  Add locking, and handle EOS properly now that urisourcebin
	  uses custom events in place of real EOS events, so we
	  need to manually remove buffering messages and potentially
	  post 100% in that situation

2017-03-18 00:06:02 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Store slot info on the queue object too
	  The buffering message handling tries to look up the
	  slot info on the queue itself.

2017-03-16 13:56:10 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Add debug output tracking decode-after-flush
	  Track how long it takes to generate the first buffer after a flush
	  as a simple measure of how efficient the decoder is at skipping /
	  rushing to get to the first decode.

2017-03-16 11:27:47 +1100  Jan Schmidt <jan@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Publish multiview-mode info in the caps
	  Don't allow downstream to accidentally pretend that
	  the output is anything than a mono or single-eye
	  left/right view.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776172

2017-03-17 13:43:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: Shift correctly when packing I420_12BE

2017-03-17 13:14:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Order all formats in GST_VIDEO_FORMATS_ALL like in the enum
	  And remove duplicated entries.

2017-03-17 15:59:14 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Mark format caps as transfer-none in profile creation

2017-03-16 17:37:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Add Since markers to all new formats from 1.2
	  https://bugzilla.gnome.org/show_bug.cgi?id=780100

2017-03-16 17:12:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add I420/I422/Y444_12LE/BE and GBRA video formats
	  https://bugzilla.gnome.org/show_bug.cgi?id=780100

2017-03-16 11:45:42 +0100  Emeric Grange <egrange@gopro.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add GBRA_10LE/BE, GBR_12LE/BE, GBRA_12LE/BE pixel formats
	  With additional bugfixes from Sebastian Dröge <sebastian@centricular.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=780100

2017-03-14 16:30:18 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	  multifdsink: Remove GValueArray from the doc
	  It's been a GstStructure for a long time. Also fix
	  a typo in the name of one of the fields.

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

	* Makefile.am:
	  Add old libgstencodebin.so to cruft list
	  This will help fixing clash in gst-uninstalled setup.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-01-23 16:36:11 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/streamvolume.c:
	* gst-libs/gst/fft/gstfft.c:
	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtphdrext.c:
	* gst-libs/gst/rtp/gstrtppayloads.c:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/tags.c:
	* gst-libs/gst/tag/xmpwriter.c:
	* gst-libs/gst/video/colorbalance.c:
	* gst-libs/gst/video/colorbalancechannel.c:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-event.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/videodirection.c:
	* gst-libs/gst/video/videoorientation.c:
	* gst-libs/gst/video/videooverlay.c:
	* gst/adder/gstadder.c:
	* gst/app/gstapp.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaybin3.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	* gst/rawparse/gstrawaudioparse.c:
	* gst/rawparse/gstrawvideoparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	  docs: Convert gtkdoc comments to markdown
	  Modernizing the documentation, making it simpler to read an
	  modify and allowing us to possibly switch to hotdoc in the
	  future.

2017-03-10 17:40:13 +0200  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Fix invalid timecode right before a new second
	  When initializing a timecode from a GDateTime, and the remaining time
	  until the new second is less than half a frame (according to the given
	  frame rate), it would lead to the creation of an invalid timecode, e.g.
	  00:00:00:25 (at 25 fps) instead of 00:00:01:00. Fixed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779866

2017-03-10 18:22:27 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix build error on i386
	  Use G_GUINT64_FORMAT for guint64 values.
	  Introduced by fcb63e77a9de42cfb50da03a4925b06704006be3
	  Found by Alexander Larsson
	  gstvideodecoder.c: In function 'gst_video_decoder_have_frame':
	  gstvideodecoder.c:3312:51: error: format '%u' expects argument of type 'unsigned int', but argument 8 has type 'guint64 {aka long long unsigned int}' [-Werror=format=]

2017-03-04 10:08:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-pbtypes.xml:
	* gst/encoding/Makefile.am:
	* gst/encoding/meson.build:
	* sys/xvimage/meson.build:
	  Fix plugin filenames to match pugin names
	  - libgstencodebin.so is now libgstencoding.so
	  - libgstximage.so is now libgstximagesink.so (meson only)
	  https://bugzilla.gnome.org/show_bug.cgi?id=779344

2017-03-09 01:40:06 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Shrink queue2 max-size-time buffering
	  The expanded 4 second buffering was making radio streams that are
	  being delivered at real-time speeds too slow. We might need
	  a better plan for matching the queue2 size to incoming bitrate
	  in the absence of tag information or timestamping.
	  In uridecodebin, it used tags on the output of decodebin to
	  adjust the queue2 buffering, but urisourcebin doesn't have that
	  view - decodebin is downstream from us.

2017-03-08 15:47:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Unref GDateTime in error cases

2017-03-07 14:59:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturisourcebin.c:
	  playbin3/urisourcebin: Enable buffering by default
	  This only has effect on network streams in these elements, and by
	  enabling it by default we get the same behaviour as in playbin2.

2017-03-07 00:25:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: improve verbose output of property notifications
	  Use new message notify API and print caps and taglists in a nicer
	  to read way, just like gst-launch-1.0 does nowadays, without
	  escaping everything three times.

2017-03-06 19:14:48 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix a leak introduced in fcb63e
	  CID: 1402055

2017-03-04 00:27:30 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix reverse playback
	  Fix various issues with reverse playback by clearing tracking
	  vars when working in reverse, and where possible using the
	  timestamp interpolation code to generate timestamps for
	  outgoing buffers. Make sure to mark things as discontinuous
	  only when looping backward to a new position and fix seeking
	  to the next page when starting.

2017-03-04 00:22:17 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Timestamp tracking fixes
	  In gst_ogg_demux_do_seek() when calculating the
	  keyframe time, account for a non-zero start-time
	  Handle a discontinuous first packet in
	  gst_ogg_demux_setup_first_granule() because that's pretty
	  normal after a seek. Also differentiate between a genuinely
	  truncated first packet and just bailing out early, by not using
	  granule = -1 as an error code.
	  Make the debug output logs clearer about which timestamps
	  are stream times (PTS) and which are ogg timestamps.

2017-03-04 00:15:50 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't arbitrarily guess a timestamp of 0
	  When we haven't managed to manufacture a timestamp for
	  a packet, don't just guess '0', leave it at none and
	  let downstream decide

2017-03-04 00:12:26 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: Make the keyframe condition check clearer
	  Make the keyframe checking if statement easier to
	  read, and add some debug when detecting a keyframe

2017-03-04 00:18:07 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Restrict frame timestamp guessing in reverse mode
	  Don't guess a timestamp of the start of the segment when running
	  in reverse mode, as more likely it means we're discontinuous somewhere
	  in the middle of the segment, and we'll fix up timestamps once
	  the frames are decoded and reversed.

2017-03-04 00:10:27 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Store buffer information even without PTS
	  When a PTS is not set, we still want to store the rest of the
	  buffer information, or else we lose important things like the
	  duration or buffer flags when parsing.

2017-03-03 10:52:15 +0100  Edward Hervey <edward@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Reset decoder in more situations
	  This is a followup commit to b95725c37e70ad3c1ec8dadb401388db375df482
	  * Resetting the decoder should only happen when we get a new initialization
	  header (0x01) and not on the other headers
	  * The initialized variable only gets set to TRUE once all headers have
	  been parsed. Also check if the vorbis_info struct has been properly resetted
	  also. Failure to do that would cause vorbisdec to error if it got
	  two initialization header in a row (the first would configure the underlying
	  library and the second one would error out because it's already initialized)
	  https://bugzilla.gnome.org/show_bug.cgi?id=779515

2017-02-28 15:51:00 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawbaseparse.c:
	  rawbaseparse: Assert that frame size is > 0
	  We would later divide by zero otherwise, and generally won't do the
	  right thing.
	  CID 1401383

2017-02-28 15:26:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawaudioparse.c:
	  rawaudioparse: Fix potential NULL pointer dereference
	  CID 1364606

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

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix potential NULL pointer dereference on slot deactivation
	  CID 1363331

2017-02-28 15:15:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix inverted check for an existing slot
	  CID 1363330

2017-02-28 15:13:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Handle stream-start events without group id correctly
	  CID 1363327

2017-02-28 15:11:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle return value of gst_video_decoder_drain()
	  CID 1362896

2017-02-09 12:44:51 +0000  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: reset decoder on vorbis headers update
	  if the vorbis encoder receives new headers it must be
	  reset and re-initialized to continue decoding, e. g.
	  for live streams

2017-02-27 19:04:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Resend (new, updated) headers when the caps are changing
	  The headers are usually changing together with the caps, and they are
	  nedeed for correct decoding.

2017-02-25 19:19:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/rawparse/Makefile.am:
	  rawparse: fix linking for audio/video libs
	  Broke build in gnome continuous

2017-02-25 15:14:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/meson.build:
	  rawparse: Fix meson build

2017-02-25 14:48:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst/meson.build:
	* gst/rawparse/Makefile.am:
	* gst/rawparse/meson.build:
	* gst/rawparse/plugin.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	  rawparse: Move to gst-plugins-base
	  https://bugzilla.gnome.org/show_bug.cgi?id=774544

2017-02-25 14:32:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	  Merge branch 'rawparse-moved-plugin'

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

	* meson.build:
	  meson: Update version

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

	* configure.ac:
	  Back to development

=== release 1.11.2 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	  Release 1.11.2

2017-02-24 12:46:59 +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/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 10:04:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Give a name to the thread-pool threads
	  This way they can be distinguished from any other threads in the same
	  process.

2017-02-24 10:02:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Only lock the thread pool mutex when running with more than 1 thread
	  There's no reason to lock anything if only the current thread is ever
	  going to do any work.

2017-02-20 21:38:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  video-converter: Implement multi-threaded scaling/conversion
	  This adds a property to select the maximum number of threads to use for
	  conversion and scaling. During processing, each plane is split into
	  an equal number of consecutive lines that are then processed by each
	  thread.
	  During tests, this gave up to 1.8x speedup with 2 threads and up to 3.2x
	  speedup with 4 threads when converting e.g. 1080p to 4k in v210.
	  https://bugzilla.gnome.org/show_bug.cgi?id=778974

2017-02-21 11:59:12 +0100  Georg Lippitsch <glippitsch@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	* tests/check/libs/videotimecode.c:
	  videotimecode: Validate for drop-frame correctness
	  In gst_video_time_code_is_valid, also check for invalid
	  ranges when using drop-frame TC. Refactor some code which
	  broke after the check was added.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779010

2017-02-15 18:40:21 +0100  Georg Lippitsch <glippitsch@toolsonair.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideotimecode.c:
	* gst-libs/gst/video/gstvideotimecode.h:
	* tests/check/libs/videotimecode.c:
	* win32/common/libgstvideo.def:
	  videotimecode: Init from GDateTime
	  Add a function to init the time code from a GDateTime
	  https://bugzilla.gnome.org/show_bug.cgi?id=778702

2017-02-20 13:44:37 +0200  Jochen Henneberg <jh@henneberg-systemdesign.com>

	* ext/vorbis/gstvorbiscommon.c:
	  vorbis: Fix channel reorder map for 5.1, 6.1 and 7.1

2017-02-18 20:18:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawbaseparse.c:
	* tests/check/elements/rawvideoparse.c:
	  rawbaseparse: Drop incomplete frames at EOS
	  See https://bugzilla.gnome.org/show_bug.cgi?id=773666
	  This would ideally be solved in baseparse but that requires further
	  thought at this point, and in the meantime it would be good to have
	  rawbaseparse not assert on this but handle it gracefully instead.

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

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Fix upscaling if width & height change and we're starting not at y=0
	  It was taking the initial input y-offset from the output value, which
	  only works for y=0 (in which case both are the same). If y > 0, we would
	  always stay behind the requested input offset and never ever read
	  anything from the input.

2017-02-14 22:31:50 +0000  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	  Fix distcheck
	  Buildbot doesn't like wildcards here for some reason.

2017-02-14 19:44:43 +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-14 19:43:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/MANIFEST:
	  win32: dist all .def files

2017-02-10 17:32:29 +0900  Heekyoung Seo <heekyoung.seo@lge.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: prevent unsigned int overflow
	  https://bugzilla.gnome.org/show_bug.cgi?id=778432

2017-02-10 21:28:49 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: ensure the discont flag is correct
	  Previously it happened that reused buffer caused the discont to be on the wrong
	  buffers.

2017-02-08 11:42:45 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Ignore more parser related fields when comparing streams
	  The parser might do some conversion on a stream but the stream keeps
	  being the same, and we need to make sure GstDiscoverer detects it is the
	  case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=778298

2017-02-04 14:46:00 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Also add FLAC to debug strings.
	  Oops, also add FLAC to the debug strings array.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777655

2017-02-04 14:42:33 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Prevent overflow of debug names array
	  Add new audio types to the list of strings used for debug
	  so we don't index past the end of that array.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777655

2017-02-02 14:56:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/multifdsink.c:
	  multifdsink: Make sure to use a 64 bit integer for the units-max property

2017-01-20 19:49:46 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix crash caused by slot double freeing
	  Probe for MultiQueue source pad might receive EOS twice,
	  the first is fake-eos and the other is actual EOS.
	  And the slot can be freed with fake-eos/EOS if the slot has no input.
	  Since slot freeing is async, double free can be possible.
	  So, decodebin3 needs to remove the probe also with slot freeing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777530

2017-01-31 16:47:32 +0100  Edward Hervey <edward@centricular.com>

	* tests/examples/decodebin_next/playbin-test.c:
	  examples: Fix leak

2016-12-03 13:38:28 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix list leak on handle_stream_switch()
	  Free no more used list variables
	  https://bugzilla.gnome.org/show_bug.cgi?id=775553

2016-12-03 13:22:54 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Change requested_selection to have its own memory for stream-id
	  "requested_selection" list might be generated by select-streams event.
	  And memory of stream-id(s) in select-streams is independent from that of stream-collection.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775553

2016-12-03 12:47:41 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Change return types of stream_in_{list,collection}
	  Change return types of functions to get memory address of stream-id.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775553

2016-12-03 12:43:22 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstplaybin3.c:
	  playback: Fix leak on select_streams
	  Since gst_event_parse_select_streams() returns newly allocated
	  memory for stream-id(s), it should be freed explicitly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775553

2017-01-02 15:12:47 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: fix caps leak in test
	  https://bugzilla.gnome.org/show_bug.cgi?id=776797

2017-01-30 12:35:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-resampler-x86-sse41.c:
	  audio-resampler: Fix integer overflow in clamping code
	  https://bugzilla.gnome.org/show_bug.cgi?id=777921

2017-01-25 19:13:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/examples/overlay/Makefile.am:
	  qt: The videooverlay example requires at least C++11
	  ... and clang requires this to be specified on the commandline while gcc
	  nowadays defaults to C++11 or even newer.

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

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

2017-01-23 19:45:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: fix LATENCY query
	  The latency query originally had a fallthrough to the default
	  label at the end as fallback, but that got messed up when the
	  DURATION and POSITION queries were added, so it then fell through
	  to the duration query handler instead. Restore original behaviour.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699077

2017-01-23 19:08:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: fix duration and position query handling
	  Duration query would return TRUE and duration=-1. This
	  worked in the unit test because the unit test implementation
	  was a bit broken.
	  Both queries need to access rate with a lock.
	  Fix broken duration query test as well. It relied on broken
	  behaviour by the videorate query handler, and also it was
	  implemented as a downstream query rather than an upstream
	  query. And we must return HANDLED from the probe so that the
	  query we intercept actually returns TRUE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699077

2017-01-23 19:50:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audio: add since markers to docs for new enums
	  https://bugzilla.gnome.org/show_bug.cgi?id=777655

2016-11-17 13:04:18 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audio: add FLAC to GstAudioRingBufferFormatType
	  https://bugzilla.gnome.org/show_bug.cgi?id=777655

2017-01-23 18:31:54 +0000  Olivier Crete <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: Also support raw AAC
	  Support raw AAC streams without the ADTS header
	  https://bugzilla.gnome.org/show_bug.cgi?id=777655

2017-01-20 23:28:23 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: update libs section
	  Include documented symbols that were not declared in section file.

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

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Don't divide block align by zero channels
	  https://bugzilla.gnome.org/show_bug.cgi?id=777525

2017-01-20 08:02:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/samiparse.c:
	  samiparse: Check that the string has a non-zero length before overwriting the last byte with '\0'
	  https://bugzilla.gnome.org/show_bug.cgi?id=777502

2017-01-15 18:42:34 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Don't recurse in for nested WAVEFORMATEX
	  There was already a check for that, but it failed because
	  subformat_guid[0] is a guint32 and that is then casted implicitely to a
	  guint16 when recursing... just that we checked the uncasted value.
	  This caused an infinite recursion and thus stack overflow.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777265

2017-01-18 14:59:18 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't leak blocked pad references on errors
	  When the decodebin state change fails because of an error
	  message, we might not go through PAUSED->READY. Don't leak
	  a ref to decodebin pads due to pad blocking in that case.
	  This is because we return ASYNC going to PAUSED, and if
	  we fail before reaching PAUSED the only transition we'll
	  see is READY->NULL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775893

2014-11-27 18:02:49 -0600  Carl Karsten <carl@personnelware.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add options to make ball pattern based on system time, and invert each second.
	  This adds some extra options that affect pattern=ball mode, allowing the
	  animation to be synced to running time or wall-time clock for comparing
	  sync across different instances / pipelines / machines.
	  Also added is the ability to invert the rendering colours every second,
	  and some different ball motion patterns.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740557

2017-01-15 18:31:56 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Check for valid channels/rate before using the values
	  Otherwise we might divide by zero or otherwise create invalid caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777262

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

	* meson.build:
	  meson: bump version

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

	* configure.ac:
	  Back to development

=== release 1.11.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	  Release 1.11.1

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/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:35:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/da.po:
	* po/de.po:
	* po/fr.po:
	* po/hr.po:
	* po/id.po:
	* po/nb.po:
	* po/pl.po:
	* po/ru.po:
	* po/sr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2017-01-12 22:28:50 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Preserve seqnum on EOS events
	  When converting EOS to/from our custom fake EOS event,
	  preserve any seqnum on the original event.

2017-01-12 10:51:34 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Avoid races when setting up typefind
	  The state of urisourcebin (and all elements contained within) can
	  change at any point in time, including when setting up the typefind
	  element.
	  In order to avoid ending up with typefind starting without being fully
	  connected, lock the state and connect to the 'have-type' signal.

2017-01-11 18:24:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix crashes in fast-paths when converting interlaced formats with different vertical subsampling
	  E.g. the following pipelines fail because chroma values after the last
	  line are read (note: 486 % 4 == 2):
	  gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=UYVY" ! videoconvert ! "video/x-raw,format=I420" ! fakesink
	  gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=UYVY" ! fakesink
	  gst-launch-1.0 videotestsrc ! "video/x-raw,interlace-mode=interleaved,width=720,height=486,format=I420" ! videoconvert ! "video/x-raw,format=AYUV" ! fakesink

2017-01-11 22:48:02 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Drop fake EOS if the pad got relinked
	  If our pad got relinked in since the fake-EOS was sent to the
	  pad, then drop the fake-EOS event.
	  CID: 1398546

2017-01-11 17:26:01 +0530  Arun Raghavan <arun@arunraghavan.net>

	* common:
	  common: Revert unintentional change in previous commit

2017-01-11 17:14:46 +0530  Arun Raghavan <arun@arunraghavan.net>

	* common:
	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Drop some dead code
	  The ret == GST_STATE_CHANGE_FAILURE is handled in the previous for loop
	  already.
	  CID: 1398544

2017-01-11 12:35:40 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Clear pad from pending list if it was linked
	  If not, the other slots might try to link the pad again.
	  This can happen when the demuxer has multiple src pads
	  and their caps are identical
	  https://bugzilla.gnome.org/show_bug.cgi?id=777121

2017-01-11 08:22:21 +0100  Edward Hervey <edward@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: update def file

2017-01-10 16:36:08 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* tests/check/libs/videotimecode.c:
	  videotimecode: Added unit test for GstVideoTimeCodeInterval
	  https://bugzilla.gnome.org/show_bug.cgi?id=776447

2016-12-29 14:42:52 +0200  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	* gst-libs/gst/video/gstvideotimecode.h:
	  videotimecode: New GstVideoTimeCodeInterval type, ability to add to a GstVideoTimeCode
	  Sometimes there is a human-oriented timecode that represents an
	  interval between two other timecodes. It corresponds to the human
	  perception of "add X hours" or "add X seconds" to a specific timecode,
	  taking drop-frame oddities into account. This interval-representing
	  timecode is now a GstVideoTimeCodeInterval. Also added function to add it to
	  a GstVideoTimeCode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776447

2017-01-10 21:52:34 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Configure typefind element for non-streaming uri
	  To ensure configuring adaptivedemux if needed,
	  setup typefind element even if uri is not matched to streaming protocol.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776458

2016-12-24 16:44:26 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Use GList for typefind elements
	  We need typefind elements per source element's srcpad
	  https://bugzilla.gnome.org/show_bug.cgi?id=776458

2016-12-24 16:15:45 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Remove unused signal handler variable
	  Remove never used handler id
	  https://bugzilla.gnome.org/show_bug.cgi?id=776458

2017-01-10 08:57:51 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: Fix annotation in gst_encoding_profile_set_preset

2017-01-09 19:45:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: update .def file for new video API

2017-01-09 19:10:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix another c99-ism
	  Missed one.

2017-01-09 19:02:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* sys/ximage/ximagesink.c:
	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/sdp.c:
	* tests/check/libs/videodecoder.c:
	  Fix indentation

2017-01-09 18:58:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix compiler warnings due to c99-ism
	  audiodecoder.c:160:5: error: ‘for’ loop initial declarations are only allowed in C99 mode

2016-12-30 20:27:48 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* tests/check/libs/videotimecode.c:
	  videotimecode: Add GstValue functions unit test
	  https://bugzilla.gnome.org/show_bug.cgi?id=772764

2016-12-30 19:08:16 +0200  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	* gst-libs/gst/video/gstvideotimecode.h:
	  videotimecode: Add GstValue functions
	  Add compare, serialization and deserialization functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=772764

2017-01-08 21:53:27 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Clear EOS state with stream-start/flush-stop event
	  The EOS state marker should cleared on stream-start or flush-stop
	  https://bugzilla.gnome.org/show_bug.cgi?id=777009

2017-01-08 21:36:04 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Never push actual EOS event to slot
	  Due to the special nature of adaptivedemux, reconfigure happens
	  frequently with seek/track-change.
	  In very exceptional cases, the following sequence is possible:
	  * EOS event is pushed to queue element and still buffers are queued
	  * During draining remaining buffers, reconfiguration downstream
	  happens due to track switch.
	  * The queue gets a not-linked flow return from downstream
	  * Because the sinkpad is EOS, the queue registers an
	  error on the bus, causing the pipeline to fail.
	  Avoid the sinkpad getting marked EOS in the first place, by using a
	  custom event in place of EOS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777009

2017-01-09 21:31:37 +1100  Jan Schmidt <jan@centricular.com>

	* tests/check/libs/video.c:
	  testsuite: Add some test checks for gst_video_guess_framerate()

2017-01-09 21:25:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video.c:
	  gst_video_guess_framerate: Don't throw away all precision
	  When operating on framerates near 10000fps, at least keep 1
	  digit of precision for calculations

2017-01-06 12:56:00 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* win32/common/libgstpbutils.def:
	  Update win32 def files

2017-01-06 11:39:27 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Properly free temporary list

2017-01-04 14:27:40 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	  encoding-profile: Add a way to copy an encoding profile
	  It is often usefull to make sure that you get a full copy of a profile.
	  For example you want to let the user modify it in the user interface
	  but still keep an unchanged version for later use.
	  API:
	  gst_encoding_profile_copy

2017-01-04 14:56:36 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-allocators-uninstalled.pc.in:
	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	* pkgconfig/meson.build:
	  meson: generate pkg-config -uninstalled pc files
	  Generating those files is useful for users building the GStreamer stack
	  using meson and having to link it to another project which is still
	  using the autotools.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776810

2017-01-04 11:21:51 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix stream_group_free when creating it went bad
	  Avoiding trying to use NULL pointers

2016-12-30 17:55:18 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/playback/gstplaysink.c:
	  playsink: do not link to audio or video filter using padname
	  ... as a sinkpad need not be called "sink", and it is not the case
	  for e.g. timeoverlay (and friends).
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=776623

2017-01-04 13:44:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: fix some property descriptions

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

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstparsebin.c:
	  playback: Fix a small race on decodebin/parsebin shutdown.
	  When shutting down decodebin2 and parsebin, they set their
	  output pads to flushing, and there is a very small window
	  where elements might send a sticky event such as a tag event
	  (which silently fails due to flushing) and then sends a buffer,
	  and the buffer will return GST_FLOW_ERROR because it can't
	  forward sticky events. The element will then send an error
	  message on the bus. This can also happen when elements send EOS
	  just as shutdown is happening. Since we're about to destroy all
	  the elements inside parsebin and decodebin anyway, just discard
	  error messages from them.
	  A nicer but more difficult fix for GStreamer 2.0 is to make
	  all event pushing / handling in core return a GstFlowReturn
	  like buffers do, so we can report a FLUSHING state cleanly.

2017-01-02 12:54:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix queue property types when setting

2015-03-13 18:04:31 +0800  Song Bing <b06498@freescale.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: allow more buffers in output queue for better performance
	  https://bugzilla.gnome.org/show_bug.cgi?id=744191

2017-01-02 17:56:36 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Relocate a NULL check before accessing converter
	  CID 1396745

2015-07-02 07:23:23 +0200  Tobias Mueller <muelli@cryptobitch.de>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix compiler warning
	  Initialize min and max _get_property() to gets rid of these
	  compiler warnings:
	  gstappsrc.c:741:7: error: 'max' may be used uninitialized in this function
	  g_value_set_int64 (value, max);
	  ^
	  gstappsrc.c:733:7: error: 'min' may be used uninitialized in this function
	  g_value_set_int64 (value, min);
	  ^
	  Which happens because gcc doesn't know that GST_IS_APP_SRC will never
	  fail here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752052

2015-11-25 11:30:42 +0000  Stuart Weaver <stuart.weaver@datapath.co.uk>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp-url: unescape special chars in user/pass part of URL
	  This way special characters such as '@' can be used in
	  usernames or passwords, e.g.
	  rtsp://view:%40dm%4An@<IP-ADDR>/media/camera1
	  will now parse username and password into:
	  User: view
	  Pass: @dm:n
	  https://bugzilla.gnome.org/show_bug.cgi?id=758389

2015-11-18 13:59:30 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Add support to dump dot files
	  Dump graphs during error/warning messages and discover is done
	  https://bugzilla.gnome.org/show_bug.cgi?id=758259

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

	* tests/check/libs/tag.c:
	  tests: tag: add unit test for ID3v2 UTF-16 string list parsing
	  https://bugzilla.gnome.org/show_bug.cgi?id=770355

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

	* tests/check/libs/tag.c:
	  tests: tag: add test for ID3v2 extended header parsing
	  https://bugzilla.gnome.org/show_bug.cgi?id=770355

2016-08-24 11:39:39 -0600  Thomas Bluemel <tbluemel@control4.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2: fix splitting strings in ISO-8859-1 and UTF-16 formats
	  When parsing NUL-terminated strings, do not include the terminating
	  NUL byte(s).  Depending on the encoding used, either g_utf8_validate()
	  failed due to this, or worse the call to g_utf16_to_utf8() would
	  return 0 items read on an empty string, causing it to fail parsing
	  certain frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770355

2016-08-24 10:33:14 -0600  Thomas Bluemel <tbluemel@control4.com>

	* gst-libs/gst/tag/id3v2.c:
	  id3v2: fix handling of tags with extended headers
	  The extended header size value does not include itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770355

2016-12-23 18:08:43 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Initialize variables to avoid build failures
	  encoding-profile.c: In function ‘get_profile_format_from_possible_factory_name’:
	  encoding-profile.c:1532:6: error: ‘fact’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  if (fact)
	  ^
	  encoding-profile.c: In function ‘profile_from_string’:
	  encoding-profile.c:1720:6: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  if (profile)
	  ^
	  cc1: all warnings being treated as errors

2016-12-23 14:23:48 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Allow using factory names in serialization format
	  Instead of enforcing the user to know and understand caps to describe
	  the encoding format, let him use element factory names directly.
	  This also makes it possible to ensure that a specific encodore/muxer
	  is used instead of letting the ranking system do it.
	  It is now possible to describe an encoding format simply specifying:
	  matroskamux:x264enc:vobisenc
	  Factor out functions in the parsing, cleaning up the whole thing.
	  Update documentation.

2016-12-21 19:32:41 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Also take into account preset name when comparing profiles

2016-12-21 13:24:37 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-profile: Handle path to serialized target when deserializing a profile
	  The synthax is path/to/encoding/profile.gep:profilename

2016-12-21 12:13:38 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-target.h:
	  encoding-target: Add 'file-extension' as a known category

2016-12-21 11:05:30 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Allow using name and targets from serialized file
	  We used to only care about the name of the files even if the name
	  is defined in the encoding target serialized file.
	  That commit also allows user to define several names for a single
	  target file (using a ';' between the names) which allows us to have
	  a target for youtube that is called 'youtube;yt' or a target for
	  'ogg;ogv;oga' file extension.

2016-12-21 11:01:27 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Auto convert loading target name to lowercase
	  We *only* support lowercase encoding target names so we can just
	  handle user to use uper case ones converting them.

2016-12-21 10:02:31 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils: Add documentation about encoding targets

2016-12-10 11:43:47 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* tests/examples/decodebin_next/playbin-test.c:
	  playbin-test: Don't use removed playbin3 'auto-select-streams' property
	  https://bugzilla.gnome.org/show_bug.cgi?id=775917

2016-09-02 15:23:18 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Fix incorrect start of tick waveform
	  Make sure ticks start with an accumulator value of 0 by incrementing it
	  after filling in samples instead of before and by resetting the accumulator
	  every time a tick begins. This prevents it from being discontinuous at the
	  beginning of the tick.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774050

2016-12-22 18:47:19 +0100  Nicolas Dechesne <nicolas.dechesne@linaro.org>

	* tools/gst-play.c:
	  tools: gst-play: set GST_GL_XINITHREADS
	  This ensure that XInitThreads is called and so gl contexts are properly
	  initialized.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776403

2014-06-26 18:01:06 -0700  Evan Nemerson <evan@nemerson.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* win32/common/libgstaudio.def:
	  audioringbuffer: add set_callback_full() for g-i
	  https://bugzilla.gnome.org/show_bug.cgi?id=678301

2016-12-20 12:33:12 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpclientsrc.h:
	  tcpclientsrc: add timeout property
	  https://bugzilla.gnome.org/show_bug.cgi?id=749567

2016-12-21 00:11:06 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Ignore failure to send sticky events
	  When plugging and then exposing a parser, don't fail
	  if it fails to send sticky events. The most likely
	  reason is that things were flushed due to the app
	  immediately doing a seek, but we can't detect flushing
	  separately to other error conditions without a
	  gst_pad_send_event_full() core function that returns
	  a GstFlowReturn.

2016-12-20 13:00:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Fix up last commit

2015-03-28 18:16:16 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  riff: add ADPCM_G722 support
	  https://bugzilla.gnome.org/show_bug.cgi?id=746574

2016-12-19 15:20:35 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/elements/encodebin.c:
	  tests: Fix build

2016-12-19 15:08:12 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix build initializing sprof

2016-12-16 22:11:41 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebin: Fallback to other profile if we fail with one
	  In some case we might have EncodingProfile that will be defined
	  in a way that, for example if a Preset is not present, another
	  profile for that stream should be used.
	  A test is added showing the feature.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776188

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

	* gst/encoding/gstencodebin.c:
	  encodebin: Enhance error debug when failing to create an encoder

2016-12-18 12:29:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: turn redundant check into an assert
	  We checked this already earlier, so this is dead code.
	  Leave an assert in place for consistency with the other
	  branch and in case the rest of the code changes.
	  CID 1397350.

2016-12-17 21:58:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Get caps from the element's srcpad if possible
	  The caps put into the stream topology by decodebin are the caps at the
	  moment the pads are exposed on it. This is usually before decoders
	  received any buffers.
	  In discoverer we however wait for pre-roll, which ensures that each
	  decoder handled buffers already. At this point, there might be more
	  information known about the caps already that we could make use of.
	  One example here is extra information stored in the SEI of H264, like
	  the multiview-mode. This will be known if there is a SEI before the
	  first keyframe, but decodebin won't put this into the topology as it
	  only waits for the initial caps of h264parse (which come directly after
	  SPS/PPS).
	  With this change, the multiview-mode is in the caps reported by
	  discoverer in many cases.

2016-12-17 21:35:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Put the correct element srcpad into the topology for the very last element of a chain
	  We were putting the decode pad there, which is the ghostpad linked to
	  the last element. The decode pad is already in the pad field.

2016-12-17 21:34:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Put the correct pad into the stream-topology if a parser/converter is used
	  We have to take the capsfilter into account then as the elements are not
	  linked directly. Previously this caused NULL be set in these cases.

2016-12-16 17:39:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-plugins-base.spec.in:
	  Actually delete .spec.in file as well
	  Only removed it from build description.

2016-12-16 11:11:57 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	* gst/typefind/gsttypefindfunctions.c:
	  encoding-profile: Fix documentation and port to gtk markdown
	  And remove some trailling whitepsaces

2016-12-16 09:59:25 -0300  Thibault Saunier <tsaunier@gnome.org>

	* docs/libs/meson.build:
	* docs/meson.build:
	* meson.build:
	* meson_options.txt:
	  meson:doc: Build libraries documentations

2016-12-16 09:58:15 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  base: Actually support using the default encoding target

2016-12-15 16:12:02 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Remove useless check for local presence

2016-12-15 16:10:55 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: Add safe guard too encoding profile API

2016-12-15 10:57:14 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	  audio: Fix introspection annotation
	  In gst_audio_check_valid_channel_positions the mask
	  is an out parameter.
	  And minor conversion from a print to a GST_ERROR.

2016-12-14 18:06:09 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Handle GST_ENCODING_TARGET_PATH in list_all
	  And fix the compare_target function

2016-12-15 16:29:02 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: For adaptive streaming, ensure to put the buffering multiqueue after a parser or demuxer
	  There are cases when there is no demuxer involved that could do the
	  buffering, e.g. HLS with raw MP3 or AAC. In this case we want to place
	  the buffering multiqueue after the parser.
	  Before this change, we've considered the first element after the
	  adaptive streaming demuxer as a parser. This is not always true, e.g.
	  id3demux. Instead we now wait until we actually have a parser (or
	  decoder).
	  Fixes playback on such HLS streams.

2016-12-14 09:48:02 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* tests/check/libs/rtsp.c:
	* win32/common/libgstrtsp.def:
	  rtsp: add boxed types for new authentication credential API
	  To make the structs usable in bindings, and fix
	  gstrtspmessage.c:1188: Warning: GstRtsp:
	  gst_rtsp_message_parse_auth_credentials: return value: Invalid
	  non-constant return of bare structure or union; register as
	  boxed type or (skip)
	  https://bugzilla.gnome.org/show_bug.cgi?id=774416

2016-12-13 22:26:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	* tests/check/elements/videotestsrc.c:
	  gst: Don't declare variables inside the for loop header
	  This is a C99 feature.

2016-12-13 09:44:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: do not require 4 byte multiple for encoded MPEG
	  Bytes per frame doesn't make sense for encoded audio.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776038

2016-12-12 14:50:11 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstrawcaps.h:
	  playback: Add ANY caps features to default text raw caps
	  Raw text caps with any caps features should be also default raw caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=775967

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

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

2016-12-09 17:36:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: Don't leak the namespace string if there are multiple
	  https://bugzilla.gnome.org/show_bug.cgi?id=775887

2016-12-09 17:59:09 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/tag/id3v2.c:
	  id3v2: Clarify id3v2_add_id3v2_frame_blob_to_taglist()
	  Pass the frame data and size explicitly to
	  id3v2_add_id3v2_frame_blob_to_taglist() and add a
	  comment that it's being deliberately / manually
	  passed the full ID3v2 frame including header.

2016-12-09 17:57:52 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/tag/id3v2.c:
	  id3v2: Add missing overrun check for frame sizes
	  When frames claim to have a footer, ensure they
	  are large enough to contain one to avoid an invalid
	  read overrun.
	  Spotted by Joshua Yabut

2016-11-22 23:08:09 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstogmparse.c:
	  ogg: Fix element factory klass for OGM parsers
	  They're parsers, not decoders, so fix the klass info
	  accordingly.

2016-12-08 23:01:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* configure.ac:
	* docs/Makefile.am:
	* docs/design/Makefile.am:
	* docs/design/draft-hw-acceleration.txt:
	* docs/design/draft-va.txt:
	  docs: design: remove outdated draft docs (hw-acceleration, va)

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

	* docs/design/Makefile.am:
	* docs/design/design-audiosinks.txt:
	* docs/design/design-decodebin.txt:
	* docs/design/design-encoding.txt:
	* docs/design/design-orc-integration.txt:
	* docs/design/draft-keyframe-force.txt:
	* docs/design/draft-subtitle-overlays.txt:
	* docs/design/part-interlaced-video.txt:
	* docs/design/part-mediatype-audio-raw.txt:
	* docs/design/part-mediatype-text-raw.txt:
	* docs/design/part-mediatype-video-raw.txt:
	* docs/design/part-playbin.txt:
	* docs/design/part-stereo-multiview-video.markdown:
	  docs: design: move most design docs to gst-docs module

2016-12-03 23:01:53 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove unused variable
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 22:46:20 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: More cleanup DecodebinOutputStream and MultiQueueSlot
	  When removing DecodebinInputStream, cleanup DecodebinOutputStream and
	  MultiQueueSlot also if they were drained.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 22:37:55 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Drop duration query during _input_pad_unlink ()
	  Playbin3 takes lock when querying duration and handling
	  stream-collection message. So,to post stream-collection message,
	  duration query should be dropped when input pad is being unlinked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 22:12:21 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Update stream-collection with _input_pad_unlink()
	  Since parsebin does not post new stream-collection message when
	  it was being removed, decodebin3 should update it itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 22:28:28 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Cleanup no more used DecodebinInput
	  Remove DecodebinInput using gst_element_call_async() API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 21:50:47 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Cleanup no more used MultiQueueSlot
	  Since MultiQueueSlot cannot be removed inside of streaming thread,
	  use gst_element_call_async() API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 21:42:30 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Send custom-eos event to notify drained state
	  Likewise how urisourcebin is doing, use custom event if other streams
	  are still alive.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-03 20:44:21 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Reconfigure playsink again with pad-removed
	  If selected streams and actived streams are matched,
	  do reconfigure of playsink again with pad-removed signal
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-10-25 21:06:40 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstplaybin3.c:
	  playback: Remove trailing whitespace
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-10-23 22:10:39 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Try to link output slot before cleanup
	  Before cleaning up output slot, check pending pads first, if available.
	  Then, cleanup it only if linking was failed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-10-22 18:53:17 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Cleanup unused output slot
	  Since urisourcebin cannot cleanup unused output slot
	  in streaming thread, it will be handled in thread pool
	  with gst_element_call_async ().
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-12-06 16:29:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Fix crash when shutting down element during getrange()
	  Ensure that nothing is in any of the streaming thread functions
	  anymore when going from PAUSED to READY. While the parent's state change
	  function has deactivated all pads, there is nothing preventing
	  downstream from activating our srcpad again and calling the getrange()
	  function. Although we're in READY!
	  https://bugzilla.gnome.org/show_bug.cgi?id=775687

2016-12-05 18:17:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: fix typos in property description

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

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

2016-12-02 15:12:12 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add another test to itc typefinder
	  Report certainty after every test passes.
	  Additionally:
	  - Remove self-explanatory comment.

2016-12-01 19:57:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstssaparse.c:
	  ssaparse: Free initialization section before storing the next one
	  If getting multiple caps events.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775480

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't end up ignoring caps just because there are no headers for this stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=775459

2016-11-30 10:55:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Error out if mapping input/output buffer failed

2016-11-30 10:48:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Don't map the input buffer in in-place mode
	  Input and output buffer are the same, let's not do unnecessary work.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775369

2016-11-30 10:43:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: In passthrough, also don't copy if in and out block are the same
	  In and out array are usually different, they are stack allocated arrays.
	  However the blocks inside them still can be the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775369

2016-11-30 10:36:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Don't call transform_ip() in passthrough mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=775369

2016-11-29 15:30:43 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Fix buffers-queued being off by one
	  max_buffer_usage is the index of the oldest buffer in the queue,
	  starting at zero, not the number of buffers queued.
	  find_limits returns the index of the oldest buffer that satisfies the
	  limits in its min_idx parameter, not the number of buffers needed. Fix
	  this use too in order to keep passing the tests that read
	  buffers-queued.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775351

2016-11-29 16:26:22 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* tests/check/elements/multifdsink.c:
	  multifdsink: Add a test involving a slow client
	  https://bugzilla.gnome.org/show_bug.cgi?id=774908

2016-11-23 14:35:04 +0100  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Update bufpos in a separate pass
	  If a client gets dropped and the iteration gets restarted, bufpos is
	  incremented again for all clients that preceded the dropped one, causing
	  havoc.
	  Adjust the bufpos for all clients first before trying to drop any.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774908

2016-11-29 16:37:50 +0530  Garima Gaur <garima.g@samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix caps memory leak in usage of gst_static_caps_get() API
	  https://bugzilla.gnome.org/show_bug.cgi?id=775310

2016-11-28 20:25:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstaudio.def:
	  win32: update .def file for new audioconverter API
	  Fixes distcheck.

2016-11-28 18:28:24 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	  meson: Add headers and libm to has_function checks
	  The functions from math.h may be implemented in libm.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774876

2016-11-28 19:45:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Handle NULL/ANY/EMPTY caps without crashing

2016-11-28 16:54:55 +0100  Edward Hervey <bilboed@bilboed.com>

	* tests/check/elements/videorate.c:
	  check/videorate: Avoid leaking extra buffers

2016-11-28 16:53:10 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: Properly initialize/set extra fields
	  The flags and field order weren't properly initialized in the
	  gst_video_info_init().
	  Furthermore in gst_video_info_from_caps() we might set unitiliazed
	  values previously, this only sets them if valid.

2016-11-28 16:51:43 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Fix attribute leak
	  We need to free the strdup'd string (to_free) in all cases

2016-11-28 16:51:23 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: Don't leak authorization string

2016-10-19 12:21:37 +0200  Petr Kulhavy <brain@jikos.cz>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-converter: optimize endian conversion
	  Optimize LE<->BE conversion by adding a dedicated fast path instead of
	  using the generic converter. Implement transform_ip function in order to do the
	  endian swap in place.
	  This saves buffer allocation for the intermediate format, can be done in place
	  and also performs the conversion in one step instead of unpack-convert-pack.
	  For all bit widths the naive algorithm is implemented, which provides the best
	  performance when compiled with -O3. ORC was considered but eventually removed
	  as it requires a dedicated function for in-place conversion (due to the
	  "restrict" parameters).
	  A more complex algorithm for the 24-bit conversion with unrolled loop and
	  32-bit processing is implemented in the #if 0 section. It performs better if
	  compiled with -O2. With -O3 however the naive algorithm performs better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773073

2016-10-21 14:30:31 +0200  Petr Kulhavy <brain@jikos.cz>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-convert: simplify the chain free process
	  It is not needed to store a pointer to every single chain element to free it.
	  Instead walk the channel list backwards and free the chain elements one by one.
	  Rename GstAudioConverter->chain_pack to chain_end.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773073

2016-11-28 14:25:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawaudioparse.c:
	* gst/rawparse/gstrawaudioparse.h:
	* gst/rawparse/gstrawbaseparse.c:
	* gst/rawparse/gstrawbaseparse.h:
	* gst/rawparse/gstrawvideoparse.c:
	* gst/rawparse/gstrawvideoparse.h:
	* gst/rawparse/gstunalignedaudioparse.c:
	* gst/rawparse/gstunalignedvideoparse.c:
	  rawparse: Whitespace cleanup

2016-11-28 17:12:26 +0530  Garima Gaur <garima.g@samsung.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Fix caps memory leak when failing to get sinkpad from subtitle renderer
	  https://bugzilla.gnome.org/show_bug.cgi?id=775224

2016-11-28 10:12:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Extract video information from caps manually without GstVideoInfo
	  The caps might not be fixated (which is required by GstVideoInfo) and we
	  would assert otherwise. However the caps often contain useful
	  information in the already-fixed parts that we can use here.

2016-11-28 10:04:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Also stop waiting for subtitles if we get EOS
	  We're not going to get a buffer or GAP event anymore after EOS and would
	  wait forever otherwise.

2016-11-27 12:40:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawbaseparse.c:
	  rawbaseparse: Fix output buffer size trimming
	  For frame->buffer, baseparse is doing that automatically for us. For
	  frame->output_buffer it doesn't and assumes that the subclass is already
	  doing that. Consistency!

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

	* gst/rawparse/gstrawaudioparse.c:
	* gst/rawparse/gstrawbaseparse.c:
	* gst/rawparse/gstrawbaseparse.h:
	* gst/rawparse/gstrawvideoparse.c:
	  rawparse: Properly align raw audio/video output buffers
	  That is, aligned to the basic type for audio and to 32 bytes for video.
	  Fixes crashes if the raw buffers are passed to SIMD processing functions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774428

2016-11-26 13:53:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Check if caps are NULL before using them for the first time, not afterwards
	  Otherwise we'll get a g_critical() before erroring out cleanly on
	  https://samples.mplayerhq.hu/A-codecs/ATRAC3/SND0.AT3

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 10:48:06 +0100  Miguel Paris <mparisparis@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Fix ensure_buffers() if whole packet is in one GstMemory
	  When gst_rtp_buffer_add_extension_onebyte_header() is used over a
	  GstRtpBuffer that only contains a memory for the whole packet,
	  ensure_buffers function crashes at the next point:
	  mem = gst_memory_copy (rtp->map[i].memory, offset, rtp->size[i]);
	  when i==2 because the payload is not mapped.
	  In addition the offset is calculated subtracting in the wrong direction.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774959

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

	* gst-libs/gst/video/video-info.c:
	* tests/check/libs/video.c:
	  video-info: Add unit test for overflow checks
	  And also prevent overflows caused by allowing uint width/height in
	  gst_video_info_set_format() but storing them as (signed!) ints.

2016-11-24 15:12:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: And change the overflow check to not actually overflow itself

2016-11-23 20:10:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  video: Handle errors in gst_video_info_set_format() / gst_video_info_align()
	  https://bugzilla.gnome.org/show_bug.cgi?id=774588

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

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video-info: Sanity check the frame size to prevent overflows
	  https://bugzilla.gnome.org/show_bug.cgi?id=774588

2016-11-23 13:48:06 +0100  Ulf Olsson <ulfo@axis.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Generate the correct SRTP policy
	  https://bugzilla.gnome.org/show_bug.cgi?id=774911

2016-11-23 18:26:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  rtspdefs: Assert on the excepted MD5 digest string length
	  CID 1394494.

2016-11-23 21:27:55 +1100  Matthew Waters <matthew@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: bounds check windows ico detection
	  Fixes out of bounds read
	  https://bugzilla.gnome.org/show_bug.cgi?id=774902

2016-11-22 21:12:23 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/tag/mklicensestables.c:
	  tag: fix some warnings in mklicensestables
	  https://bugzilla.gnome.org/show_bug.cgi?id=774878

2016-10-07 15:08:37 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  gstfdmemory: log with GST_INFO instead of GST_ERROR on permission denied
	  For example mmap can fail with EACCES if the the fd has been open
	  with read only mode. And mapping the memory might be the only way
	  to check that. So no need to print out an error.
	  Ex: ioctl(dev, DRM_IOCTL_PRIME_HANDLE_TO_FD, flags & ~DRM_RDWR)
	  https://bugzilla.gnome.org/show_bug.cgi?id=765600

2016-10-18 16:18:19 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add typefinder for Apple/iTunes itc artwork files
	  Avoids audio/mpeg false-positive described at:
	  https://bugzilla.gnome.org/show_bug.cgi?id=773172

2016-11-18 16:51:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* tests/check/libs/rtsp.c:
	* win32/common/libgstrtsp.def:
	  rtsp: Add gst_rtsp_message_parse_auth_credentials() to parse authentication credentials
	  https://bugzilla.gnome.org/show_bug.cgi?id=774416

2016-11-18 13:20:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* win32/common/libgstrtsp.def:
	  rtsp: Add gst_rtsp_generate_digest_auth_response() to calculate digest auth response
	  https://bugzilla.gnome.org/show_bug.cgi?id=774416

2016-11-20 15:43:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	* Makefile.am:
	* configure.ac:
	* win32/MANIFEST:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/gstrtsp-enumtypes.h:
	* win32/common/multichannel-enumtypes.c:
	* win32/common/multichannel-enumtypes.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/pbutils-enumtypes.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  win32: remove copies of generated headers

2016-11-18 14:51:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.h:
	  dmabuf-allocator: Add missing padding in the class
	  This class was made subclassable, though for future growth of the code,
	  it's better if we have some room for add class members. Using the small
	  padding since this is unlikely.

2016-11-17 20:18:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Mark pad as needing reconfiguration again if it failed
	  And return FLUSHING instead of NOT_NEGOTIATED on flushing pads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774623

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

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Ensure to set the RECONFIGURE flag again if reconfiguration failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=774623

2016-11-17 16:45:32 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	  meson: add_global_arguments -> add_project_arguments
	  https://bugzilla.gnome.org/show_bug.cgi?id=774656

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

	* tests/check/libs/videotimecode.c:
	  videotimecode: Add test for the calculations of distance from the daily jam
	  https://bugzilla.gnome.org/show_bug.cgi?id=774585

2016-11-16 19:13:14 +0200  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Fix incorrect nsec_since_daily_jam calculation
	  For drop-frame timecodes, the nsec_since_daily_jam doesn't necessarily
	  directly correspond to this many hours/minutes/seconds/frames. We have
	  to get the frame count as per frames_since_daily_jam and then convert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774585

2016-11-16 20:48:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Extract bpp from the strf for vnmc
	  Needed for avdec_vnmc to work.

2016-11-17 00:40:43 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: warn if a custom sink is set that has no 'sink' pad

2016-11-15 09:32:24 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder, audiodecoder: parse format before checking in src_query_default
	  The logic change in these commits misordered the parsing and checking of
	  format in position queries:
	  2b06e54 videodecoder: Don't answer BYTES queries
	  1840b02 audio: Don't answer BYTES queries
	  https://bugzilla.gnome.org/show_bug.cgi?id=774484

2016-11-15 18:32:50 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: fix g-i warnings and add since markers
	  Rename function parameter and make sure the name in the
	  declaration matches the name in the implementation, to
	  avoid g-i warnings. Also add Since markers for gtk-doc.
	  gstappsink.c:1248: Warning: GstApp: gst_app_sink_set_buffer_list_support:
	  unknown parameter 'buffer_list' in documentation comment, should be 'drop'

2016-11-15 15:12:12 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Do not try to unref the bus if it has not been set yet
	  It might happen if creation of the discoverer failed

2016-07-04 09:32:28 +0200  Patricia Muscalu <patricia@axis.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* tests/check/elements/appsink.c:
	* win32/common/libgstapp.def:
	  appsink: add support for buffer lists
	  https://bugzilla.gnome.org/show_bug.cgi?id=752363

2016-11-15 15:23:20 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: remove dead code
	  It never reach into this code path, custom_combiner always not null
	  here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774454

2016-11-15 23:36:41 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't answer BYTES queries
	  Refuse to answer BYTES queries ourselves. The only
	  time they make sense is on raw elementary streams,
	  in which case upstream would already have answered.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757631

2016-11-15 23:27:17 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Don't answer BYTES queries
	  Refuse to answer BYTES queries ourselves. The only
	  time they make sense is on raw elementary streams,
	  in which case upstream would already have answered.
	  They especially don't make sense for encoders to answer
	  based on upstream values - although perhaps later
	  we could make it do TIME->BYTES conversion on the source
	  pad based on bitrate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757631

2016-11-14 16:55:36 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: cast away const in call to g_free
	  MSVC warns about the const here. It's safe to cast away.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774293

2016-11-14 16:48:16 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  Cast away const from GstMetaInfo in *_get_meta_info() functions
	  MSVC warns about the const in the implicit argument conversion in the
	  calls to g_once_init_{enter,leave}. It's OK so explicitly cast it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774293

2016-11-13 13:15:38 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Clear saw_eos flag of DecodebinInputStream by FLUSH event
	  Likewise how GstPad is doing, saw_eos flag of DecodebinInputStream
	  must be cleared by FLUSH event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774343

2016-10-17 15:38:37 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Fix deadlock when adding multiple parsebin
	  https://bugzilla.gnome.org/show_bug.cgi?id=773131

2016-11-14 11:39:33 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* ext/vorbis/meson.build:
	  meson: vorbis: Add -DTREMOR to flags for gstivorbisdec
	  Matching the flags set by Makefile.am
	  https://bugzilla.gnome.org/show_bug.cgi?id=774445

2016-11-14 16:28:42 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/video/meson.build:
	* gst/adder/meson.build:
	* gst/videotestsrc/meson.build:
	* gst/volume/meson.build:
	  meson: Fix build when orc is disabled
	  Making sure not to use the orc_dep variable in case
	  orc has been explicitely disabled.

2016-11-11 10:38:58 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/video/video-info.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaybin3.c:
	  Use intermediate guint when handling GstVideoMultiviewFlags
	  The underlying integer type of the enum GstVideoMultiviewFlags is
	  implementation defined and may not have the same size as guint.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774293

2016-11-11 10:35:00 -0800  Scott D Phillips <scott.d.phillips@intel.com>

	* ext/ogg/gstoggstream.c:
	* gst-libs/gst/video/gstvideotimecode.c:
	  Remove 'return' from `void` functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=774293

2016-10-26 22:37:19 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* meson.build:
	  meson: don't add_global_arguments when being built as a subproject
	  https://bugzilla.gnome.org/show_bug.cgi?id=773568

2016-11-10 17:05:19 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/meson.build:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/meson.build:
	  rtsp: Include GstSdp-1.0.gir when generating the gir
	  It is actually needed as we need some symbols. We do not link
	  to libgstsdp as the user of the lib should do it (same with
	  autotools build).
	  This reverts previous commit

2016-11-10 16:36:49 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/rtsp/Makefile.am:
	  libs:rtsp: Remove wrong dependency on Sdp for the gir file

2016-11-10 16:36:49 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/meson.build:
	  libs:rtsp: Remove wrong dependency on Sdp for the gir file

2016-10-20 17:17:27 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/allocators/meson.build:
	* gst-libs/gst/app/meson.build:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/fft/meson.build:
	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/riff/meson.build:
	* gst-libs/gst/rtp/meson.build:
	* gst-libs/gst/rtsp/meson.build:
	* gst-libs/gst/sdp/meson.build:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/video/meson.build:
	* meson.build:
	* meson_options.txt:
	  meson: Generate girs
	  https://bugzilla.gnome.org/show_bug.cgi?id=773944

2016-11-07 12:01:16 +0100  Petr Kulhavy <brain@jikos.cz>

	* gst-libs/gst/audio/audio-channels.c:
	  audio-channels: map buffer read-write only if channels differ
	  gst_audio_buffer_reorder_channels() was always mapping the buffer read-write
	  regardless whether any reordering was needed.  If the from and to channel order
	  is identical return immediately without remapping the buffer.
	  Add a small helper function gst_audio_channel_positions_equal() which is used
	  in both gst_audio_reorder_channels() and gst_audio_buffer_reorder_channels().
	  https://bugzilla.gnome.org/show_bug.cgi?id=773833

2013-09-17 17:42:05 +0200  Joris Valette <joris.valette@gmail.com>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	* tests/check/elements/videorate.c:
	  videorate: Add fixed rate property
	  https://bugzilla.gnome.org/show_bug.cgi?id=699077

2016-11-04 16:41:05 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix 120 ms buffers being wrongly emitted
	  Using the max 120 ms buffer size to ensure we have enough space
	  for decoded data meant that Opus could actually return 120 ms'
	  worth of data.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771723

2016-11-04 18:55:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: Update exports for new API

2016-10-14 15:14:14 +0100  Julien Isorce <j.isorce@samsung.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  video: add gst_video_decoder_allocate_output_frame_with_params
	  It adds a third argument to pass GstBufferPoolAcquireParams
	  to gst_buffer_pool_acquire_buffer.
	  If a user subclasses GstBufferPoolAcquireParams, this allows to
	  pass an updated param to the underlying buffer pool at each
	  gst_video_decoder_allocate_output_frame_with_params call.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773165

2016-11-04 16:25:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-info.h:
	  video-info: Fix the docs to say interlace-mode, not interlaced-mode

2016-11-03 21:34:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstallocators.def:
	  win32: add new API to .def file
	  Fixes make check and make distcheck

2015-12-11 17:05:14 +0000  Julien Isorce <j.isorce@samsung.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  allocators: define GST_CAPS_FEATURE_MEMORY_DMABUF
	  Adds "memory:DMABuf" caps feature. Since 1.11 tag.
	  Useful when the the dma-buf buffer cannot be mapped to CPU for r/w requests.
	  Example: protected content or platform constraints.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759358

2016-10-24 11:00:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  dmabuf: Make the allocator sub-classable
	  This should allos for cleaner code when implement such allocator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768794

2014-11-27 13:52:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: Leave read loop if no longer running
	  In the case a src stops providing data (read calls returns 0). The audio
	  src thread will never leave. Instead, check the condition and leave the
	  loop.

2016-11-03 17:18:05 +0100  Edward Hervey <edward@centricular.com>

	* tests/check/elements/videoscale.c:
	  check: Fix corrupted xml check files
	  By making sure each different videoscale check instance gets logged
	  into different output file

2016-11-02 11:04:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update orc generated files

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

	* gst/meson.build:
	* gst/pbtypes/meson.build:
	  meson: Add pbtypes plugin

2016-11-02 09:36:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/rawvideoparse.c:
	  Revert "tests: rawvideoparse: add test for flow error handling"
	  This reverts commit 280b4ac2ffc63908a74944f50589b2630be16232.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773666

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

	* configure.ac:
	* gst/Makefile.am:
	* gst/pbtypes/Makefile.am:
	* gst/pbtypes/gstpbtypes.c:
	  pbtypes: Add a stub plugin that owns the plugins-base dynamic types
	  https://bugzilla.gnome.org/show_bug.cgi?id=750079

2016-10-07 16:20:24 +0900  Changbok Chea <changbok.chea@gmail.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix adaptive demuxer's property checking and buffering setting
	  - Add adaptive demuxer's 'connection-speed' property checking
	  - Set adaptive demuxer q2 buffering property via urisrc use_buffering value
	  https://bugzilla.gnome.org/show_bug.cgi?id=772550

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

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  Revert "video-color: Allow converting incomplete colorimetry to a string"
	  This reverts commit 158eae7e7e3da3545712dd7d6121492c53085fd9.
	  It already *always* allowed to convert incomplete colorimetry to a
	  string.

2016-05-02 09:48:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Reject non-TIME segments
	  https://bugzilla.gnome.org/show_bug.cgi?id=765796

2016-11-01 21:09:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  Revert "basertpdepayload: create valid segment when given non-time segment"
	  This reverts commit 0f609bc6c67fea294f4556627228fed72a74d0fb.

2016-09-30 15:03:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  video-color: Allow converting incomplete colorimetry to a string
	  This is only a good idea for non-raw caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-09-29 14:57:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Proxy colorimetry and chroma-site from input to output caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-09-29 14:48:29 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Proxy field order to the output caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-09-29 14:48:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Proxy interlace-mode and field-order fields from the input to the output caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-09-29 14:36:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/videoorientation.c:
	* win32/common/libgstvideo.def:
	  video-info: Add optional field-order caps field for interlaced-mode=interleaved
	  Usually this information is static for the whole stream, and various
	  container formats store this information inside the headers for the
	  whole stream.
	  Having it inside the caps for these cases simplifies code and makes it
	  possible to express these requirements more explicitly with the caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-10-29 11:33:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/rawvideoparse.c:
	  tests: rawvideoparse: add test for flow error handling
	  Also needs fixes in baseparse:
	  https://bugzilla.gnome.org/show_bug.cgi?id=773666

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

	* meson.build:
	  meson: update version

2016-10-22 11:08:18 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Remove trailing whitespace
	  https://bugzilla.gnome.org/show_bug.cgi?id=773341

2016-10-14 15:18:28 +0200  Stian Selnes <stian@pexip.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* tests/check/elements/videotestsrc.c:
	  videotestsrc: Make snow deterministic
	  Deterministic generation of snow and smpte is important for tests so
	  that it's not affected by other videotestsrc elements in current or
	  possibly previous tests.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773102

2016-10-14 22:31:41 +0200  Petr Kulhavy <brain@jikos.cz>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: optimize mask calculation
	  find_suitable_mask() had complexity O(n^2) on the number of bits.
	  For common case like 2-channel audio the mask was calculated in about 4k loop
	  cycles.
	  Optimize both n_bits_set() and find_suitable_mask() to O(n) where n is the
	  number of bits set in the mask.
	  https://bugzilla.gnome.org/show_bug.cgi?id=772864

2016-10-13 10:12:10 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Rename variables include 'decode' to 'parse'
	  https://bugzilla.gnome.org/show_bug.cgi?id=772832

2016-10-31 16:33:41 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Fix GST_TYPE_URI_SOURCE_BIN macro typo
	  https://bugzilla.gnome.org/show_bug.cgi?id=772445

2016-10-03 17:12:29 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: fix to log event pointer
	  https://bugzilla.gnome.org/show_bug.cgi?id=772445

2016-09-28 16:13:46 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Make use of adaptive demuxer variable
	  https://bugzilla.gnome.org/show_bug.cgi?id=772445

2016-10-06 11:44:11 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: interpret zero duration as unknown
	  This fixes missing audio when we get buffers with zero
	  duration, denoting unknown duration. When several such
	  buffers are received in a row, they're all at the same
	  timestamp, with zero duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771723

2016-09-26 10:50:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix "buffer too small" error
	  Always supply a buffer with max size to the decoder, as we
	  can't really decide how many samples will be in the lost packet
	  based on the timestamps we get.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771723

2016-10-28 08:47:40 +0200  Tomasz Zajac <tomasz.zajac@motorolasolutions.com>

	* tests/check/libs/sdp.c:
	  sdp: Add tests for rtcp-fb parsing
	  https://bugzilla.gnome.org/show_bug.cgi?id=769698

2016-10-28 08:47:01 +0200  Tomasz Zajac <tomasz.zajac@motorolasolutions.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Parse rtcp-fb media attributes
	  https://bugzilla.gnome.org/show_bug.cgi?id=769698

2016-08-10 11:38:58 +0200  Tomasz Zajac <tomasz.zajac@motorolasolutions.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Add rtcp-fb media attributes based on caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=769698

2016-09-07 15:01:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-orc.orc:
	* tests/check/libs/video.c:
	  video: Add VYUY pixel format
	  This format is sometimes the output of JPEG decoders. It is the same as
	  YUY2 and UYVY but with a different component order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767450

2015-10-15 12:52:27 +0200  Marcin Kolny <marcin.kolny@gmail.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	  audioclock: use GstAudioClock* as first argument in GstAudioClock methods
	  All the GstAudioClock method declarations required object of GstClock type
	  as a first argument, but in fact, required GstAudioClock object (runtime
	  check in function body). Instead of checking type in run-time, we can
	  change functions declaration, to accept only GstAudioClock methods. Then,
	  runtime check is not necessary anymore, since always GstAudioClock object
	  is passed to a function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756628

=== 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 17:53:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.10.0

2016-11-01 17:43:45 +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/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-10-29 11:31:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/rawparse/gstrawbaseparse.c:
	  rawparse: pass flow returns upstream
	  rawvideoparse wouldn't error out on not-negotiated,
	  but would just keep on going, because it didn't pass
	  the flow return value back to the parent class and
	  thus upstream, so the source wouldnt' stop streaming.

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

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

2016-10-24 19:13:22 +0000  Graham Leggett <minfrin@sharp.fm>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Fix assertion failure when unreffing NULL stream caps
	  GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=773441

2016-10-25 11:46:38 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

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

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

	* tests/check/meson.build:
	  meson: fix build outside of gst-all
	  Unknown variable "apiversion".

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

	* meson.build:
	* tests/check/meson.build:
	  meson: move gstreamer-check-1.0 dependency to tests/check

2016-10-20 17:17:54 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/audio/meson.build:
	* meson.build:
	  Revert "meson: Use the new `pic` argument on static libs"
	  This reverts commit e3c22605ae96ee1747020c4f367d49faf6916e14.
	  pic was added after 0.35 and will be present in 0.36 (meson documentation
	  was wrong).

2016-10-20 15:48:34 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/audio/meson.build:
	* meson.build:
	  meson: Use the new `pic` argument on static libs
	  We depend on 0.35 already

2016-10-14 14:23:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio.c:
	  audio: don't deref NULL
	  gst_buffer_copy_region() can return NULL when the buffer meta-data is invalid.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=772200

2015-12-04 00:47:38 +1100  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Error-handling for pushing headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=773105

2016-10-13 12:41:29 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* tests/check/libs/videodecoder.c:
	  videodecoder: Default caps sets format I420
	  Also the format must be fixed on the default raw caps. If not
	  gst_video_info_from_caps() will fail and
	  gst_video_decoder_negotiate_default_caps() return FALSE.
	  The test simulates the use case where a gap event is received before
	  the first buffer causing the decoder to fall back to the default caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=773103

2016-05-06 16:30:57 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Plug buffer-leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=773107

2016-10-17 09:46:56 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio.c:
	  audio: fix doc string again.
	  There was a second '*' at the start of the line. Reword + reformat to make it
	  obvious.

2016-10-15 22:50:23 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/libs/audio.c:
	  tests: add another check for buffer clipping and improve tests
	  Add a test that check that we handle time ranges (a range of time that maps to
	  the same sample).
	  Also update the other tests to use our check api to compare int64 values to get
	  better output on failure.

2016-10-15 21:54:40 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/libs/audio.c:
	  tests: clipping in TIME does not use the offset
	  Simplify the test and test only what need to be tested.

2016-10-15 21:30:22 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/libs/audio.c:
	  tests: cleanup libs/audio test
	  Split large tests into small tests and name them specifically. Use helpers to
	  avoid repetition. Make sure the order in the file is the same as we add the to
	  the suite.

2016-10-15 22:02:48 +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-15 21:46:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/meson.build:
	  meson: Add missing audio-enumtypes.h dep in audio-resampler static libs
	  Seen on the Jenkins CI:
	  FAILED: subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o
	  ccache cc  '-Isubprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta' '-fdiagnostics-color=always' '-I../subprojects/gst-plugins-base/gst-libs/gst/audio' '-Isubprojects/gst-plugins-base/gst-libs/gst/audio' '-Isubprojects/gst-plugins-base/.' '-I../subprojects/gst-plugins-base/.' '-Isubprojects/gst-plugins-base/gst-libs' '-I../subprojects/gst-plugins-base/gst-libs' '-Isubprojects/gstreamer/libs' '-I../subprojects/gstreamer/libs' '-Isubprojects/gstreamer/.' '-I../subprojects/gstreamer/.' '-pipe' '-Wall' '-Winvalid-pch' '-DHAVE_CONFIG_H' '-msse4.1' '-fPIC' '-O0' '-g' '-fPIC' '-I/usr/include/glib-2.0' '-I/usr/lib/glib-2.0/include' '-pthread' '-Isubprojects/gstreamer/gst' '-MMD' '-MQ' 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o' '-MF' 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o.d' -o 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o' -c ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.c
	  In file included from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler.h:24:0,
	  from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-private.h:23,
	  from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-macros.h:25,
	  from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.h:23,
	  from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.c:24:
	  ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio.h:26:39: fatal error: gst/audio/audio-enumtypes.h: No such file or directory
	  #include <gst/audio/audio-enumtypes.h>
	  ^
	  compilation terminated.

2016-10-04 17:44:51 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/tag/meson.build:
	* 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.
	  Remove now unneeded getpluginsdir and define c++ tests in the same loop.
	  Bump meson requirement to 0.35

2016-10-14 14:21:28 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio.c:
	  audio: fix typo in doc string

2016-10-13 20:10:09 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: More SELECTION_LOCK when linking to slot
	  Since there can be multiple parsebin in a decodebin3,
	  linking parsebin with MultiQueueSlot should be protected also.
	  https://bugzilla.gnome.org/show_bug.cgi?id=772855

2016-10-13 11:42:28 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstplaybin3.c:
	  playback: GstStreamType is a flag
	  Therefor don't use equality

2016-10-11 12:36:00 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  playback: decodebin3 and parsebin are streams-aware
	  Elements within can add/remove pads at anytime without complying
	  with the fallback system.
	  https://bugzilla.gnome.org/show_bug.cgi?id=772741

2016-10-10 17:08:11 +0900  Wonchul Lee <chul0812@gmail.com>

	* gst/playback/gstparsebin.c:
	  parsebin: re-use existing compare_factories utils func
	  https://bugzilla.gnome.org/show_bug.cgi?id=772676

2016-10-07 12:49:18 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: correct codebooks packet identifier from 3 to 5
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-10-06 16:16:30 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* tests/check/elements/opus.c:
	  opusdec: Fix memory leak in test code
	  gst_caps_to_string function returned allocated memory.
	  So, It should be free using g_free function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=772500

2016-10-06 16:24:05 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* tests/check/elements/videorate.c:
	  videorate: Fix memory leakage in test code
	  gst_caps_to_string function returned allocated memory.
	  So, It should be free using g_free function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=772501

2016-09-27 09:24:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: remove segment stop modification on eos
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-09-26 16:31:06 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: take audio clip meta into account for buffer duration
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-09-26 16:25:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisenc: strip after-eos samples from the end of the eos buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-09-30 14:54:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video-color: Mark some function arguments as const
	  https://bugzilla.gnome.org/show_bug.cgi?id=771376

2016-10-03 08:56:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: require orc 0.4.24 here too
	  Needed for some video stuff. Same requirement as in
	  the autotools build.

2016-10-03 10:59:37 +0530  Arun Raghavan <arun@osg.samsung.com>

	* config.h.meson:
	* gst-libs/gst/audio/meson.build:
	* meson.build:
	  meson: Enable SSE intrinsics in audio-resampler
	  This files need to be built with the specific C flags for the
	  corresponding processor optimisations.

2016-10-03 10:58:09 +0530  Arun Raghavan <arun@osg.samsung.com>

	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/video/meson.build:
	* gst/adder/meson.build:
	* gst/videotestsrc/meson.build:
	* gst/volume/meson.build:
	* meson.build:
	  meson: Enable Orc in build
	  Top-level meson.build code updated from gst-plugins-good.

2016-09-30 11:35:37 -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:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update version

=== release 1.9.90 ===

2016-09-30 13:01:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.9.90

2016-09-30 12:12:12 +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/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:42:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/de.po:
	  po: Update translations

2016-09-29 19:54:52 +0530  Arun Raghavan <arun@osg.samsung.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio-resampler: Add a missing header to noinst_HEADERS

2016-09-29 19:45:16 +0530  Arun Raghavan <arun@osg.samsung.com>

	* gst-libs/gst/audio/audio-resampler-x86-sse41.c:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audiorsample: Fix build on 32-bit x86
	  Turns out _mm_cvtsi128_si64() isn't available on 32-bit, so only build
	  SSE 4.1 optimisations on x86-64 for now.

2016-09-28 17:37:38 +0530  Arun Raghavan <arun@osg.samsung.com>

	* configure.ac:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-resampler-macros.h:
	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-private.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse2.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse2.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse41.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse41.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audioresample: Separate out CFLAGS used for SSE* code
	  This makes sure that we only build files that need explicit SIMD support
	  with the relevant CFLAGS. This allows the rest of the code to be built
	  without, and specific SSE* code is only called after runtime checks for
	  CPU features.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729276

2016-09-28 19:08:52 +0530  Arun Raghavan <arun@osg.samsung.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audioresample: Fix some gobject introspection warnings

2016-09-26 10:01:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove fallback properties/signals
	  These can all be used via the GstStream API
	  https://bugzilla.gnome.org/show_bug.cgi?id=769079

2016-09-25 22:02:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: playbin-complex test needs oggdemux

2016-09-24 21:11:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/videotimecode.c:
	  tests: videotimecode: fix floating point comparisons
	  Comparing floats for equality is not necessarily going to
	  work reliably, so use fail_unless_equals_float() for this.
	  Test would fail on x86 (Intel Atom x5-Z8300).

2016-09-25 16:22:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/adder.c:
	  tests: adder: disable racy flush_start_flush_stop test
	  It's been broken for years, and it's unlikely it will ever
	  be fixed for collectpads/adder now that there's audiomixer
	  which works fine. So let's disable it, since all it does
	  is that it creates noise that distracts from other failures.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708891

2016-09-22 16:15:54 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: take number of bits into account when copying
	  Copy twice the amount of pixels for 16 bits formats.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747225

2016-09-20 15:12:22 -0400  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Correctly calculate group start times in reverse playback mode
	  We have to calculate from the segment.stop, not the segment.start, as
	  playback goes from stop to start. This fix works around another race
	  condition in streamsynchronizer in my testcase.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=771479

2016-09-20 17:31:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/seek/stepping.c:
	* tests/examples/seek/stepping2.c:
	  examples: seek: fix build with MSVC
	  Use G_PI instead of M_PI. Could also have defined
	  _USE_MATH_DEFINES or included gst/math-compat.h but
	  this seems simplest.

2016-09-19 11:27:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-frame.c:
	  doc: Add missing map flag to gst_video_frame_map()
	  Add missing map flag, and also add unmap call.

2016-09-17 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Fix segment boundary checking for reverse playback

2016-09-14 16:51:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Don't adjust segment time in seek handler
	  basesrc already did that very well for us, adjusting it again on top of
	  that just breaks various non-standard seeks.

2016-09-14 11:29:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Depend on gstreamer 1.9.2.1

2016-09-14 10:14:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: document required map flags
	  Fix documentation for gst_video_overlay_composition_blend(). The video frame
	  needs to be mapped with GST_MAP_READWRITE flag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771382

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

	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	  playback: Use new gst_bin_set_suppressed_flags() API instead of worrying about the flags in multiple places

2016-09-10 20:50:56 +1000  Jan Schmidt <jan@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From b18d820 to f980fd9

2016-09-10 10:05:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/videoscale.c:
	* tests/check/meson.build:
	  tests: videoscale: split test into multiple ones
	  The videoscale test takes eternities to run, that's not
	  great. Split the test into multiple ones. That way they
	  can be run in parallel. Reduces time to run all tests in
	  -base from 29 secs to 12 secs when using meson/ninja.

2016-09-10 09:53:49 +1000  Jan Schmidt <jan@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From f49c55e to b18d820

2016-09-07 17:02:23 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Raise test timeout to 3 minutes
	  The videoscale testsuite (with 50 tests) last almost 2 minutes here

2016-09-07 14:24:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/libs/video.c:
	  video/test: Coding style fix

2016-09-05 19:55:58 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/examples/overlay/meson.build:
	  meson: Workaround the qt5 module not letting us now the preprocessor is not avalaible
	  If moc-qt5 is not avalaible, meson breaks:
	  https://github.com/mesonbuild/meson/issues/758

2016-09-05 18:40:19 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/examples/overlay/meson.build:
	  meson: tests: Do not pull qt5 as a hard dependency

2016-09-05 17:43:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	* tests/check/getpluginsdir:
	* tests/check/meson.build:
	  meson: Properly find where GStreamer plugins are when using subprojects
	  And fix building with meson 0.34

2016-09-05 12:22:36 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	  meson: Bump version to 1.9.2

2016-08-26 11:30:16 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: safety for failing to determine time length in push mode
	  If we can't find a valid granule near the end of the file, we
	  disable seeking. This guards against the whole file being then
	  read and never going to PLAYING.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770314

2016-08-26 11:27:17 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: increase EOS granpos detection chunk size
	  This can be too small on some files to find a valid granule.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770314

2016-09-04 21:41:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/seek/meson.build:
	  meson: fix joystick header check for jseek example

2016-09-03 11:57:22 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: store missing-plugin structure in current_info->misc again
	  This allows gst_discoverer_info_get_misc to work again, until it
	  finally gets removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770643

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

	* tools/gst-play.c:
	  tools: gst-play: cycle between video tracks without disabling video

2016-09-01 17:56:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstrtp.def:
	  win32: Update exports

2016-09-01 22:48:40 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: Expand the range of caps for extended buffer flags
	  The video buffer flags can be applied to encoded video streams,
	  such as video/x-h264 marked up by a demuxer or parser.

2016-09-01 13:07:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybackutils.h:
	  playback: Mark internal functions as G_GNUC_INTERNAL

2016-09-01 14:47:02 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybackutils.c:
	* gst/playback/gstplaybackutils.h:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	  playbackutils: Move compare_factories_func
	  Move _decode_bin_compare_factories_func function to playbackutils
	  https://bugzilla.gnome.org/show_bug.cgi?id=770692

2016-09-01 09:59:06 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: GST_VIDEO_BUFFER_FLAG are only valid for video/x-raw caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=769771

2016-09-01 09:57:33 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add buffer flag RETRANSMISSION
	  Useful for elements to know if a buffer is a retransmitted RTP packet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769771

2016-09-01 12:38:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Require orc >= 0.4.24
	  Needed for being able to compile video.orc
	  https://bugzilla.gnome.org/show_bug.cgi?id=770698

2016-09-01 12:26:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.9.2 ===

2016-09-01 12:26:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.9.2

2016-09-01 11:23:10 +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/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:53:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-colorkey.c:
	  test-colorkey: #define GDK_DISABLE_DEPRECATION_WARNINGS
	  We use gdk_cairo_create() which is deprecated since 3.22.

2016-08-27 11:22:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson_options.txt:
	* tests/examples/app/meson.build:
	* tests/examples/audio/meson.build:
	* tests/examples/decodebin_next/meson.build:
	* tests/examples/dynamic/meson.build:
	* tests/examples/encoding/meson.build:
	* tests/examples/fft/meson.build:
	* tests/examples/gio/meson.build:
	* tests/examples/meson.build:
	* tests/examples/overlay/meson.build:
	* tests/examples/playback/meson.build:
	* tests/examples/playrec/meson.build:
	* tests/examples/seek/meson.build:
	* tests/examples/snapshot/meson.build:
	* tests/meson.build:
	  meson: build examples

2016-08-27 01:17:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/meson.build:
	  meson: enable tests
	  At least on non-Windows platforms.

2016-08-19 11:09:27 -0700  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  Use the new API to post flow ERROR messages on the bus
	  https://bugzilla.gnome.org/show_bug.cgi?id=770158

2016-08-26 20:48:05 +0200  Josep Torra <n770galaxy@gmail.com>

	* configure.ac:
	* tests/check/Makefile.am:
	  build: silence error about pthread for 'make check' in osx
	  Fixes "clang: error: argument unused during compilation: '-pthread'"

2016-08-25 12:19:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/meson.build:
	  meson: update for new files in video lib

2016-08-09 11:39:53 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: forward sticky events on multiqueue
	  When connecting a demuxer through a multiqueue ensure to copy sticky
	  events in order to allow the following factory being properly
	  checked that it is functional.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769580

2016-08-25 11:56:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: Update libgstvideo.def

2016-07-26 19:14:40 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/videodirection.c:
	* gst-libs/gst/video/videodirection.h:
	* gst-plugins-base.spec.in:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/icles/test-header-compile:
	  videodirection: interface for rotation and flip
	  A GstVideoOrientationMethod enumeration is also provided for the
	  admitted property values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768687

2016-08-17 23:49:02 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gstparsebin.c:
	  parsebin: do not set global tags to stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=770053

2016-08-12 20:56:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* .gitignore:
	* config.h.meson:
	* ext/alsa/meson.build:
	* ext/cdparanoia/meson.build:
	* ext/libvisual/meson.build:
	* ext/meson.build:
	* ext/ogg/meson.build:
	* ext/opus/meson.build:
	* ext/pango/meson.build:
	* ext/theora/meson.build:
	* ext/vorbis/meson.build:
	* gst-libs/gst/allocators/meson.build:
	* gst-libs/gst/app/meson.build:
	* gst-libs/gst/audio/audio_mkenum.py:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/fft/meson.build:
	* gst-libs/gst/meson.build:
	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/pbutils/pbutils_mkenum.py:
	* gst-libs/gst/riff/meson.build:
	* gst-libs/gst/rtp/meson.build:
	* gst-libs/gst/rtp/rtp_mkenum.py:
	* gst-libs/gst/rtsp/meson.build:
	* gst-libs/gst/rtsp/rtsp_mkenum.py:
	* gst-libs/gst/sdp/meson.build:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/video/meson.build:
	* gst-libs/gst/video/video_mkenum.py:
	* gst-libs/meson.build:
	* gst/adder/meson.build:
	* gst/app/meson.build:
	* gst/audioconvert/meson.build:
	* gst/audiorate/meson.build:
	* gst/audioresample/meson.build:
	* gst/audiotestsrc/meson.build:
	* gst/encoding/meson.build:
	* gst/gio/meson.build:
	* gst/meson.build:
	* gst/playback/meson.build:
	* gst/subparse/meson.build:
	* gst/tcp/meson.build:
	* gst/typefind/meson.build:
	* gst/videoconvert/meson.build:
	* gst/videorate/meson.build:
	* gst/videoscale/meson.build:
	* gst/videotestsrc/meson.build:
	* gst/volume/meson.build:
	* meson.build:
	* meson_options.txt:
	* pkgconfig/meson.build:
	* sys/meson.build:
	* sys/ximage/meson.build:
	* sys/xvimage/meson.build:
	* tests/check/meson.build:
	* tests/meson.build:
	* tools/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-20 11:01:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  tests: ignore new videotimecode test binary

2016-08-19 15:29:13 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Fix false positive coverity issues
	  They are false positive overflows, because coverity doesn't realize that
	  hours <= 24, minutes < 60 and seconds < 60 in all functions. Also casting the
	  number 60 (seconds in minute, minutes in hour) to guint64 for the
	  calculations, in order to avoid overflowing once we allow more than 24-hour
	  timecodes.
	  CIDs #1371459, #1371458

2016-08-18 12:03:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Implement basic support for reverse playback
	  This is enough for making it work in GES, but it's unclear if all the various
	  property combinations are working correctly. It's an improvement over what was
	  there before in any case, which was to just drop all buffers if rate < 0.0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769624

2016-08-19 12:24:58 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: fix typo in comment
	  Small typo in the comment explaining the code fixed by the previous commit.
	  Fixing it.

2016-08-19 14:19:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: Revert last commit and actually remember the physically last plane
	  Instead of just always taking the last one as before.

2016-08-12 21:04:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/fft/kiss_fft_s16.h:
	* gst-libs/gst/fft/kiss_fft_s32.h:
	  gstfft: Use stdint.h instead of _stdint.h
	  _stdint.h is generated by Autotools and we don't really need it.
	  stdint.h is now available on all supported platforms.
	  This really only makes a difference for MSVC, which has it starting from
	  Visual Studio 2015.

2016-08-19 11:57:33 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: remove unused assignment
	  Value in last_plane will be overwritten before used, remove unused
	  asignment.
	  Fixes commit 91cf5ac69f9c99fe41d60f42b4174915dd135e7b
	  CID 1371462

2016-08-19 09:27:01 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: add flag to avoid close of the fd
	  Add GST_FD_MEMORY_FLAG_DONT_CLOSE to avoid closing the fd when the
	  memory is freed. When you can guarantee the lifetime of the fd is
	  longer than the memory, this can save a dup() call.

2016-08-08 17:54:46 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* tests/check/elements/rawaudioparse.c:
	* tests/check/elements/rawvideoparse.c:
	  rawparse: Fix and extend unit tests
	  * Add caps change test to unit tests
	  * Cleanup leftover buffers after each unit test
	  * Add missing rawvideoparse entry in .gitignore
	  https://bugzilla.gnome.org/show_bug.cgi?id=769637

2016-08-16 09:31:40 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/rawparse/gstrawvideoparse.c:
	* gst/rawparse/gstrawvideoparse.h:
	* tests/check/elements/rawvideoparse.c:
	  rawvideoparse: Compute plane offsets & strides if no custom ones are set
	  This is useful to ensure that the offsets and strides are computed if
	  only width, height, format etc. in the property config are set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769797

2016-08-17 13:03:43 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Fix various coverity issues
	  Most of them are overflow related and false positives, but coverity can't know
	  that these can't overflow without us giving it more information. Add some
	  assertions for this.
	  One was an actual issue with flags comparison.
	  CIDs #1369051, #1369050, #1369049, #1369048, #1369045

2016-08-08 20:04:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: add "element-setup" signal
	  Allows configuration of plugged elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=578933

2016-06-16 10:01:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove eos avoidance workaround
	  This workaround tried to avoid an EOS event when seeking to the
	  end of an Ogg stream in order to find its duration. At some point,
	  an EOS event there would cause any queue2 upstream to pause and
	  not restart on a seek back to the beginning. This now appears to
	  not be the case anymore, and so the workaround can be removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767689

2016-08-04 19:06:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  videotimecode: Add to docs and exports list

2016-05-18 19:30:52 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* ext/pango/gsttimeoverlay.c:
	* ext/pango/gsttimeoverlay.h:
	  timeoverlay: Add support to display timecode
	  Choosing time-mode=time-code will display the time code attached to the
	  buffer, or 00:00:00:00 if no time code is found.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766419

2016-05-14 17:59:20 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Added video time code meta
	  It attaches a GstVideoTimeCodeMeta (SMPTE timecode) as metadata to a buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766419

2016-05-14 12:20:38 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideotimecode.c:
	* gst-libs/gst/video/gstvideotimecode.h:
	* gst-libs/gst/video/video.h:
	* tests/check/Makefile.am:
	* tests/check/libs/videotimecode.c:
	  videotimecode: Added support for SMPTE time code metadata
	  Can be attached as GstMeta into a video frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766419

2016-07-28 15:04:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: don't leak alternate inputs
	  Fix leaks (including parsebin elements) with this pipeline:
	  playbin3
	  uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-08-01 16:00:29 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggparse.c:
	  ogg: check return values in gst_ogg_parse_new_stream
	  Return NULL in gst_ogg_parse_new_stream when either ogg_stream_pagein() or
	  gst_ogg_stream_setup_map() failed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769299

2016-08-01 15:52:11 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggparse.c:
	  ogg: fix memory leak in gst_ogg_parse_new_stream
	  Avoid leaking the stream object
	  https://bugzilla.gnome.org/show_bug.cgi?id=769299

2016-08-01 13:35:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix output->decoder_{sink,src} leak
	  output->decoder_sink and output->decoder_src are both going to be
	  replaced in the 2 branches of the following 'if'.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-08-01 12:37:43 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix tag list leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-08-01 12:28:20 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: consume select-streams event
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-07-28 15:44:27 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/examples/decodebin_next/decodebin3.c:
	* tests/examples/decodebin_next/playbin-test.c:
	  decodebin_next: fix caps and tags leaks
	  The getters are (transfer full).
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-07-28 14:46:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix collection ref handling
	  gst_stream_collection_add_stream() consumes the collection reference
	  passed to it but gst_stream_collection_get_stream() is (transfer none).
	  Fix this pipeline:
	  playbin3
	  uri=http://127.0.0.1:8079/defaults/exMPD_BIP_TC1/exMPD_BIP_TC1.mpd
	  https://bugzilla.gnome.org/show_bug.cgi?id=769270

2016-07-29 11:38:44 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: handle full removal of streams
	  Fix the
	  validate.file.playback.disable_subtitle_track_while_paused.* validate
	  scenarios when using playbin3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769298

2016-08-02 12:03:18 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Remove sample rate and channel count boundaries in caps
	  WAV is too generic to impose more-or-less arbitrary boundaries on the
	  sample rate and channel count caps. For example, there are 384 kHz WAV
	  files. Another example: it is in theory possible that somebody puts DSD
	  data into a WAV file, which will then have a sample rate of ~2.8 MHz.
	  For this reason, get rid of the rate and channel caps unless they are
	  fixed values. Downstream anyway usually knows the limitations better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761514

2016-07-29 15:51:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Add more h264 scalable profiles
	  Adding Scalable Constrained High (G.10.1.2.1) and
	  Scalable High Intra(G.10.1.3) profiles to the profile list
	  https://bugzilla.gnome.org/show_bug.cgi?id=769303

2016-07-29 10:49:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstrawaudioparse.c:
	  rawaudioparse: Use G_GINT64_MODIFIER for portability
	  https://bugzilla.gnome.org/show_bug.cgi?id=769295

2016-07-29 10:07:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rawparse/gstunalignedaudioparse.c:
	  unalignedaudioparse: Fix element factory name of inner parser

2016-07-26 17:46:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add some const qualifiers
	  gst_rtp_buffer_add_extension_onebyte_header() and
	  gst_rtp_buffer_add_extension_twobytes_header() can have a const argument for
	  the actual extension data.

2015-12-26 13:19:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: maintain original order when creating fallback stream collection

2016-07-25 17:54:09 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/rawparse/Makefile.am:
	  rawparse: Remove old parser code and wrap new parsers in old elements
	  https://bugzilla.gnome.org/show_bug.cgi?id=767011

2016-07-25 13:45:40 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/rawparse/Makefile.am:
	* gst/rawparse/gstrawaudioparse.c:
	* gst/rawparse/gstrawaudioparse.h:
	* gst/rawparse/gstrawbaseparse.c:
	* gst/rawparse/gstrawbaseparse.h:
	* gst/rawparse/gstrawvideoparse.c:
	* gst/rawparse/gstrawvideoparse.h:
	* gst/rawparse/gstunalignedaudioparse.c:
	* gst/rawparse/gstunalignedvideoparse.c:
	* gst/rawparse/gstunalignedvideoparse.h:
	* gst/rawparse/plugin.c:
	* gst/rawparse/unalignedvideo.h:
	* tests/check/elements/rawaudioparse.c:
	* tests/check/elements/rawvideoparse.c:
	  rawparse: Add new raw audio and video parser elements
	  The new rawaudioparse and rawvideoparse elements are based on GstBaseParse
	  and completely replace audioparse and videoparse
	  https://bugzilla.gnome.org/show_bug.cgi?id=767011

2016-03-20 14:37:03 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send stream-group-done to unblock downstream
	  When processing EOS for a pad, send a stream-group-done
	  for the pad in case downstream is waiting for more
	  data on this stream before it can process related
	  streams from the group.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768995

2016-07-22 14:40:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix collection leak
	  The collection referenced owned by playbin3 was not released when it was
	  destroyed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769080

2016-07-22 14:35:17 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix collection refcounting
	  My collection leak fix 83f30627cd9460157935e7e9603c60a15555967e
	  introduced a crash in this scenario: audiotestsrc ! decodebin3 ! fakesink
	  The reference handling of collection in decodebin3 wasn't very clear and
	  my attempt to fix the leak introduced a regression where we went one
	  reference short in some other scenarios.
	  Fixing this by:
	  - Giving a strong reference to DecodebinInput making things clearer
	  - Fixing get_merged_collection() which was sometimes returning an
	  existing reference and sometimes a new one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769080

2016-07-23 14:42:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/.gitignore:
	* tests/check/libs/.gitignore:
	  Add more files to .gitignore

2016-07-22 14:42:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  docs: urisourcebin: fix typo

2016-07-22 23:21:36 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturisourcebin.c:
	  playback: Flesh out docs a bit for new elements
	  Add some more text to the docs for urisourcebin,
	  parsebin, decodebin3 and playbin3, including a warning
	  that they are unstable API for now

2016-07-22 12:52:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplaybin3.c:
	  docs: add playbin3, decodebin3, parsebin, urisourcebin to docs
	  Docs still need some fleshing out though.

2016-07-13 18:29:52 +0900  Arun Raghavan <arun@arunraghavan.net>

	* ext/vorbis/gstvorbisenc.c:
	  Revert "vorbisenc: push an updated segment stop time when we know it"
	  This reverts commit a16cd5d2a5cbdf084163ead68b59d537d7db99f7.
	  Setting the stop time on the segment breaks reconfiguration, as the
	  encoder signals an EOS, but we reconfigure it an continue to produce
	  buffers.
	  This information  should not be required via the segment downstream
	  since we already have the sample count being used to generate buffer
	  durations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-07-20 11:47:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix unknown duration playing Ogg over HTTP
	  If the duration is not known from the chain, it might be known
	  by the startup seek.
	  This fixes failure to seek.
	  Merged with a patch from Tim-Philipp Müller <tim@centricular.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=768991

2016-07-20 12:17:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: use GST_STIME_FORMAT for the correct argument
	  GST_STIME_ARGS is used for time_offset not for last_time.
	  This fixes the format string accordingly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768990

2016-07-19 18:20:57 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: after a reset, recalculate the ouput size
	  After we reset the resampler, there is no history anymore in the resampler
	  and the previously calculated output size is no longer valid.
	  Recalculate the new output size after a reset to make sure we don't try
	  to convert too much.

2016-07-19 13:26:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: fix some leaks
	  Fixes check-valgrind for subparse test.

2016-07-18 17:26:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsink.c:
	  tests: appsink: add minimal test for new pull with timeout functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=768852

2016-07-15 13:20:29 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* win32/common/libgstapp.def:
	  appsink: add _pull_sample/preroll() variants with timeout
	  The _pull_sample() and _pull_preroll() functions block
	  until a sample is available, EOS happens or the pipeline
	  is shut down (returning NULL in the last two cases).
	  This adds _try_pull_sample() and _try_pull_preroll()
	  functions with a timeout argument to specify the maximum
	  amount of time to wait for a new sample.
	  To avoid code duplication, wait forever if the timeout is
	  GST_CLOCK_TIME_NONE and use that to implement
	  _pull_sample/_pull_preroll with the original behavior.
	  Add also corresponding action signals "try-pull-sample"
	  and "try-pull-preroll".
	  https://bugzilla.gnome.org/show_bug.cgi?id=768852

2016-07-13 14:17:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: actually check result of accept caps query
	  We were just checking if the query was handled, not its result.
	  Also fix a leak as gst_pad_query() was not consuming the query.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-18 14:20:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimagesink: only error out if the allocated memory is too small
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-18 19:59:23 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimageallocator.h:
	  xvimageallocator: const correctness in gst_xvimage_allocator_alloc().
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-07 22:27:15 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimageallocator.h:
	* sys/xvimage/xvimagepool.c:
	  xvimagesink: error out on buffer size sanity check failure.
	  If sanity checks on the buffer size allocated by XvShmCreateImage() fail,
	  call on g_set_error(), rather than just logging a warning, as this
	  failure is fatal.
	  Add a sanity check on buffer size when the video format is RGB. This adds to
	  existing checks on various YUV pixel formats.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-14 10:33:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix stream leak
	  The stream returned by gst_message_streams_selected_get_stream() is
	  reffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-13 16:16:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix collection leak
	  The collection owned by GstDecodebin3 has to be unreffed when disposing.
	  gst_event_new_stream_collection() doesn't consume the collection passed
	  to it so no need to give it an extra ref.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 10:34:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix stream leaks
	  MultiQueueSlot owns a ref on the active stream so it should release it
	  when being freed.
	  DecodebinInputStream owns ref on the active and pending stream so they
	  should be dropped when being freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 14:24:23 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix event leaks
	  Returning GST_PAD_PROBE_HANDLED means we are taking care of unreffing
	  the probe info.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 16:29:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix caps leaks
	  gst_stream_get_caps() returns a reffed caps.
	  The caps passed to gst_query_set_caps_result() are not transfered.
	  The caps in gst_parse_pad_stream_start_event() was either acquired
	  using gst_pad_get_current_caps() which returns a new ref or
	  explicitly reffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-15 19:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtp: rtpbasedepayload: simplify code
	  Remove unnecessary helper struct for callbacks. The bclass
	  member of the helper struct was not used, so we can just
	  remove it and the GET_CLASS() call and simplify the whole
	  affair by passing the depayloader directly to the callback.

2016-07-13 16:02:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstplaybin3.c:
	* tests/examples/decodebin_next/decodebin3.c:
	* tests/examples/decodebin_next/playbin-test.c:
	  playbin3: fix leaks of collection returned by message parse API
	  gst_message_parse_stream_collection() and
	  gst_message_parse_streams_selected() actually return a reffed
	  GstStreamCollection.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768776

2016-07-15 22:47:02 +1000  Jan Schmidt <jan@centricular.com>

	* tools/gst-play.c:
	  gst-play: Allow disabling audio/video/subtitle tracks
	  When cycling through tracks, add 'disable' to the set
	  of states.

2016-06-24 12:25:30 +1000  Jan Schmidt <jan@centricular.com>

	* ext/alsa/gstalsasink.h:
	  alsasink: Remove unused hwparam/swparam pointers
	  The ALSA params structures aren't kept. The pointers
	  aren't used anywhere, so remove them from the struct.

2016-07-13 15:45:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tools/gst-device-monitor.c:
	  tools: fix device leaks in gst-device-monitor
	  gst_message_parse_device_{added,removed} is actually returning a new ref
	  on the device.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768776

2016-07-12 12:03:53 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: fix bus leak in test
	  gst_bus_add_signal_watch() takes a ref on the bus which should be
	  released using gst_bus_remove_signal_watch().
	  https://bugzilla.gnome.org/show_bug.cgi?id=768718

2016-07-11 19:17:41 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>

	* gst-libs/gst/video/videoorientation.c:
	  videoorientation: Use G_DEFINE_INTERFACE instead of a manually written get_type()
	  https://bugzilla.gnome.org/show_bug.cgi?id=768687

2016-07-12 00:13:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-format.c:
	  video: Fix some compiler warnings for out-of-range enum values
	  https://bugzilla.gnome.org/show_bug.cgi?id=767816

2016-07-11 21:13:37 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f363b32 to f49c55e

2016-07-10 10:28:44 +0900  Seungha Yang <sh.yang@lge.com>

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* tests/check/elements/appsrc.c:
	  appsrc: Remove trailing whitespace
	  https://bugzilla.gnome.org/show_bug.cgi?id=768510

2016-07-08 16:43:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Remove some more fields from the caps when creating from discoverer info
	  parsed, framed, stream-format and alignment are only relevant for parsers and
	  should not matter here. We still want to be able to use an encoder that can
	  only output byte-stream if the input was avc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768566

2016-07-08 15:45:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  missing-plugins: Remove some other fields when cleaning up caps
	  Caps are cleaned up for missing plugins, and for creating encoding profiles
	  and caps descriptions.
	  Fields like streamheader, parsed, framed, stream-format and alignment are not
	  relevant here. The last ones all because a parser will take care of them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768566

2016-07-08 15:44:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: Mark private functions as G_GNUC_INTERNAL

2016-07-07 17:37:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/subparse/gstsubparse.c:
	  subparse: don't reset allowed tags
	  When a discont buffer is processed, the state is re-initialized, which
	  nullifies the allowed_tags.
	  The problem is when a subrip string with tags is processed and allowed_tags is
	  NULL. The function subrip_unescape_formatting() calls g_strjoinv with a
	  str_array as NULL, leading to a GLib-CRITICAL.
	  This patch removes the allowed_tags resetting, in parser_state_init(), but
	  move it into gst_sub_parse_format_autodetect().
	  https://bugzilla.gnome.org/show_bug.cgi?id=768525

2016-07-04 17:19:08 +0100  Sergio Torres Soldado <torres.soldado@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix potential deadlock caused by blocking read forever
	  Reset the connection "may_cancel" property to avoid a potential deadlock
	  if there is no data to read and the socket stays blocked forever.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768249

2016-07-07 17:29:34 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix compilation on big-endian

2016-07-07 17:10:17 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: More trickmode fix
	  We need to take into account the input segment flags to know whether
	  we should drain the decoder after a new keyframe in trick mode.
	  Otherwise we would have to wait for the next frame to be outputted (and
	  the segment to be activated) which ... well ... kind of beats the whole
	  point of this draining :)

2016-07-06 21:13:19 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES
	  https://bugzilla.gnome.org/show_bug.cgi?id=768495

2016-07-07 00:27:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Ship audio-resampler-neon.h

2016-07-06 16:14:32 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* tests/examples/playback/playback-test.c:
	  tests: correctly print guintptr on mac

2016-07-06 13:51:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.9.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  Release 1.9.1

2016-07-06 11:42:29 +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/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:18:00 +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/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-06-30 16:36:27 +0200  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Take stream lock one time only on drain
	  When the drain is triggered from the chain function the lock is already
	  taken so there is no need to take it one more time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767641

2016-07-04 11:16:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix criticals fixating a non existent field
	  https://bugzilla.gnome.org/show_bug.cgi?id=766970

2016-07-04 11:12:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Protect samples_in/bytes_out and audio info with object lock
	  It might cause invalid calculations during the CONVERT query otherwise.

2016-07-04 11:07:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Protect samples_in/bytes_out and audio info with object lock
	  It might cause invalid calculations during the CONVERT query otherwise.

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  audioencoder/decoder: Move encoded audio conversion function to a common place
	  No need to duplicate this non-trivial function.

2016-07-04 09:15:03 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix criticals fixating a non existent field
	  https://bugzilla.gnome.org/show_bug.cgi?id=766970

2016-07-04 10:55:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Use the object lock to protect bytes/time tracking
	  And especially don't use the stream lock for that, as otherwise non-serialized
	  queries (CONVERT) will cause the stream lock to be taken and easily causes the
	  application to deadlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768361

2016-07-04 10:52:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Use the object lock to protect bytes/time tracking

2016-07-04 10:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutilsprivate.c:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	  videoencoder/decoder: Move conversion utility functions to a common header and use consistently in encoder/decoder

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

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: If do-timestamp=TRUE, capture the time when the buffer was pushed to the source
	  ... instead of the time when it was pushed further downstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763630

2016-04-29 00:59:42 -0700  Zaheer Abbas Merali <zaheermerali@gmail.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  basertpdepayload: create valid segment when given non-time segment
	  This will become an error in 1.10.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765796

2016-06-30 18:53:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: fix handling of very short files in push mode
	  By default we'll wait for a certain amount of data before
	  attempting typefinding. However, if the stream is fairly
	  short, we might get EOS before we ever attempted any
	  typefinding, so at this point we should force typefinding
	  and output any pending data if we manage to detect the
	  type.
	  https://bugzilla.gnome.org//show_bug.cgi?id=768178

2016-06-30 17:30:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: fix erroring out if we reach EOS without detecting type
	  In 0.10 the source pad was a dynamic pad that was only added once
	  the type had been detected, but in 1.x it's an always source pad,
	  so checking whether it's still NULL won't work to detect if the
	  type has been detected.
	  Makes tagdemux error out when we get EOS but haven't managed to
	  identify the format of the data after the tag.
	  https://bugzilla.gnome.org//show_bug.cgi?id=768178

2016-06-30 17:26:56 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Fix authors and description

2016-06-30 17:26:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gsturidecodebin3.c:
	  playback: Remove uridecodebin3
	  This was committed by mistake. The solution forward is to use the
	  appropriate combination of urisourcebin and decodebin3

2016-06-29 18:14:51 +0200  Edward Hervey <edward@centricular.com>

	* configure.ac:
	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturidecodebin3.c:
	* gst/playback/gsturisourcebin.c:
	* tests/examples/Makefile.am:
	* tests/examples/decodebin_next/.gitignore:
	* tests/examples/decodebin_next/Makefile.am:
	* tests/examples/decodebin_next/decodebin3.c:
	* tests/examples/decodebin_next/playbin-test.c:
	  playback: New elements
	  With contributions from Jan Schmidt <jan@centricular.com>
	  * decodebin3 and playbin3 have the same purpose as the decodebin and
	  playbin elements, except make usage of more 1.x features and the new
	  GstStream API. This allows them to be more memory/cpu efficient.
	  * parsebin is a new element that demuxers/depayloads/parses an incoming
	  stream and exposes elementary streams. It is used by decodebin3.
	  It also automatically creates GstStream and GstStreamCollection for
	  elements that don't natively create them and sends the corresponding
	  events and messages
	  * Any application using playbin can use playbin3 by setting the env
	  variable USE_PLAYBIN3=1 without reconfiguration/recompilation.

2016-06-29 18:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Handle fallback channel mask for mono correctly
	  It's 0 and no mask should be set for mono at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757472

2016-06-27 20:53:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't send another step event to the audio-sink if we got step-done from there
	  Otherwise we would end up with a deadlock as the audio-sink emits step-done
	  from its streaming thread.

2016-06-27 20:49:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Force STEP events on the video-sink for GST_FORMAT_BUFFERS
	  It does not make much sense for audio sinks.

2016-06-24 01:56:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* configure.ac:
	  configure: Need to add -DGST_STATIC_COMPILATION when building only statically
	  https://bugzilla.gnome.org/show_bug.cgi?id=767463

2016-06-23 10:22:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: demote an expected error to debug
	  Dropping a buffer because we have a seek pending is normal,
	  and will now happen when we trigger a seek while going through
	  the packets in a page. So this should not be an error.

2016-06-22 16:02:37 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: fix interlaced scaling some more
	  Fix problem with the line cache where it would forget the first line in
	  the cache in some cases.
	  Keep as much backlog as we have taps. This generally works better and we
	  could do even better by calculating the overlap in all taps.
	  Allocated enough lines for the line cache.
	  Use only half the number of taps for the interlaced lines because we
	  only have half the number of lines.
	  The pixel shift should be relative to the new output pixel size so scale
	  it.
	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=767921

2016-06-21 14:53:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  plugin-doc: Minor re-order

2016-06-21 14:40:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	  Automatic update of plugins doc files

2016-06-21 18:04:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/discoverer.c:
	  tests: discoverer: handle missing ogg/codec plugins gracefully
	  https://bugzilla.gnome.org/show_bug.cgi?id=767859

2016-06-21 11:45:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* common:
	  Automatic update of common submodule
	  From ac2f647 to f363b32

2016-06-20 12:42:28 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: handle missing buffers with no duration
	  If buffer duration is missing, it is parsed from the packet data.
	  This is not foolproof, since Opus can change durations on the
	  fly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767826

2016-06-17 15:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: preserve duration when skipping a tag at the beginning of a buffer
	  gst_buffer_copy_region() does not copy the duration if it doesn't start
	  with the first byte. We just skip the tag here, so the duration is still
	  valid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767791

2016-06-21 10:24:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* tests/check/libs/discoverer.c:
	  discoverer: Only allow serializing OK discoverer infos to GVariants
	  They will be incomplete otherwise and we can't generate the full serialized
	  information, and instead will crash somewhere on the way.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767859

2016-04-14 14:02:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix audio glitches with low bitrate vorbis
	  A low bitrate stream which can pack more than 2 seconds of audio
	  in a page would cause the stream's position to be updated not
	  often enough, and would trigger a spurious "jump" via a GAP
	  event. Instead, we update the stream position after calculating
	  the new overall segment position.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764966

2016-06-16 10:55:52 +0100  Mikhail Fludkov <misha@pexip.com>

	* tests/check/elements/opus.c:
	  opusdec: test for PLC timestamp when FEC is enabled.

2016-04-05 12:41:45 +0200  Mikhail Fludkov <misha@pexip.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: fix invalid timestamps when PLC and delay
	  Elements inherited from GstAudioDecoder, supporting PLC and introducing
	  delay produce invalid timestamps. Good example is opusdec with in-band FEC
	  enabled. After receiving GAP event it delays the audio concealment until
	  the next buffer arrives. The next buffer will have DISCONT flag set which
	  will make GstAudioDecoder to reset it's internal state, thus forgetting
	  the timestamp of GAP event. As a result the concealed audio will have the
	  timestamp of the next buffer (with DISCONT flag) but not the timestamp
	  from the event.

2016-06-11 17:11:30 +0200  Paulo Neves <pneves@airborneprojects.com>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  exiftag: Increase serialized geo precision
	  The serialization of double typed geographical
	  coordinates to DMS system supported by the exif
	  standards was previously truncated without need.
	  The previous code truncated the seconds part of
	  the coordinate to a fraction with denominator
	  equal to 1 causing a bug on the deserialization
	  when the test for the coordinate to be serialized
	  was more precise.
	  This patch applies a 10E6 multiplier to the numerator
	  equal to the denominator of the rational number.
	  Eg. Latitude = 89.5688643 Serialization
	  DMS Old code = 89/1 deg, 34/1 min, 7/1 sec
	  DMS New code = 89/1 deg, 34/1 min, 79114800UL/10000000UL
	  Deserialization
	  DMS Old code = 89.5686111111
	  DMS New code = 89.5688643
	  The new test tries to serialize a higher precision
	  coordinate.
	  The types of the coordinates are also guint32 instead
	  of gint like previously. guint32 is the type of the
	  fraction components in the exif.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767537

2016-06-10 22:36:32 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Fix calculations for bytes<->samples conversions
	  Use bpf instead of channels * sizeof(gint16).
	  https://bugzilla.gnome.org/show_bug.cgi?id=767505

2016-06-10 14:04:36 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
	  https://bugzilla.gnome.org/show_bug.cgi?id=767506

2016-06-10 22:50:41 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: fix timestamp calculation for audio channels > 1
	  We have to use bps*channels instead of just bps, which is exactly what bpf is for.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767507

2015-04-09 19:09:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: handle buffer's flags at offset
	  For reverse playback it is important to handle correctly the frame sync
	  points, which is set when the input buffer doesn't have the DELTA_UNIT flag.
	  This is handled correctly when decoder is packetized, but when it is not the
	  frame's sync point is not copied, and the reverse playback never decodes frame
	  batches.
	  The current patch adds the buffer's flags to the Timestamp list, where the
	  timestamp and duration of the input buffers are hold.

2015-04-09 19:18:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: squash two message logs into one
	  There were two consecutive log messages in gst_video_decoder_decode_frame().
	  Given the information they provide, it is more efficient to squash them into a
	  single one.

2015-04-09 19:16:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: playback rate is in input_segment
	  The playback rate is hold in the input_segment member variable, not in the
	  output_segment, and the parse_gather list was never filled because of that.
	  This patch changes the comparison with input_segment.

2016-06-09 19:02:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes
	  The output segment is only set up after data is output, which might be far in
	  the future for reverse playback. Also we are here interested in the state at
	  the current *input* frame (which is the keyframe), not any possible output.

2016-06-09 18:53:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Only drain in KEY_UNITS trick mode after a keyframe in forwards playback mode
	  For reverse playback the same behaviour was already implemented in
	  flush_parse().
	  For reverse playback, chain_forward() is only used to gather frames and not
	  for decoding, and it is actually called by the draining logic, causing an
	  infinite recursion.

2016-06-07 09:48:35 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't push late frames
	  While it's a bit tricky to discard frames *before* decoding (because
	  we might not be sure which data is needed or not by the decoder), we
	  can discard them after decoding if they are too late anyway.
	  Any following basetransform based element or similar would drop the frame too.

2016-06-07 10:31:59 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Avoid recursive drain/flush calls
	  _chain_forward() can also be called with reverse playback. Blindly
	  calling drain_out() on DISCONT buffers would end up in a recursive
	  call.

2016-06-04 09:51:17 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Drain out keyframes in TRICK_MODE_KEY_UNITS
	  When asked to just decode keyframe, if we got a keyframe drain out
	  the decoder straight away.
	  This avoids having to wait for the next frame and reduces delay even
	  more.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767232

2016-06-04 09:49:00 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Drain decoder on DISCONT buffers
	  This ensures the decoder is properly drained out when receiving a
	  DISCONT buffer. The optimal way of doing this would have been to
	  receive a GAP event before hand but it is not always possible.
	  Fixes big delays with some decoders (ex gst-libav) that will not
	  drain out data when only decoding keyframes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767232

2016-06-01 11:02:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer
	  gst_buffer_copy_region() does not copy the timestamp if it doesn't start
	  with the first byte. We just skip the tag here, so the timestamp is still
	  valid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767173

2016-05-10 13:56:13 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/video-color.c:
	* tests/check/libs/video.c:
	  video-color: Fix colorimetry IS_UNKNOWN
	  Fix issue with colorimetry default indicies not being in sync with the
	  actual table causing IS_UNKNOWN() to sometimes fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767163

2016-06-02 13:07:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* gst/playback/gstsubtitleoverlay.c:
	  opusenc, subtitleoverlay: use MAY_BE_LEAKED flag
	  Flag caps that are cached locally and will never be freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767155

2016-06-01 16:56:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Create a new decode element with the parser/convert capsfilter if there is a multiqueue after the parser
	  https://bugzilla.gnome.org/show_bug.cgi?id=767102

2016-05-23 15:11:53 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure the DISCONT flag is set on the outgoing buffer
	  The base class was setting the DISCONT flag before checking whether the buffer
	  would be in segment or not.
	  Fix issues with DISCONT flags not being properly propagated downstream when
	  decoders buffers were out of segment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766800

2016-06-01 15:31:52 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: design: add IYU2 raw video format description
	  https://bugzilla.gnome.org/show_bug.cgi?id=763026

2016-06-01 12:36:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: enable shaded background drawing for new IYU2 format

2016-05-30 16:40:26 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-scaler.c:
	* tests/check/libs/video.c:
	  video: add IYU2 format
	  This existed in 0.10 and is needed by dc1394src.
	  IYU2 format is a YUV fully-sampled packed format similar to v308
	  but with different component order (U-Y-V instead of Y-U-V).
	  http://www.fourcc.org/yuv.php#IYU2
	  https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5

2016-03-17 23:47:48 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>

	* ext/libvisual/visual.c:
	  libvisual: Factor out endian-order RGB formats
	  MSVC seems to ignore preprocessor conditionals inside static
	  pad templates. Also remove unnecessary quotes inside caps strings.

2016-05-24 00:44:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  g-i: pass compiler env to g-ir-scanner
	  It's what introspection.mak does as well. Should
	  fix spurious build failures on gnome-continuous.

2016-05-23 19:28:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: use default error messages in some more cases

2016-05-23 15:35:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: use default error message strings in more cases
	  Details should go into the debug message. We should probably
	  make up new codes for encoder/decoder lib init failures too.

2016-05-19 12:26:05 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: Post error message on GST_FLOW_ERROR
	  https://bugzilla.gnome.org/show_bug.cgi?id=766265

2016-05-14 14:41:28 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Use GST_AUDIO_DECODER_ERROR
	  This way, the first invalid stream won't break all decoding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766265

2016-05-16 12:52:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/gstvideosink.c:
	  videosink: ensure the debug category is always initialized
	  gst_video_sink_center_rect() can be called without a GstVideoSink
	  having been instantiated so we can't relly on the video sink
	  class_init function to init the category.
	  Fix a warning when running:
	  GST_CHECKS=test_video_center_rect GST_DEBUG=6 G_DEBUG=fatal_warnings make libs/video.check-norepeat
	  https://bugzilla.gnome.org/show_bug.cgi?id=766510

2016-05-16 15:39:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: fix suburidecodebin leak
	  We take a ref before removing which was never freeded.
	  The element is still alive anyway because the group has its own ref as
	  well.
	  Fix a leak with the 'test_suburi_error_wrongproto' test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766515

2016-05-16 09:52:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/playbin.c:
	  tests: playbin: add test for new "element-setup" signal
	  https://bugzilla.gnome.org/show_bug.cgi?id=578933

2016-05-14 11:28:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: add "element-setup" signal
	  Allows configuration of plugged elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=578933

2016-05-15 14:43:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* gst-libs/gst/app/.gitignore:
	* gst-libs/gst/app/gstapp-marshal.list:
	  app: remove marshaller files from git

2016-05-15 14:37:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  app: use generic marshallers

2016-05-15 12:01:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Reset keyframe_granule when needed
	  This avoids ending up with bogus values when doing flushing seeks
	  in push-mode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766467

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

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: Update for git master

2016-03-04 22:10:47 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/rawparse/Makefile.am:
	* gst/rawparse/gstunalignedaudioparse.c:
	* gst/rawparse/gstunalignedaudioparse.h:
	* gst/rawparse/plugin.c:
	* gst/rawparse/unalignedaudio.h:
	  rawparse: Add unaligned raw audio parsing to audioparse and add new element
	  This helps in cases where raw audio data is being delivered, but the
	  buffers do not come in sample aligned sizes. The new unalignedaudioparse
	  bin can be autoplugged and configures an internal audioparse element to
	  align the data. audioparse itself gets support for audio/x-unaligned-raw
	  input caps; the output caps then contain the same information, except that
	  the name is changed to audio/x-raw (since audioparse aligns the data).
	  This ensures that souphttpsrc ! audioparse still works.
	  https://bugzilla.gnome.org/show_bug.cgi?id=689460

2016-05-14 15:43:24 +0300  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	  video/affinetransformationmeta: define the coordinate space used
	  Based on the expected output from the already existing usage by androidmedia
	  and the opengl plugins.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764667

2015-12-17 19:38:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for WebVTT

2015-09-30 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/playsink.c:
	  tests: playsink: add minimal test for playsink element
	  Attempt to reproduce leak.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755867

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/vorbistag.c:
	  vorbistag: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/appsrc.c:
	  appsrc: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	  audiorate: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 21:34:53 +0900  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: parse sdp attributes in case that sdp message doesn't contain mikey message
	  https://bugzilla.gnome.org/show_bug.cgi?id=766204

2016-05-10 16:44:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  appsrc: Add duration property for providing a duration in TIME format
	  https://bugzilla.gnome.org/show_bug.cgi?id=766229

2016-05-10 10:01:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videodecoder/encoder: Correct GST_IS_*CODER_CLASS macros
	  They are currently not used, but would result in a compiler error due to wrong
	  variable name usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766203

2016-05-05 13:16:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Warn if trying to change the state from the streaming thread
	  Instead of silently returning GST_STATE_CHANGE_FAILURE.

2016-05-04 11:33:50 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: an element can negotiate before we block it
	  When we initialize an element in decodebin, we 1) set it to PAUSED and
	  push sticky events on its sinkpad to trigger negotiation 2) block its
	  src pad(s) to detect CAPS events. We can't block before 1) as that
	  would lead to a deadlock.
	  It's possible (and common) tho that an element configures its srcpad
	  during 1) and before 2). Therefore before this change we would
	  typically block and expose an element's pad only once the element
	  output its first buffer, triggering sticky events to be resent. One
	  consequence of this behaviour is that it sometimes broke
	  renegotiation.
	  With this change now we consider a pad ready to be exposed when it's
	  ->blocked or has fixed caps (which were set before we could block it).
	  https://bugzilla.gnome.org/show_bug.cgi?id=765456

2016-05-02 14:21:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	* tests/check/elements/opus.c:
	  opusdec: intersect with the filter before returning on getcaps
	  So upstream gets a smaller set to decide upon as it is what it requested
	  with the filter
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-02 10:23:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	* tests/check/elements/opus.c:
	  opusdec: improve getcaps to return all possible rates
	  The library is capable of converting to different rates.
	  Includes tests.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-02 10:21:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: remove artificial restriction on rate negotiation
	  Remove restrictions when rate is 48000, the underlying lib supports
	  converting any of the input to any of the output rates.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-01 23:19:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: refactor getcaps repeated code into a function
	  Easier to read and maintain

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

	* tests/check/elements/opus.c:
	  tests: opus: remove apparently useless macro in tests

2016-04-29 11:06:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix caps memory leak

2016-04-28 11:21:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Recurse into nested container profiles and only add the final audio/video streams
	  If we e.g. have AVI with DV container with video/audio inside the DV
	  container, we can't handle this at this point with an encoding profile.
	  Instead of erroring out, flatten the container hierarchy.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2016-04-28 11:18:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fail to create encoding profile from discoverer info if no streams could be added
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2016-04-28 11:15:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Move adding of each stream to a helper function
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2015-08-21 10:40:33 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  exiftag: handle GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
	  This tag match the EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM exif tag and is
	  stored on a short. Hence there is a precision loss compared to the
	  GstTag which is a double value.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753930

2015-08-21 10:39:36 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
	  It is the 35 mm equivalent focal length of the lens, mainly used in
	  photography. Tag value is stored in a double value to be consistent with
	  GST_TAG_CAPTURING_FOCAL_LENGTH.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753930

2016-04-28 09:59:25 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix caps leaks
	  The caps returned by gst_pad_get_allowed_caps() was leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765706

2016-04-27 18:08:46 +0900  Kipp Cannon <kipp.cannon@ligo.org>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: Add const to segment parameter of gst_audio_buffer_clip()
	  e.g., allows this to be used with the reference retrieved by
	  gst_event_parse_segment().
	  https://bugzilla.gnome.org/show_bug.cgi?id=765663

2016-04-21 08:45:40 +0200  Jakub Adam <jakub.adam@ktknet.cz>

	* sys/ximage/ximagesink.c:
	  ximagesink: generate reconfigure on window handle change
	  When ximagesink is given a new window handle, it should check
	  its geometry and if the size of the new window differs from
	  the previous one, create reconfigure event in order to get
	  a chance to negotiate a more suitable image resolution with
	  the upstream elements.
	  We can't rely on receiving Expose or ConfigureNotify from
	  the X server for the newly assigned window, which would also
	  generate reconfigure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765424

2016-04-25 17:16:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/encoding/gstsmartencoder.c:
	  smartencoder: Only accept TIME segments for real
	  ... and don't try to push pending data without ever having received a SEGMENT
	  event before EOS
	  https://bugzilla.gnome.org/show_bug.cgi?id=765541

2016-04-25 16:48:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: H265 level idc 0 is not valid
	  Don't put level=0 into the caps, it confuses other elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765538

2016-04-25 16:47:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: H264 level idc 0 is not valid
	  Don't put level=0 into the caps, it confuses other elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765538

2016-04-25 16:06:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Remove codec_data and streamheader fields from constraint caps
	  When converting discoverer output to an encoding profile, it makes sense to
	  omit these. It's very very unlikely that our encoder is going to produce bit
	  by bit the same codec_data or streamheader.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765534

2016-04-25 15:05:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.h:
	  encoding-profile: Don't put G_BEGIN_DECLS around #include statements
	  It should only be around our own declarations.

2016-04-22 15:07:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add more fastpaths for I420 -> RGB
	  Use the I420->BGRA and a new I420->ARGB to speed up any I420 to RGB
	  operation.

2016-04-19 17:36:20 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: update since markers to 1.8.1 for some new APIs
	  As we decided to backport some fixes we update the since markers.

2016-04-17 16:21:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/pipelines/vorbisenc.c:
	  tests: vorbisenc: fix with CK_FORK=no

2016-04-12 16:32:20 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Always add a multiqueue in single-stream use-buffering pipelines
	  If we are configured to use buffering and there is no demuxer in the chain, we
	  still want a multiqueue, otherwise we will ignore the use-buffering property.
	  In that case, we will insert a multiqueue after the parser or decoder - not
	  elsewhere, otherwise we won't have timestamps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-18 17:39:02 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tools/gst-play.c:
	  gst-play: call gst_deinit()
	  So we can use gst-play to track memory leaks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765216

2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstsdp.def:
	  win32: update .def for new API

2016-04-16 02:11:59 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  Revert "audioringbuffer: start ringbuffer if needed upon commit"
	  This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e.
	  Causes audio glitches at startup by starting to output segments
	  from the ringbuffer before it has been filled / fully prerolled.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657076

2016-04-15 00:18:50 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdpmessage: new gst_sdp_media_parse_keymgmt/gst_sdp_media_parse_keymgmt
	  We add a couple of new functions gst_sdp_media_parse_keymgmt and
	  gst_sdp_media_parse_keymgmt. We also implement
	  gst_sdp_message_attributes_to_caps and gst_sdp_media_attributes_to_caps
	  in terms of these new functions and also gst_mikey_message_to_caps.

2016-04-14 23:29:34 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	  mikey: add new function gst_mikey_message_to_caps

2016-04-15 12:54:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: fix build with GCC 4.6.3
	  gstsubparse.c: In function ‘parse_subrip’:
	  gstsubparse.c:988:7: error: ignoring return value of ‘strtol’, declared with attribute warn_unused_result [-Werror=unused-result]
	  cc1: all warnings being treated as errors
	  https://bugzilla.gnome.org/show_bug.cgi?id=765042

2016-04-15 13:08:38 +0200  Josep Torra <n770galaxy@gmail.com>

	* tests/icles/.gitignore:
	  .gitignore: add test-resample binary

2016-04-14 17:26:54 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: allow passing srtp or srtcp to create mikey message
	  Current implementation requires all srtp and srtcp parameters to be
	  given in the caps. MIKEY uses only one algorithm for encryption and one
	  for authentication so we now allow passing srtp or srtcp parameters. If
	  both are given srtp parametres will be preferred.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765027

2016-04-14 10:00:06 +0100  Julien Isorce <j.isorce@samsung.com>

	* README:
	* common:
	  Automatic update of common submodule
	  From 6f2d209 to ac2f647

2016-04-13 10:07:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  videometa: Initialize all fields of all metas with default values
	  The metas are not allocated with all fields initialized to zeroes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764902

2016-04-11 15:28:00 +0000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Explicitly initialize GstVideoCropMeta on init
	  It is not allocated with all fields initialized to 0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764902

2016-03-21 16:34:37 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: properly convert position-less channels from ALSA
	  The only way for ALSA to expose a position-less multi channels is to
	  return an array full of SND_CHMAP_MONO. Converting this to a
	  GST_AUDIO_CHANNEL_POSITION_MONO array would be invalid as
	  GST_AUDIO_CHANNEL_POSITION_MONO is meant to be used only with one
	  channel.
	  Fix this by using GST_AUDIO_CHANNEL_POSITION_NONE which is meant to be
	  used for position-less channels.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763799

2016-03-21 16:29:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: don't attempt to reorder position-less channels
	  As said in its doc GST_AUDIO_CHANNEL_POSITION_NONE is meant to be used
	  for "position-less channels, e.g. from a sound card that records 1024
	  channels; mutually exclusive with any other channel position".
	  But at the moment using such positions would raise a
	  'g_return_if_reached' warning as gst_audio_get_channel_reorder_map()
	  would reject it.
	  Fix this by preventing any attempt to reorder in such case as that's not
	  what we want anyway.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763799

2016-03-21 07:26:50 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: add debug output if channels mapping does not match
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 11:58:13 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: add some debugging output to alsa_detect_channels_mapping()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 11:46:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* win32/common/libgstaudio.def:
	  gst-audio: add gst_audio_channel_positions_to_string()
	  We currently don't log much about channel positions making debugging
	  harder as it should be. This is the first step in my attempt to improve
	  this.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 05:09:10 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: factor out alsa_detect_channels_mapping()
	  This code was duplicated in alsasrc and alsasink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 05:06:18 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.h:
	  alsa: coding style fix
	  Was using tabs instead of spaces.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-04-12 16:34:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  fdmemory, rtpbasedepayload: Ran gst-indent
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-12 16:25:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Rename misleading variable is_parser_converter into is_parser
	  In that place, the variable isn't checking whether the element is a
	  converter, only if it is a parser.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-11 11:28:09 +0200  Fabrice Bellet <fabrice@bellet.info>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: Fix a race with the audioringbuffer thread
	  There is a small window of time where the audio ringbuffer thread
	  can access the parent thread variable, before it's initialized
	  by the parent thread. The patch replaces this variable use by
	  g_thread_self().
	  https://bugzilla.gnome.org/show_bug.cgi?id=764865

2016-04-06 17:57:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	  tests: libscpp: test RTP/RTCP buffer init macros with C++ compiler

2016-04-06 21:03:19 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Don't complain when stream-start is the first event.
	  When blocking the subtitle pad, it's expected that stream-start
	  is the first event, and that it can precede caps arriving on the
	  peer pad - in fact the caps can only have arrived on the peer
	  pad when it was pre-primed with sticky events previously.
	  Instead, just pass the stream-start and don't block, because
	  stream-start is sticky anyway.

2016-04-06 21:00:10 +1000  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: WebVTT Cue identifiers are optional
	  Don't require a cue identifier preceding the time range line
	  when parsing WebVTT. We could also store the CueID, but it's
	  not using anywhere, so just ignore it for now.

2016-04-05 14:26:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstaudio.def:
	  win32: Add new libgstaudio symbols

2016-04-01 12:25:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  libs: audio: split allocation query caps and pad caps
	  Since the allocation query caps contains memory size and the pad's caps
	  contains the display size, an audio encoder or decoder might need to allocate
	  a different buffer size than the size negotiated in the caps.
	  This patch splits this logic distinction for audiodecoder and audioencoder.
	  Thus the user, if needs a different allocation caps, should set it through
	  gst_audio_{encoder,decoder}_set_allocation_cap() before calling the negotiate()
	  vmethod. Otherwise the allocation_caps will be the same as the caps in the
	  src pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764421

2016-03-31 15:31:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  libs: video: split allocation query caos and pad caps
	  Since the allocation query caps contains memory size and the pad's caps
	  contains the display size, a video encoder or decoder might need to allocate
	  a different frame size than the size negotiated in the caps.
	  This patch splits this logic distinction for videodecoder and videoencoder.
	  The user if needs a different allocation caps, should set the allocation_caps
	  in the GstVideoCodecState before calling negotiate() vmethod. Otherwise the
	  allocation_caps will be the same as the caps set in the src pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764421

2016-04-04 16:39:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: fix gtk-doc comment format

2016-04-02 10:37:55 +0200  Mikhail Fludkov <misha@pexip.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  rtpbasedepayload: look at ssrc before sequence numbers
	  Doing so prevents us dropping buffers in the rare, but possible, situations,
	  when the stream changes SSRC and new sequence numbers does not differ
	  much from the last sequence number from previous SSRC. For example:
	  ssrc - 0xaaaa 101,102,103,104 ssrc - 0xbbbb 102, 103, 104, 105...
	  In the scenario above we don't want to drop the first 3 packets of
	  0xbbbb stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764459

2016-04-03 11:40:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Don't fill up the segment with duplicate buffers if drop_only==TRUE

2016-04-03 11:38:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Remove dead code
	  We never get into this code path at all if drop_only==TRUE.

2016-03-29 17:19:41 +0200  Frédéric Bertolus <frederic.bertolus@parrot.com>

	* gst/videorate/gstvideorate.c:
	  videorate: avoid useless buffer copy in drop-only mode
	  Make writable the buffer before pushing it lead to a buffer copy. It's
	  because a reference is keep for the previous buffer.
	  The previous buffer reference is only need to duplicate the buffer. In
	  drop-only mode, the previous buffer is release just after pushing the
	  buffer so a copy is done but it's useless.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764319

2016-04-02 15:19:44 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video: fix example code in gst_video_frame_map() docs
	  GST_VIDEO_FRAME_PLANE_PSTRIDE() does not exist.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764414

2016-04-02 10:09:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: copy over result and seekable fields when copying a discoverer info
	  The function gst_discoverer_info_copy doesn't copy the data members seekable
	  and result of the source GstDiscovererInfo.
	  In the case of copying a GstDiscovererInfo for later use, the seekbale will be
	  undefined, which in practice usually will be false, even though the seekable of
	  the original GstDiscovererInfo is true.
	  https://bugzilla.gnome.org/show_bug.cgi?id=762710

2016-03-31 13:32:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Fix macro documentation
	  The parameter type was wrongly documenting that a GstVideoInfo structure
	  pointer was needed, while it needs a GstVideoFormatInfo structure
	  pointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764414

2016-03-26 20:53:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	* tests/check/libs/rtp.c:
	  test: fix indentation

2016-03-26 20:52:16 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtp: rtcpbuffer: fix indentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2016-03-26 20:50:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtp: rtpcbuffer: fix Since markers
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2016-03-30 11:16:49 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: disable neon on arm64
	  Fix the build on arm64 by using HAVE_ARM_NEON instead of __ARM_NEON__.

2016-03-29 22:16:38 +1100  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Add more parsing guards
	  Insert extra checks for the validity of the incoming
	  data when parsing subrip/webvtt content and debug log
	  output for invalid content.
	  Should fix Coverity warnings.

2016-03-29 10:23:08 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/subparse/gstsubparse.c:
	  subparse: add missing break between formats
	  A break is missing at the end of case GST_SUB_PARSE_FORMAT_LRC or it will
	  fallthrough to WebVTT. This fixes commit fd2a14144a7a.

2016-03-29 12:11:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) in more places

2016-03-29 11:25:15 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* win32/common/video-enumtypes.c:
	  win32: Update exports for new video formats
	  Update win32 exports for P010_10BE and P010_10LE
	  video formats.

2016-03-29 11:16:42 +0300  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: add P010 format support
	  P010 is a YUV420 format with an interleaved U-V plane and 2-bytes per
	  component with the the color value stored in the 10 most significant
	  bits.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761607
	  ---
	  Changes since v2:
	  - Set bits=16 in DPTH10_10_10_HI
	  Changes since v1:
	  - Fixed x-offset calculation in uv.
	  - Added 6-bit shifts to FormatInfo.

2016-03-29 10:15:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x)
	  The latter is only available on x86-64 for some reason.

2016-03-29 08:21:54 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Fix distcheck
	  Don't forget to dist the needed files (which don't need to be installed)

2016-03-28 15:37:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: estimate memory usage in auto mode
	  Estimate the memory usage and use this to decide between full or
	  interpolated filter.

2016-03-28 12:51:26 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/Makefile.am:
	* gst/audioresample/README:
	* gst/audioresample/gstaudioresample.c:
	  audioresample: remove last ORC remains

2016-03-16 12:55:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small optimizations

2016-03-04 17:15:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: improve non-interleaved flags
	  Make it possible to have different interleaving on input and output
	  because we can quite trivially do that.

2016-03-02 11:40:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: unroll some more loops
	  Unroll some loops.

2016-03-01 16:31:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: keep precision
	  Transpose and add before applying the cubic interpolation to avoid
	  overflows when using full precision.

2016-03-01 16:26:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small cleanups

2016-02-25 15:38:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: optimize no resampling
	  Switch to the faster nearest resample method when are doing no rate
	  conversion.

2016-02-25 14:09:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add VARIABLE_RATE flag
	  Add a VARIABLE rate flag that selects an interpolating filter.
	  Move some function setup code in the _new function.

2016-02-23 04:46:55 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: more neon optimizations

2016-02-24 12:57:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: avoid overflow in cubic interpolation
	  Shift out an extra bit to have some more headroom when doing cubic
	  interpolation.

2016-02-24 12:56:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: overread only 8 taps
	  We only need 8 taps of zeroes as headroom for the SIMD optimized
	  functions.

2016-02-24 12:55:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: use helper to check intermediate format

2016-02-23 15:37:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix phase

2016-02-22 11:16:28 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: fix neon assembler

2016-02-22 13:19:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: avoid some format conversion
	  Store the filter in the desired sample format so that we can simply do a
	  linear or cubic interpolation to get the new filter instead of having to
	  go through gdouble and then convert.

2016-02-22 03:28:21 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: fix neon linear float interpolation

2016-02-19 16:39:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: reorder filter coefficients for more speed
	  Reorder the filter coefficients to make it easier to use SIMD for
	  interpolation.
	  Fix orc flags a little.
	  Add specialized nearest resampling function.

2016-02-19 10:40:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: remove stereo optimizations
	  The stereo optimizations don't give enough benefit.
	  Rename none to full to make it clear that we use a full filter instead
	  of an interpolated one

2016-02-18 12:48:45 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resample: remove neon double stubs
	  NEON does not have double types.

2016-02-18 12:38:49 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: add more neon optimizations

2016-02-18 11:05:18 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: add more neon optimizations

2016-02-17 11:20:06 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add neon optimizations
	  Unroll some more loops in the fallback code that seems to work fine
	  for ARM.
	  Add some simple ARM optimizations taken from speex.

2016-02-17 13:12:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: give better hints about the precision
	  Give better hints to the compiler about the precision we expect from
	  the multiplications.

2016-02-17 12:05:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resample: small optimizations
	  Remove some inline functions that are called in the slow path.
	  Unroll C fallback functions a little.

2016-02-16 09:18:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Use n_phases when calculating taps offset
	  Tweak linear interpolation oversampling.
	  Clear filter cache on rate changes when using a full filter.

2016-02-15 18:06:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audio-resampler: improve filter construction
	  Remove some unused variables from the inner product functions.
	  Make filter coefficients by interpolating if required.
	  Rename some fields.
	  Try hard to not recalculate filters when just chaging the rate.
	  Add more proprties to audioresample.

2016-02-12 10:00:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: avoid overflow in fraction calculation

2016-02-11 19:42:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: increase precision

2016-02-11 17:40:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: add more optimizations

2016-02-11 13:23:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resample: fix taps conversion
	  We do taps conversion in place so make sure we don't overwrite the
	  input with temporary data.
	  Optimize some more gint16 functions.

2016-02-11 11:57:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Improve taps memory layout
	  Rearrange the oversampled taps in memory to make it easier to use
	  SIMD instructions on them. this simplifies some sse code.
	  Add some more optimizations

2016-02-10 17:28:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add cubic interpolation

2016-02-10 13:31:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* win32/common/libgstaudio.def:
	  audio-resampler: add more functions
	  Use some macros to generate more functions

2016-02-10 12:04:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add linear interpolation method
	  Make more functions into macros.
	  Add linear interpolation of filter coefficients.

2016-02-04 15:22:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/icles/Makefile.am:
	* tests/icles/test-resample.c:
	  tests: add resample test

2016-02-04 15:21:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add max-phase-error config

2016-02-04 15:19:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve tap calculation
	  Return the taps from make_taps, this makes it possible to not actually
	  have to cache the taps when we want to.
	  Fix overflow in phase calculation.

2016-02-02 12:06:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: fix guint -> gint

2016-02-02 11:48:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve phase error
	  Accept a phase error of maximum 10%, which turns out to be inaudible.

2016-02-01 17:18:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve phase calculation
	  Also calculate the GCD with the current phase so that we can accurately
	  represent the current phase with the new resample rates.

2016-01-26 22:53:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix history after buffer resize
	  When we resize the temp buffer, move the history in its new place.

2016-01-26 16:42:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	* win32/common/libgstaudio.def:
	  audio-resampler: add reset function
	  Add a function to reset the audio-resampler.
	  Use new function in audio-converter
	  Use the new functions in gstaudioresample and fixup drain functions.

2016-01-26 16:40:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Small fixes
	  Fix the phase.
	  Reset the new sample buffer with 0.
	  Move samples around when we change the filter size.

2016-01-26 16:38:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Rework make_taps
	  Make it return a pointer to the generated taps. That way we can later
	  decide to actually cache it or not.

2016-01-26 09:57:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	  audio-resampler: handle filter length changes
	  Update the buffer with history samples when the filter length changes
	  because of an update of the parameters or sample rates.

2016-01-22 17:34:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix samples_avail
	  We only know the taps after we calculate them.

2016-01-22 16:45:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: work on dynamically changing the samplerate
	  Calculate the new phase for the new sample rate.
	  Fix some docs.

2016-01-22 10:28:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small cleanups

2016-01-21 10:38:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add fallback to mono function
	  Remove stereo implementations. Implement fall back to mono functions
	  when the stereo function is missing.

2016-01-18 12:52:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add float stereo SSE function

2016-01-15 12:45:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* configure.ac:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: Fix compilation of intrinsics
	  Only compile intrinsics when we are building for the selected
	  architecture.
	  Add sse4.1 optimized int32 resampler code.

2016-01-15 11:43:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audioconvert: only resample on supported formats

2016-01-15 11:20:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	  audio-converter: make some optimized functions
	  Make an optimized function that just calls the resampler when possible.
	  Optimize the resampler transform_size function a little.

2016-01-15 10:26:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: remove mirror function
	  We don't need to mirror the input, just assume 0 samples.
	  Always move the processed samples to the start of the buffer.
	  Add some G_LIKELY

2016-01-13 17:50:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: also enable sse when sse2 is available

2016-01-13 17:44:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: optimizations
	  Improve int16 resampling by using pmaddwd
	  Use intrinsics to scale and pack int16 samples
	  Align the coefficients so that we can use aligned loads
	  Add padding to taps and samples so that we don't have to use partial
	  loads for the remainder of the loops.
	  Remove copy_n, we can reuse the plain copy function with some new
	  parameters.
	  Align and pad the sample array.

2016-01-12 18:55:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: make pluggable optimized functions
	  Add support for x86 specialized functions and select them at runtime.

2016-01-12 10:23:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-core.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: combine functions

2016-01-11 16:25:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstaudio.def:
	  defs: update

2016-01-05 16:06:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	  audio-converter: simplify API
	  Remove the consumed/produced output fields from the resampler and
	  converter. Let the caler specify the right number of input/output
	  samples so we can be more optimal.
	  Use just one function to update the converter configuration.
	  Simplify some things internally.
	  Make it possible to use writable input as temp space in audioconvert.

2016-01-04 18:28:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audio-converter: more work on resampling
	  - Fix the resampler in the audio converter
	  - fix memory leaks

2015-11-13 15:32:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler-core.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/dbesi0.c:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/arch.h:
	* gst/audioresample/fixed_arm4.h:
	* gst/audioresample/fixed_arm5e.h:
	* gst/audioresample/fixed_bfin.h:
	* gst/audioresample/fixed_debug.h:
	* gst/audioresample/fixed_generic.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample_neon.h:
	* gst/audioresample/resample_sse.h:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_double.c:
	* gst/audioresample/speex_resampler_float.c:
	* gst/audioresample/speex_resampler_int.c:
	* gst/audioresample/speex_resampler_wrapper.h:
	  audio-converter: add resampler
	  Add a resampler to the processing chain when needed.
	  port the audio resampler to the new audioconverter library

2016-03-25 01:13:54 +1100  Jan Schmidt <jan@centricular.com>

	* win32/common/libgstpbutils.def:
	* win32/common/libgstrtp.def:
	  win32: update win32 exports for new API

2016-03-07 23:29:43 +1100  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* tests/check/elements/subparse.c:
	  subparse: WebVTT parsing support
	  WebVTT is a new subtitle format for HTML5 video. In this first
	  version of the parser the cue settings are parsed but only stored in
	  the internal parser state structure. Later on these settings could be
	  part of the GstBuffer metadata.
	  https://bugzilla.gnome.org/show_bug.cgi?id=629764

2016-02-26 02:58:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add a typefinder for WebVTT files

2016-02-26 02:56:15 +1100  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Reduce URI typefinder from MAX to LIKELY
	  Don't claim maximum likelihood for anything that starts
	  with text that looks like a uri, it's too broad.

2016-03-24 14:59:48 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Hold new buffering_post lock while posting msgs
	  There's a small window between decodebin choosing a buffering level
	  to post and another thread choosing a different buffering level
	  where things can race. Close that window by holding a new lock
	  that's only for posting buffering messages - like what was done
	  in multiqueue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764020

2016-03-08 19:22:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
	  No need to do this for each input buffer, we have the input caps
	  stored somewhere already.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763337

2016-03-22 11:25:49 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: Add utilities for AAC and the AACHead header
	  Add utilities about the channels and sample rate for AAC.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749110

2016-03-21 16:06:20 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Modify result of seekable in check_upstream_seekable function
	  In check_upstream_seekable function, it returns FALSE value even though
	  we already declare about the seekable variable. So, This patch return
	  result of seekable in check_upstream_seekable function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763975

2016-03-03 16:46:24 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/playbin-complex.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/baseaudiovisualizer.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  base: use new gst_element_class_add_static_pad_template()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763075

2015-10-06 17:02:03 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Add API for APP packets
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2014-07-29 15:37:12 +0200  Haakon Sporsheim <haakon@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	* win32/common/libgstrtp.def:
	  rtcpbuffer: Add profile-specific extension API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761950

2016-03-24 13:32:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.8.0 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.8.0

2016-03-24 11:43:05 +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/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 13:22:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	  install-plugins: update documentation
	  Use gst-inspect-1.0 instead of gst-inspect-0.10
	  https://bugzilla.gnome.org/show_bug.cgi?id=763316

=== release 1.7.91 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	  Release 1.7.91

2016-03-15 11:48:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.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/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/tr.po:
	  Update .po files

2016-03-15 11:40:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/cs.po:
	* po/fr.po:
	* po/hu.po:
	* po/pl.po:
	* po/ru.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2016-03-14 17:06:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Shut down all elements explicitly to NULL state before freeing the decode chain
	  Due to transient locked state during autoplugging, some elements might be
	  ignored by the GstBin::change_state() and might still be running. Which could
	  then cause pad-added and similar accessing decodebin state that does not exist
	  anymore, and crash.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763625

2016-03-13 13:59:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandlesink: Remove useless streamheader storage
	  We don't do anything with it but always get them from the caps anyway, so
	  stop storing them and having complicated logic around that.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

2016-03-13 10:51:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	  multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps
	  And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
	  fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
	  puts the HEADER flag on its keyframes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: expose_pad() is always called with lock==TRUE, simplify code
	  This basically reverts ee44337fc3e3030a5155d28b3561af157e6c6003 .
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-12 19:46:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't check twice if the decode chain is complete in pad_added_cb()
	  expose_pad() already does the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-12 19:45:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
	  In other places we lock it the other way around, leading to possible
	  deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
	  autoplugged that adds new pads on itself when its state is changed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-13 10:58:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultioutputsink.c:
	  tcp: Remove unused file
	  It's a copy of multihandlesink, but completely outdated. Let's get rid of it
	  before it gets even more outdated.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

2016-03-08 19:22:34 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Add new properties and alignment type for unclamped absolute positions
	  Introduces [x-absolute, y-absolute] properties
	  for positioning in +/- MAX_DOUBLE range.
	  Adds new (h/v)alignment type "absolute" where coordinates
	  map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:
	  [0, 0]: Top-Lefts of video and text are aligned
	  [0.5, 0.5]: Centers are aligned
	  [1, 1]: Bottom-Rights are aligned
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-03-11 13:15:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "textoverlay: Do not limit positioning to video area."
	  This reverts commit a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.
	  This changed behaviour in a way that's not always
	  backwards-compatible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-02-25 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* win32/common/libgstfft.def:
	  win32: Add a module definitions file for gstfft

2016-03-09 09:56:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theora: fix performance category initialisation
	  Remove unused _register() functions and look up the performance
	  debug category in a function that's actually called at some point.

2016-03-04 17:13:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.h:
	  audio-channel-mixer: improve non-interleaved flags
	  Make separate flags for non-interleaved input and output because the
	  channel mixer should be able to convert between the two layouts in the
	  future.

2016-03-04 12:12:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tools/gst-play.c:
	  gst-play: remove peculiar setting of invalid -v property

2016-02-05 14:14:37 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix chaining causing running time to restart from 0
	  This fixes:
	  gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg
	  https://bugzilla.gnome.org/show_bug.cgi?id=758282

2016-03-03 20:10:17 +0100  Havard Graff <havard.graff@gmail.com>

	* ext/opus/gstopusdec.c:
	  opusdec: plug caps leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=763059

2016-03-02 20:47:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
	  This reverts commit 0615794300234e3efbcb49a524efdee11171ab4c.
	  deinterlace was ported at some point in the last 4 years and has better video
	  format support, and especially better negotiation than avdeinterlace. Having
	  avdeinterlace but not deinterlace causes various problems in zerocopy
	  scenarios.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760553

2016-03-02 18:47:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Make dispose() function safe to be called multiple times

=== release 1.7.90 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.7.90

2016-03-01 16:53:05 +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/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-01-28 16:26:47 +0100  Tom Deseyn <tom.deseyn@gmail.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: handle client close correctly and EWOULDBLOCK
	  Fixes 100% cpu usage when client disconnects. Commit 6db2ee56
	  would just make multisocketsink ignore reads of 0 bytes without
	  removing the client, so we'd get woken up over and over again
	  for the client.
	  Fix the original issue differently by handling the non-fatal error code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761257
	  https://bugzilla.gnome.org/show_bug.cgi?id=743834

2016-02-27 00:11:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup file
	  https://bugzilla.gnome.org/show_bug.cgi?id=761851

2016-02-11 11:27:57 +0100  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add direct UYVY to GRAY8 conversion function
	  https://bugzilla.gnome.org/show_bug.cgi?id=761851

2016-02-04 16:01:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opus: fix mono<->stereo up/down-mixing
	  https://bugzilla.gnome.org/show_bug.cgi?id=761588

2016-02-26 17:09:06 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
	  They are converted into <para></para> by gtk-doc...
	  https://bugzilla.gnome.org/show_bug.cgi?id=762674

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

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

2016-02-26 00:53:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
	  They have been replaced by "audio-type" and "bitrate-type".
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-26 00:37:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-opus.xml:
	  docs: add Opus to docs

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

	* configure.ac:
	* ext/Makefile.am:
	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	  opus: move Opus audio decoder and encoder from -bad to -base
	  Hook into build system after moving history.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-25 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	  Merge branch 'plugin-move-opus'
	  Move Opus decoder and encoder from -bad to -base.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-25 23:13:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
	  < and > are composed with shift + something else on many keyboards
	  layouts, so don't work well when injecting them via windowing systems
	  which will send them as shift key press and separate other key, and
	  we the don't combine that to < or > properly. n/b are easier.

2016-02-26 00:02:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/libs/baseaudiovisualizer.c:
	  audiovisualizer: Use the library instead of including the source file
	  Fixes build now that the shader enum GType has moved to a different file.

2016-02-25 20:39:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
	  That happens automatically already anyway.

2016-02-25 17:46:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video: flesh out docs for gst_video_frame_map()

2016-02-25 10:47:17 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  visual: correct type name
	  Base class type name should not reference libvisual since not all child
	  elements use this. This was an oversight when merging audiovisualizers into
	  a common base class.

2016-02-24 14:05:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	  audio-quantize: fix feedback dither
	  Make sure we allocated enough extra space in the error buffer to
	  store the feedback error.

2016-02-24 12:54:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: perform dithering on the current format
	  Use the current (intermediate) format to decide how to set up dithering
	  instead of the input format.

2016-02-23 18:23:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully

2016-02-23 09:35:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaysink.c:
	  Revert "playsink: Properly mark pending blocked pads"
	  This reverts commit 62053852de01fb324a915b27c00f5b8dc0f66fb3.
	  The issue that the patch fixes is only noticeable when using decodebin3,
	  which isn't yet in master.

2015-12-10 15:32:06 +0100  Adam Miartus <adam.miartus@streamunlimited.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  tag: id3v2: read conductor tag
	  ID3v2 features the TPE3 info frame, which contains information
	  about the conductor.
	  https://bugzilla.gnome.org/show_bug.cgi?id=762451

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

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/video-frame.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagesink.c:
	  Fix use of undeclared core debug category symbols
	  libgstreamer currently exports some debug category
	  symbols GST_CAT_*, but those are not declared in any
	  public headers.
	  Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
	  to declare and use those, but that's just not right at
	  all, and it won't work on Windows with MSVC. Instead look
	  up the categories via the API.

2016-02-20 10:05:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/audio.def:
	* gst-libs/gst/audio/audio.vcproj:
	* gst-libs/gst/audio/audiofilter.vcproj:
	* gst-libs/gst/riff/riff.def:
	* gst-libs/gst/riff/riff.vcproj:
	* gst-libs/gst/video/video.vcproj:
	* gst/adder/adder.vcproj:
	* gst/audioconvert/audioconvert.vcproj:
	* gst/audiorate/audiorate.vcproj:
	* gst/tcp/tcp.vcproj:
	* gst/typefind/typefindfunctions.vcproj:
	* gst/videoconvert/videoconvert.vcproj:
	* gst/videorate/videorate.vcproj:
	* gst/videoscale/videoscale.vcproj:
	* gst/videotestsrc/videotestsrc.vcproj:
	* gst/volume/volume.vcproj:
	* win32/MANIFEST:
	* win32/vs6/grammar.dsp:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstadder.dsp:
	* win32/vs6/libgstaudio.dsp:
	* win32/vs6/libgstaudioconvert.dsp:
	* win32/vs6/libgstaudiorate.dsp:
	* win32/vs6/libgstaudioresample.dsp:
	* win32/vs6/libgstaudioscale.dsp:
	* win32/vs6/libgstaudiotestsrc.dsp:
	* win32/vs6/libgstdecodebin.dsp:
	* win32/vs6/libgstdecodebin2.dsp:
	* win32/vs6/libgstdirectsound.dsp:
	* win32/vs6/libgstfft.dsp:
	* win32/vs6/libgstgdp.dsp:
	* win32/vs6/libgstinterfaces.dsp:
	* win32/vs6/libgstogg.dsp:
	* win32/vs6/libgstpbutils.dsp:
	* win32/vs6/libgstplaybin.dsp:
	* win32/vs6/libgstriff.dsp:
	* win32/vs6/libgstrtp.dsp:
	* win32/vs6/libgstrtsp.dsp:
	* win32/vs6/libgstsdp.dsp:
	* win32/vs6/libgstsinesrc.dsp:
	* win32/vs6/libgstsubparse.dsp:
	* win32/vs6/libgsttag.dsp:
	* win32/vs6/libgsttheora.dsp:
	* win32/vs6/libgsttypefindfunctions.dsp:
	* win32/vs6/libgstvideo.dsp:
	* win32/vs6/libgstvideorate.dsp:
	* win32/vs6/libgstvideoscale.dsp:
	* win32/vs6/libgstvideotestsrc.dsp:
	* win32/vs6/libgstvolume.dsp:
	* win32/vs6/libgstvorbis.dsp:
	* win32/vs7/gst-plugins-base.sln:
	* win32/vs7/libgstadder.vcproj:
	* win32/vs7/libgstaudio.vcproj:
	* win32/vs7/libgstaudioconvert.vcproj:
	* win32/vs7/libgstaudiorate.vcproj:
	* win32/vs7/libgstaudioresample.vcproj:
	* win32/vs7/libgstaudiotestsrc.vcproj:
	* win32/vs7/libgstdecodebin.vcproj:
	* win32/vs7/libgstinterfaces.vcproj:
	* win32/vs7/libgstogg.vcproj:
	* win32/vs7/libgstplaybin.vcproj:
	* win32/vs7/libgstriff.vcproj:
	* win32/vs7/libgstsubparse.vcproj:
	* win32/vs7/libgsttag.vcproj:
	* win32/vs7/libgsttcp.vcproj:
	* win32/vs7/libgsttheora.vcproj:
	* win32/vs7/libgsttypefind.vcproj:
	* win32/vs7/libgstvideo.vcproj:
	* win32/vs7/libgstvideorate.vcproj:
	* win32/vs7/libgstvideoscale.vcproj:
	* win32/vs7/libgstvideotestsrc.vcproj:
	* win32/vs7/libgstvolume.vcproj:
	* win32/vs7/libgstvorbis.vcproj:
	* win32/vs8/gst-plugins-base.sln:
	* win32/vs8/libgstadder.vcproj:
	* win32/vs8/libgstaudio.vcproj:
	* win32/vs8/libgstaudioconvert.vcproj:
	* win32/vs8/libgstaudiorate.vcproj:
	* win32/vs8/libgstaudioresample.vcproj:
	* win32/vs8/libgstaudiotestsrc.vcproj:
	* win32/vs8/libgstdecodebin.vcproj:
	* win32/vs8/libgstinterfaces.vcproj:
	* win32/vs8/libgstogg.vcproj:
	* win32/vs8/libgstplaybin.vcproj:
	* win32/vs8/libgstriff.vcproj:
	* win32/vs8/libgstsubparse.vcproj:
	* win32/vs8/libgsttag.vcproj:
	* win32/vs8/libgsttcp.vcproj:
	* win32/vs8/libgsttheora.vcproj:
	* win32/vs8/libgsttypefind.vcproj:
	* win32/vs8/libgstvideo.vcproj:
	* win32/vs8/libgstvideorate.vcproj:
	* win32/vs8/libgstvideoscale.vcproj:
	* win32/vs8/libgstvideotestsrc.vcproj:
	* win32/vs8/libgstvolume.vcproj:
	* win32/vs8/libgstvorbis.vcproj:
	  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-19 12:38:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.7.2 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  Release 1.7.2

2016-02-19 10:31:05 +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/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-02-18 14:31:28 +0000  Julien Isorce <j.isorce@samsung.com>

	* pkgconfig/gstreamer-allocators-uninstalled.pc.in:
	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	  uninstalled.pc: add support for non libtool build systems
	  Currently the .la path is provided which requires to use libtool as
	  mentioned in the GStreamer manual section-helloworld-compilerun.html.
	  It is fine as long as the application is built using libtool.
	  So currently it is not possible to compile a GStreamer application
	  within gst-uninstalled with CMake or other build system different
	  than autotools.
	  This patch allows to do the following in gst-uninstalled env:
	  gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
	  gstreamer-video-1.0)
	  Previously it required to prepend libtool --mode=link
	  https://bugzilla.gnome.org/show_bug.cgi?id=720778

2016-01-22 18:26:01 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: strengthen check for valid H.263 picture layer
	  Avoids some false positives leading to miss identification:
	  * Prevent picture start code emulation for the first 2 bytes read
	  * Add check for valid "picture coding type" and "PB-frames mode" combination
	  Additionally, change name on confusingly named TR var to what
	  it is, the layer's PTYPE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693263

2015-11-23 15:06:02 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: return incomplete topology if decode chains' cap could not be obtained
	  When getting caps of the decode chain, in get_topology, the caps are being
	  checked if fixed or not. But get_topology will be called when the decode is
	  chain is being exposed and hence it will always be fixed. Hence removing the
	  check for fixed caps. Removing gst_pad_get_current_caps for the chain->pad, as
	  get_pad_caps will again call the same api.
	  And get_topology can return NULL value if currently shutting down the
	  pipeline, which on being passed to create message will result in assertion
	  error. Check if topology is valid before using it
	  https://bugzilla.gnome.org/show_bug.cgi?id=755918

2016-02-05 10:10:40 +0100  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/Makefile.am:
	  rtp: build audio library before rtp
	  Because audio-enumtypes.h needs to be available for
	  gstrtpbaseaudiopayload.c
	  https://bugzilla.gnome.org/show_bug.cgi?id=761949

2016-02-15 21:28:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix documentation of the autoplug-query signal

2016-01-26 13:54:46 +0100  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder: Fix leak when pre_push does not return OK
	  https://bugzilla.gnome.org/show_bug.cgi?id=761951

2016-02-11 19:47:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/resample.c:
	  resample: avoid overflows
	  Avoid overflow in rate calculation. This can cause the resampler to
	  start on the wrong phase after a rate change.
	  Avoid overflow in cubic fraction calculation. This can cause noise when
	  dealing with higher samplerates.

2016-02-11 18:01:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/resample_sse.h:
	  resample: fix double interpolation sse code
	  We were only reading 2 filter taps and we need to read 4 to do cubic
	  interpolation.

2016-02-10 12:48:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: make a copy if we can't write in unpack
	  If we don't have writable memory, make sure to make a copy of the input
	  samples into a temporary (writable) buffer, even if we are dealing with
	  a native intermediate format that we don't need to call the unpack
	  function for.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=761655

2016-02-05 19:15:16 -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.
	  Also replaces a 120 timeout that was set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761472

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

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

2016-01-21 09:43:35 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  textoverlay: Expose rendering dimensions as properties.
	  In order to detect graphical user input on the
	  textoverlay, the resulting rendering properties
	  need to be exposed to applications.
	  Fixes delayx property declaration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-01-20 15:37:44 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Do not limit positioning to video area.
	  The current position property is limited to X,Y positions
	  in the range of [0, 1]. This patch allows full control
	  over the overlay position, including partially outside
	  of the video area.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-02-03 16:28:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opus: fix FEC
	  FEC may only be used when PLC is enabled on the audio decoder,
	  as it relies on empty buffers to generate audio from the next
	  buffer. Hooking to the gap events doesn't work as the audio
	  decoder does not like more buffers output than it sends.
	  The length of data to generate using FEC from the next packet
	  is determined by rounding the gap duration to nearest. This
	  ensures that duration imprecision does not cause quantization
	  to 2.5 milliseconds less than available. Doing so causes the
	  Opus API to fail decoding. Such duration imprecision is common
	  in live cases.
	  The buffer to consider when determining the length of audio
	  to be decoded is the previous buffer when using FEC, and the
	  new buffer otherwise. In the FEC case, this means we determine
	  the amount of audio from the previous buffer, whether it was
	  missing or not (and get the data either from this buffer, or
	  the current one if the previous one was missing).

2016-02-02 15:20:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix wrong buffer being checked for missing data
	  This caused a decoding error if the resulting (wrong) buffer size
	  was passed to the Opus decoding API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758158

2016-01-28 13:29:39 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Use gst_audio_format_fill_silence() instead of memset with 0 for generating silence
	  For unsigned formats, silence is not all bits 0.

2016-01-28 13:21:33 +0100  HoonHee Lee <hoonhee.lee@lge.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: Minor cleanup of last commit
	  https://bugzilla.gnome.org/show_bug.cgi?id=761218

2016-01-28 18:06:44 +0900  HoonHee Lee <hoonhee.lee@lge.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: use gst_pad_peer_query_caps to make output caps
	  gst_pad_get_allowed_caps() will return NULL if the srcpad has no peer.
	  In that case, use gst_pad_peer_query_caps() with template caps as filter
	  to have negotiated output caps properly before forwarding GAP event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761218

2016-01-26 19:23:04 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/encoding/gstencodebin.c:
	  encodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE
	  Some encoders can update the stream header through time (for example
	  vp8 might do that) but it does not strictly changes the output format.

2016-01-26 14:09:42 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: fix GstVideoFormatInfo documentation warnings
	  Add missing ':' to tile_ws and tile_hs fields documentation to avoid
	  bad render of these two fields, mark reserved bytes as private to hide
	  field and avoid gtkdoc warning and add parameters description to
	  documented macro to avoid gtkdoc warnings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761132

2016-01-26 16:56:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* win32/common/libgstaudio.def:
	  audio-converter: add reset function

2016-01-26 16:36:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: handle NULL input
	  Allow NULL as input to mean silence samples.

2016-01-26 17:16:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: improve _update_config
	  Allow NULL config to keep the existing parameters.
	  Fix the docs.

2016-01-26 17:14:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: audio-converter: make some optimized functions
	  Make optimized functions for generic and passthrough conversion.

2016-01-26 16:34:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	  audio-quantize: add _reset function
	  Add a reset function that clears any history.

2016-01-25 17:40:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* m4/Makefile.am:
	* m4/freetype2.m4:
	* tests/examples/Makefile.am:
	  build: remove nonsensical check for freetype
	  The examples need Gtk+, nothing uses freetype directly.

2016-01-25 16:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/libvisual.c:
	  tests: libvisual: make run faster
	  Reduce resolution, which shouldn't make any difference
	  to what's tested here. Makes test finish in less than
	  half the time it took before (8s vs. 21s).

2016-01-25 18:30:30 +0530  Arun Raghavan <git@arunraghavan.net>

	* ext/alsa/gstalsasink.c:
	  alsa: Trivial doc update
	  alsasink now does more than just raw audio.

2016-01-21 18:30:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Correctly expose pads from elements that have directly exposable pads
	  analyze_new_pad() can return a new decode chain, which might have a new
	  GstDecodePad in the end. We should use those two for expose_pad() and not the
	  original ones that were passed to analyze_new_pad().
	  This fails when having a demuxer element that has raw pads immediately or
	  if a decoder with raw caps is after an adaptive demuxer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760949

2016-01-21 16:08:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: ensure correct alignment of samples
	  Make sure that the data we allocate for our temporary buffers is
	  properly aligned.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=760938

2016-01-21 10:45:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video-color: add Adobe RGB primaries and transfer function

2016-01-20 10:19:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: enfore RGB matrix for RGB formats
	  In gst_video_info_to_caps(), make sure we end up with an RGB matrix for
	  RGB formats and warn when the GstVideoInfo colorimetry is wrong.
	  In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix
	  for RGB formats and warn about inconsistent caps.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=759624

2016-01-20 10:02:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: ignore matrix for RGB formats
	  For RGB formats, the matrix in the colorimetry (conversion from YUV to
	  RGB) is irrelevant and we should ignore it and assume the identity
	  transform for everything we do.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624

2016-01-19 23:26:57 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
	  It was never actually supported or used
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-19 23:22:35 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"
	  This reverts commit 63517d0ed348784cce4ab4b295c2c0f1b78baa81.
	  It was wrong ref counting wise and we decided to deprecated DROPPED
	  return value
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-18 11:40:36 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/elements/audioconvert.c:
	  tests:audioconvert: Fix integer overflow build error
	  value of 32768L << 16 and 1L << 31 is 2147483648
	  but it exceeds the positive range of int which is 2147483647
	  resulting in integer overflow error. Use G_GINT64_CONSTANT instead of L.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760769

2016-01-19 12:39:22 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Minor documentation cleanup

2016-01-14 23:14:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: allow setting of flags in serialized foo+bar format
	  https://bugzilla.gnome.org/show_bug.cgi?id=751901

2015-07-02 17:58:00 +0200  Hugues Fruchet <hugues.fruchet@st.com>

	* tools/gst-play.c:
	  tools: gst-play: add command line options for verbose output and playbin flags
	  https://bugzilla.gnome.org/show_bug.cgi?id=751901

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

	* win32/common/libgstapp.def:
	  win32: Update exports

2015-10-15 10:38:16 -0400  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  Add WAIT_ON_EOS flag to gstappsink.
	  If set, an appsink that receives an EOS will wait until all of its buffers have been processed before continuing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756187

2016-01-16 10:17:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Add note to the documentation about various settings being reset before set_format()
	  It's quite unexpected behaviour that various subclass settings are just
	  reset before set_format(). Unfortunately changing this now has the risk
	  of breaking existing code but we should reconsider this for 2.0.

2016-01-09 04:35:23 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Ignore flushing streams [..]
	  [..] when resetting group start time. In GES, we are usually connected
	  to the streamsynchronizer on one audio and one video pad.
	  When seeking the timeline, both nlecompositions often output their flush_start
	  before any of them has output its flush_stop.
	  The current code, when receiving the first flush stop was using the
	  running time of the start of the second composition, which could
	  be pretty much anything, and means nothing at that point.
	  This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken
	  both when setting flushing and when checking it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750013

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

	* gst/playback/gstplaybin2.c:
	  playbin: Only append non-raw and sysmem pad template caps to the autoplug-query result
	  Otherwise a decoder supporting GL memory will think that all downstream can
	  support GL memory because of seeing its own template caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2016-01-08 18:37:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  Revert "playbin: only add the template caps when the result is empty"
	  This reverts commit 023af2d3b192f8ebf1bd4fe75a22a4adaedc1e05.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2016-01-15 13:35:22 +0000  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Release video frame when ->handle return ERROR or DROPPED
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-15 09:50:29 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Properly mark pending blocked pads
	  When blocking input pads, we also need to properly set the appropriate
	  pending flag.
	  Without this, when switching stream types after initial configuration
	  (like going from Audio+Video to Audio+Video+Sub) playsink would never
	  wait for *all* input streams to be blocked (it would just wait for the
	  new input pad (text in this case) to be blocked).
	  Since the reconfiguration might introduce unlinking/relinking of elements,
	  we need to ensure that *ALL* input streams are blocked.
	  Failure to do so would result in having some input streams pushing data
	  to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads
	  (returning GST_FLOW_NOT_LINKED).
	  A later optimization could involve only blocking the input pads that
	  might be involved in reconfiguration. But better be safe than sorry for
	  now :)

2016-01-06 10:12:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  gst-device-monitor: Use g_printerr instead of g_error
	  g_error is meant to be used for programmer errors (causes an abort),
	  not for expected runtime errors.

2016-01-13 16:32:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: replace gst_caps_can_intersect() with is_subset()
	  Subset check verifies also that all required fields are present
	  and is mostly commonly used when checking if an element accepts
	  a certain caps

2016-01-12 11:31:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: use subset check instead of intersect
	  Elements usually require that all fields on their caps are present
	  on the fixed caps they receive. Using intersection won't verify it,
	  resort to using is_subset() checks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760477

2016-01-12 15:56:36 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	  audio-channel-mixer: round before truncating
	  Round the result before truncating for int channel mixing.

2016-01-12 15:27:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: Avoid conversion when possible
	  When the input and output formats are the same and in a possible
	  intermediate format, avoid unpack and pack.
	  Never do passthrough channel mixing.
	  Only do dithering and noise shaping in S32 format

2016-01-12 11:43:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	  audio-channel-mixer: add more formats
	  Add support for float and int16 mixing
	  Remove in-place processing, this simplifies things as we won't be using it.
	  Don't do clipping for float audio formats

2016-01-12 11:37:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: improve processing loop
	  Process as many samples as we can from the input and return the number
	  of processed samples from the chain. This simplifies some code.
	  Fix the IN_WRITABLE handling, don't overwrite the flags.

2016-01-11 18:24:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: replace accept-caps with caps query
	  Those accept caps are actually checking if downstream supports
	  some particular caps to check if it need to negotiate a different
	  format. Checking only the next element with accept-caps is not enough
	  to guarantee that it is supported.
	  Using a caps query makes it obtain the supported caps for downstream
	  as a whole instead of only the next element.

2016-01-08 21:27:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstaudio.def:
	  audio: Update exported symbols list

2016-01-08 15:05:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: replace accept-caps with a caps query
	  accept-caps is only a shallow check, it needs to know
	  whether downstream as a whole accepts the framerate

2016-01-08 16:08:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: fix up for GstAudioChannelMix rename as well

2016-01-08 17:34:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-converter: small API tweaks
	  Pass flags in _converter_new() so that we can configure ourselves
	  differently depending on some options.
	  SOURCE_WRITABLE -> IN_WRITABLE because the array is called 'in'

2016-01-08 17:28:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: prepare API for rate changes
	  Use the update function to update the sample rates along with the config
	  once we implement resampling.

2016-01-08 17:17:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-convert: simplify API
	  Simplify the API, we don't need the consumed and produced output
	  arguments. The caller needs to use the _get_in_frames/get_out_frames API
	  to check how much input is needed and how much output will be produced.

2016-01-08 17:50:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	  audio/video: Use G_GNUC_INTERNAL for internal functions

2016-01-08 16:22:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channel-mixer.c:
	* gst-libs/gst/audio/audio-channel-mixer.h:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio.h:
	* win32/common/libgstaudio.def:
	  audio: GstAudioChannelMix -> GstAudioChannelMixer
	  Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
	  looks better and to avoid a conflict with a library in -bad.

2016-01-07 15:24:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Use the caps query instead of accept-caps to detect if a sink accepts caps
	  accept-caps is only for one element, caps query is recursive. Fixes playback
	  with totem and other situations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760234

2016-01-06 15:49:59 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: store videoinfo after choosing the biggest buffer size
	  Otherwise, pool could be negotiated with a size which will be different
	  from the one used in allocation which is the GstVideoInfo.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760222

2016-01-06 12:14:39 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: add missing break in set_property switch case
	  To avoid future issue when adding new properties.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760204

2016-01-06 01:04:31 +0000  Koop Mast <kwm@FreeBSD.org>

	* tests/check/elements/audioconvert.c:
	  tests: audioconvert: fix test compilation with clang
	  With clang 3.7.1 on FreeBSD:
	  elements/audioconvert.c:650:12: error: shifting a negative signed value is
	  undefined [-Werror,-Wshift-negative-value]
	  (-32 << 16) + (1 << 15), (-32 << 16) - (1 << 15),
	  ~~~ ^
	  https://bugzilla.gnome.org/show_bug.cgi?id=760134

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

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/rtpbasepayload.c:
	  tests: fix indentation of various unit tests

2016-01-05 22:52:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new audio API

2016-01-03 17:21:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/video/video-overlay-composition.h:
	  docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc
	  gtk-doc can handle static inline functions just fine these days,
	  there's no need for this stuff any more.

2016-01-03 10:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME
	  Apparently this #define is unused.

2016-01-02 23:29:22 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff-ids: remove trailing whitespace

2016-01-02 23:27:44 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff-ids: fix two swapped ids
	  For these fourcc ids the name and value is swapped. This was causing a warning
	  when registering the avi ids.

2015-12-31 20:43:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  sdp: Also reorder SUBDIRS to try even harder to build the RTP library first

2015-12-31 20:41:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  sdp: The SDP library depends on the RTP library now and is not independent anymore
	  Fix up the build dependencies.

2015-10-07 18:50:18 +0900  Hyunjun Ko <zzoon.ko@samsung.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* tests/check/libs/sdp.c:
	* win32/common/libgstsdp.def:
	  sdp: add helper fuctions from/to sdp from/to caps
	  <gstsdpmessage.h>
	  GstCaps*       gst_sdp_media_get_caps_from_media   (const GstSDPMedia *media, gint pt);
	  GstSDPResult   gst_sdp_media_set_media_from_caps   (const GstCaps* caps, GstSDPMedia *media);
	  gchar *        gst_sdp_make_keymgmt                (const gchar *uri, const gchar *base64);
	  GstSDPResult   gst_sdp_message_attributes_to_caps  (GstSDPMessage *msg, GstCaps *caps);
	  GstSDPResult   gst_sdp_media_attributes_to_caps    (GstSDPMedia *media, GstCaps *caps);
	  <gstmikey.h>
	  GstMIKEYMessage * gst_mikey_message_new_from_caps  (GstCaps *caps);
	  gchar *           gst_mikey_message_base64_encode  (GstMIKEYMessage* msg);
	  https://bugzilla.gnome.org/show_bug.cgi?id=745880

2015-12-29 18:14:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Pass pointer arrays instead of singleton pointers to gst_audio_converter_samples()
	  In this specific case it wouldn't cause problems as we only ever access the
	  first array element, but let's make explicit what is happening here.
	  CID 1346530 and 1346529

2015-12-29 17:56:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Check for FALSE'ness directly, not by comparing with FALSE

2015-12-29 17:54:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Don't use preset_name string after free
	  When we run the loop for another time and do not have a preset name, we would
	  try to print the preset name of a previous iteration that is already freed.
	  Also move some other variables into the block where they are actually used
	  to prevent similar mistakes in the future.
	  CID 1346536

2015-12-29 14:40:04 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audioconvert.c:
	  audioconvert: add a test for gap handling

2015-12-29 14:23:59 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio-converter.c:
	* tests/check/elements/audioconvert.c:
	  audioconvert: fix passthrough operation
	  We did not take the sample size into account. Rearrange the tests to have more
	  conversion test and an extra test case for passthrough operations.
	  Fixes #759890

2015-12-29 11:29:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: print uint properties in both decimal and hex
	  Some values are easier to read and make sense of in hex.
	  https://bugzilla.gnome.org//show_bug.cgi?id=759780

2015-11-12 14:01:03 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  videoblend: special case 1x1 src dims on increment computation
	  Fix crash with 1x1 overlay pixmap
	  https://bugzilla.gnome.org/show_bug.cgi?id=757290

2015-12-28 12:28:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Make sure that enough data is available in AAC/ADTS typefinder
	  We would otherwise read beyond the array bounds and crash every now and then.
	  This was introduced with 5640ba17c8db80976b7718904e4024dcfe9ee1a0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759910

2015-12-27 19:41:43 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audioconvert.c:
	  tests: remove commented code from audioconvert test
	  This is just what we have in gst_check_buffer_data().

2015-12-27 19:25:20 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: code cleanup
	  Rename samples to num_samples, since we also have samples in chain, but that is
	  the data pointer. Always use gzize for num_samples. Make the log output a bit
	  more homogenous.

2015-12-26 11:34:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: print non-string device properties too

2015-12-26 09:43:56 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-quantize.c:
	  audio: Fix some documentation warnings
	  Remove/rename function parameters and skip some functions that can't
	  be used by bindings as they are now.

2015-12-26 09:43:51 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	  videoaffinetransformmeta: Add (transfer none) annotation for return value

2015-12-25 11:34:10 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't leak audio/video filters due to floating references weirdness
	  The filters' floating references are sinked during set_property() already,
	  which means that GstBin takes a new reference when adding the filter to it.
	  Get rid of the additional reference after adding the filter to the bin.

2015-12-25 10:36:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Allow reuse of audio/video filters by unparenting them from their bins
	  And also recreate the chains if the filter is changing.

2015-12-25 10:28:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't leak audio/video filters when using non-raw media

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

	* configure.ac:
	  Back to development

2015-12-24 13:59:52 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: Link to libgstbase for bytewriter and adapter

=== release 1.7.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/pbutils-enumtypes.h:
	  Release 1.7.1

2015-12-24 13:10:08 +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/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:22:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* po/nl.po:
	* po/sv.po:
	* po/zh_CN.po:
	  po: Update translations

2015-12-11 15:38:00 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encodebin: Implement an encoding profile serialization format
	  https://bugzilla.gnome.org/show_bug.cgi?id=759356

2015-12-21 00:43:49 +0100  Koop Mast <kwm@rainbow-runner.nl>

	* configure.ac:
	  configure: Make -Bsymbolic check work with clang.
	  Update the -Bsymbolic check with the version glib has. This version
	  works with clang.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759713

2015-12-03 11:53:05 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Clear is_eos flag when receiving the flush-stop event
	  The EOS event can be propagated to the downstream elements when
	  is_eos flag remains set even after leaving the flushing state.
	  This fix allows this element to normally restart the streaming
	  after receiving the flush event by clearing the is_eos flag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759110

2015-12-16 18:11:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback-test: remove unused variables
	  audiosink and videosink string variables are unused

2015-11-30 10:28:55 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: only add the template caps when the result is empty
	  Unconditionally adding the template caps when proxying the caps query will play
	  havoc with decoders that attempt to choose an output format based on some caps
	  features.  Creating a sink that does not include those caps features and a
	  decoder/parser/etc that preferentially chooses some specific caps feature when
	  available, will always return the decoder/parser/etc template caps and choose a
	  feature that downstream will be unable to support.
	  Fix by limiting the addition of the template caps to when the result is actually
	  empty.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2015-12-17 13:39:01 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Don't use AG_GST_CHECK_FEATURE for checking for gio-unix-2.0
	  It's meant to be used for external plugins that can then all be disabled via
	  --disable-external. gio-unix-2.0 however is just an optional dependency for
	  the TCP unit test.
	  Also when using AG_GST_CHECK_FEATURE like this, in the --disable-external part
	  there needs to be an AM_CONDITIONAL for the feature with FALSE.

2015-12-16 17:07:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: fix deadlock on chain shutdown"
	  This reverts commit 77dc09c3a9a5e5e371e189f39b5557db440a8dc9.
	  It can cause the FLUSH_START/STOP events to go to the sink elements, which
	  then causes state changes and various other problems. We shouldn't really
	  flush downstream here, the idea is to do *draining*.
	  Apart from that the testcase for the original bug here works without this
	  commit now.

2015-12-16 11:12:00 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: fix typo in GST_WARNING_OBJECT
	  This should make easier to parse the debug logs.
	  s/fnctl/fcntl

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

	* gst/videorate/gstvideorate.c:
	  videorate: remove dead code
	  Since the loops increasing count from 0 are always run at least
	  once (if count < 1), count will always be at least one when
	  compared to the drop/dup conditions.
	  Coverity 1139674

2015-12-16 10:45:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* win32/common/libgstaudio.def:
	  audio-converter: rework the main processing loop
	  Rework the main processing loop. We now create an audio processing
	  chain from small core functions. This is very similar to how the
	  video-converter core works and allows us to statically calculate an
	  optimal allocation strategy for all possible combinations of operations.
	  Make sure we support non-interleaved data everywhere.
	  Add functions to calculate in and out frames and latency.

2015-12-16 10:44:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: clear convert object

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

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update to git

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

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.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-12-14 13:59:02 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/alsa/gstalsasrc.c:
	  Revert "alsasrc: Disable HW timestamp"
	  This reverts commit 3642e9a3913a35c00f379034780c27298d09929c.

2015-11-10 12:54:23 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst-libs/gst/rtsp/gstrtspurl.h:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/gsttagmux.h:
	* gst-libs/gst/video/colorbalancechannel.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-overlay-composition.h:
	  base: Add g_autoptr() support to all types
	  https://bugzilla.gnome.org/show_bug.cgi?id=754464

2015-09-24 18:26:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Disable HW timestamp
	  This is a workaround for broken pulse module.

2015-12-14 19:03:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Properly initialize stack-allocated RTSP message to all-zeroes

2015-12-14 10:57:19 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Use relative URI for non-proxy tunneled requests
	  Match the section 5.1.2 of the HTTP/1.0 spec by using relative URIs unless we
	  are using a proxy server. Also, send Host header for compatability with
	  HTTP/1.1 and some HTTP/1.0 servers.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758922

2015-12-14 09:10:16 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtspconnection: Support authentication during tunneling setup
	  gst_rtsp_connection_connect_with_response accepts a response pointer
	  which it fills with the response from setup_tunneling if the
	  connection is configured to be tunneled.  The motivation for this is to
	  allow the caller to inspect the response header to determine if
	  additional authentication is required so that the connection can be
	  retried with the appropriate authentication headers.
	  The function prototype of gst_rtsp_connection_connect has been
	  preserved for compatability with existing code and wraps
	  gst_rtsp_connection_connect_with_response.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749596

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

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Check if the packet loss event actually has timestamp and duration fields
	  CID 1139615

2015-12-10 17:46:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-channel-mix.h:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio: adapt API for non-interleaved formats
	  Allow an array of sample blocks to be passed to the channel mix and
	  quantizer functions to support non-interleaved formats.

2015-12-10 16:26:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: improve API for non-interleaved formats
	  Make it possible to pass an array of sample blocks when dealing with
	  non-interleaved formats.

2015-12-12 17:49:28 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add FourCC aliases
	  Support media using the aliases defined in http://www.fourcc.org/ that are
	  exact duplicates of already known codes.

2015-12-12 17:04:21 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: use defined FourCC
	  Make gst_riff_create_video_caps() use the FourCC available in riff-ids.h,
	  like gst_riff_create_audio_caps() does.

2015-12-11 14:42:09 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: add some debug around pool negotiation
	  It lets us know easily which pool is activated or
	  inactivated during the negotiation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720597

2015-12-11 21:42:00 +0800  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/convertframe.c:
	  video/convertframe: Add crop meta support via videocrop
	  https://bugzilla.gnome.org/show_bug.cgi?id=759329

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

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: when setting discont flag make sure rtpbuffer is current
	  Depayloaders will look at rtpbuffer->buffer for the discont flag.
	  When we set the discont flag on a buffer in the rtp base depayloader
	  and we have to make the buffer writable, make sure the rtpbuffer
	  actually contains the newly-flagged buffer, not the original input
	  buffer. This was introduced with the addition of the process_rtp_packet
	  vfunc, but would only trigger if the input buffer wasn't flagged
	  already and was not writable already.

2015-12-11 00:18:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasedepayload: add test for seqnum gap discont setting
	  The problem was triggered only when the input buffers were not
	  writable, so add extra ref to test this code path.

2015-12-11 10:25:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: fix possible refcounting issue when detecting a discont
	  When we detect a discont and the input buffer isn't already flagged
	  as discont, handle_buffer() does a gst_buffer_make_writable() on the
	  input buffer in order to set the flag. This assumed it had ownership
	  of the input buffer though, which it didn't. This would still work
	  fine in most scenarios, but could lead to crashes or mini object
	  unref criticals in some cases when a discont is detected, e.g. when
	  using pcapparse in front of a depayloader. This problem was
	  introduced in bc14cdf529e.

2015-12-10 12:18:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: add GstNetworkMessage event
	  Add a property and logic to send a GstNetworkMessage event containing
	  the message that was received from a client. This can be used to
	  implement simply bidirectional communication.

2015-12-10 12:14:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: add dispatched event
	  Add a property and logic to send a GstNetworkMessageDispatched
	  event upstream to notify that a buffer has been sent. This can be used
	  to keep track of what client received what buffers.

2015-12-04 11:17:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	  socketsrc: handle GstNetworkMessage events
	  Add a property to handle GstNetworkMessage events. These events contain
	  a buffer that is sent on the socket to allow for simple bidirectional
	  communication.

2015-12-09 17:16:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-convert: improve converter API
	  Improve the converter API to allow for an max input and output number of
	  samples and return the number of consumed/produced samples.

2015-12-08 11:15:34 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: duration query support based on the size property
	  https://bugzilla.gnome.org/show_bug.cgi?id=759126

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

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

2015-12-04 12:25:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: let downstream know we support metadata
	  Let downstream know that we support GstNetControlMessage metadata API.

2015-12-03 16:38:45 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Avoid pushing buffers before segment start
	  In the case where the stream doesn't have a framerate set and the frames
	  don't have a duration set, we still want to use the clipping path to
	  make sure we don't push buffers outside of the segment.
	  The problem was the previous iteration was setting a duration of 2s, which
	  meant that any buffer which was less than 2s before the segment start would
	  end up getting pushed.
	  Instead, use a saner 40ms (25fps single frame duration) to figure out whether
	  the frame could be within the segment or not

2015-12-02 20:19:43 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  Drop usage of deprecated g-ir-scanner --strip-prefix flag

2015-12-02 18:16:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix "Attempt to unlock mutex that was not locked"
	  Introduced in commit ee44337f, caused the decodebin
	  test_text_plain_streams unit test to abort.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-11-16 14:50:58 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstrawcaps.h:
	  playback: Expose XSUB formats by default
	  This is a workaround, we should remove this once we have a proper
	  decoder

2015-11-16 14:50:30 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Also consider XSUB as a subtitle format

2015-11-16 14:49:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for XSUB subpicture format

2015-11-16 14:49:19 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: 'DXSA' is the same as 'DXSB'
	  Which is subpicture/x-xsub

2015-07-21 09:58:56 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Rename GstStream => GstSyncStream
	  Avoid clashes with future GstStream from core

2015-12-02 09:00:31 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspconnection: Update capitalization of x-sessioncookie
	  Some servers incorrectly parse header names with strict case-sensitivity.  For
	  compatibility with these systems change X-Sessioncookie to x-sessioncookie.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758921

2015-12-02 16:16:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Update buffering messages when removing an element that had buffering pending
	  Otherwise we'll remove that element while keeping its buffering message in our
	  list, and because of that never ever report buffering 100% as that element
	  will always be at a lower percentage.
	  This fixes e.g. seeking over Period boundaries in DASH and various other
	  issues when buffering happens between group switches.
	  Also use a new mutex for protecting the buffering messages. The object lock is
	  already used by gst_object_has_as_ancestor() and we need to use it now for
	  checking if the buffering message sender has the to-be-removed element as
	  ancestor.

2015-12-02 09:52:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: keep on reading when we stop sending
	  When we stop sending because we need more data, still keep a GSource
	  around to receive data from the clients.
	  Also handle read and write in the same go.

2015-12-01 19:57:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Post latency message on the bus after set_caps()
	  The latency is only known once the caps are known, and might change
	  whenever the caps are changing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758911

2015-09-25 14:47:48 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Post latency message on the bus after set_caps()
	  Any latency query before this will not get the correct latency so a new
	  latency query should be triggered once the audio sink know its own latency.
	  Without this the initial latency query from the pipeline arrives too early
	  sometimes and the resulting latency is too short.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758911

2015-11-06 14:21:14 +0000  Thomas Bluemel <tbluemel@control4.com>

	* gst/playback/gstdecodebin2.c:
	  [PATCH] Fix a race condition accessing the decode_chain field.
	  Make sure that any access to the GstDecodeBin's decode_chain
	  field is protected using the EXPOSE_LOCK.  Also add a simple
	  reference counter to the GstDecodeChain structure so that when
	  the type_found signal fires it can hold onto the decode chain
	  even while the EXPOSE_LOCK is not held.  This should fix a
	  race condition if the type_found signal fires right in the
	  middle of a state change that messes with the same decode
	  chain.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755260

2015-08-20 17:30:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: early out on pad-added when the pad is inactive
	  The pad may be recently deactivated if the element is switched
	  back down very quickly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-08-20 17:29:36 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: lock the expose lock around decode_chain use
	  Helps with a crash in decodebin when quickly switching states.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-11-28 14:24:55 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: accept wrong version field in OpusHead header
	  Some Opus files found on the wild have 0 in the version field of the
	  OpusHead header, instead of the correct value of 1. The files still
	  play, don't make this error fatal.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758754

2015-11-26 11:33:02 +0000  William Manley <will@williammanley.net>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  allocators: add debug category for fd memory and allocator
	  Debugging can now be viewed by setting GST_DEBUG=fdmemory:9
	  https://bugzilla.gnome.org/show_bug.cgi?id=758744

2015-11-20 20:18:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/tag.c:
	  tests: tags: add unit test for ID3v2 PRIVATE_DATA tag extraction
	  https://bugzilla.gnome.org/show_bug.cgi?id=730926

2014-09-29 14:17:39 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2frames: Handle private frames
	  Handle PRIV ID3 tag having owner information (string)
	  and binary data, add to tag messages list.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730926

2015-11-20 19:15:22 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2.c:
	  tags: id3: make sure to register private-id3v2-frame tag before using it

2015-11-17 15:23:17 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  Remove unnecessary NULL checks before g_free()
	  g_free() is NULL-safe

2015-11-17 17:07:37 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Add support for parsing custom headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=758235

2015-11-15 02:58:54 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* tests/examples/encoding/encoding.c:
	  Remove unnecessary NULL checks before g_free()
	  g_free() is NULL-safe

2015-11-17 09:06:34 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  xvimagesink/ximagesink: Fix structure memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=758204

2015-11-12 14:39:17 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: guint8 can't hold value over 255
	  channels is a guint8, so the max value is 255 and checking if it value is
	  > 256 will never be false.
	  CID 1338687, CID 1338688

2015-11-12 14:18:03 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: remove unneeded check for unsigned < 0
	  Commit ff6d1a2a25b247688f38e117782a6b43d525706a changed sample's type from
	  gint to gsize (and renamed it to in_samples). gsize is an unsigned long,
	  which means it can never be a negative value and the check making sure that
	  in_samples is >= 0 is never going to be false. Removing it.
	  CID 1338689

2015-11-12 12:21:54 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: avoid potential overflow expression
	  The result of the two expressions will be promoted to guint64 anyway,
	  perform all the arithmetic in 64 bits to avoid potential overflows.
	  CID 1338690, CID 1338691

2015-11-11 14:44:55 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/libs/video.c:
	  tests:video: Fix overlay rectangle and buffer leak
	  Created overlay rectangle is not being freed in video tests
	  pix2 buffer is being created and not freed
	  https://bugzilla.gnome.org/show_bug.cgi?id=757927

2015-11-11 14:37:21 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils:encoding-target: Fix string memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757926

2015-11-11 15:02:39 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/audio/audio-quantize.c:
	  audio-quantize: Fix dither_buffer memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757928

2015-11-11 00:59:16 +1100  Jan Schmidt <jan@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Re-init on new caps
	  If we get new input caps, then reset the decoder
	  ready for new headers and fresh data. Makes
	  chained oggs work when reusing the decoder.

2015-11-02 23:12:19 +1100  Matthew Waters <matthew@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	* win32/common/libgstvideo.def:
	  videometa: add GstVideoAffineTransformationMeta
	  Adds a simple 4x4 affine transformations meta for passing arbitrary
	  transformations on buffers.
	  Based on patch by Matthieu Bouron
	  https://bugzilla.gnome.org/show_bug.cgi?id=731791

2015-11-10 09:52:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-converter: add output size argument
	  Make it possible to have a different number of output samples than input
	  samples when we, for example, want to add resampling later.

2015-11-07 00:43:55 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Check API arguments and assert if needed

2015-11-06 19:31:47 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Properly deactivate ghostpads
	  Just setting the ghostpad as flushing wasn't enough. It needs to be
	  consistent on the internal proxypad also, otherwise you end up in
	  situations where:
	  * a pending buffer on the target pad triggers the sticky event
	  propagation
	  * the default implementation sees that the proxypad is not flushing,
	  so it tries to push it to the other pad (the actual ghostpad)
	  * the ghostpad is flushing, so returns FALSE
	  * the push_event function sees that pushing the event failed...
	  * ... and pending buffer push returns GST_FLOW_ERROR, instead of
	  GST_FLOW_FLUSHING
	  By using gst_pad_set_active(FALSE), we ensure that both the ghostpad
	  and the proxypad are flushing/deactivated. The situation above will
	  no longer occur, and a GST_FLOW_FLUSHING will be returned.

2015-11-06 18:11:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	  audioconvert: fix build
	  Don't include file that is no longer generated, and remove some
	  files that are no longer needed because they have moved into the
	  lib. Fixes distcheck.

2015-11-06 18:00:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: require interleaved samples and no resampling
	  We can't yet do resampling or anything other than interleaved audio.

2015-11-06 17:54:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update ORC dist files

2015-11-06 17:49:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/plugins/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/gstaudioconvert.h:
	* tests/check/Makefile.am:
	* win32/common/libgstaudio.def:
	  audio-converter: move audio converter to audio libs
	  Move the audio-converter helper to the audio library.

2015-11-06 17:39:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-channel-mix.h:
	* gst-libs/gst/audio/audio.h:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channel-mix: move channel mixer to audio libs
	  Move the channel mixer code to the audio library

2015-11-06 17:29:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	  audio: add debug categories

2015-11-06 16:42:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: don't limit channelpositions
	  Don't set a limit on the channel positions, just like the metadata.

2015-11-06 16:03:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: simplify API a little
	  Remove the format and layout from the mix_samples function and use the
	  format when creating the channel mixer object. Also use a flag to handle
	  the unlikely case of non-interleaved samples like we do elsewhere.

2015-11-06 15:50:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: GstChannel -> GstAudioChannel
	  Rename GstChannel to GstAudioChannel

2015-11-06 13:02:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	  audio-quantize: update docs
	  Update docs
	  Add another flag for the quantizer

2015-11-06 12:46:36 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: cleanups and add some docs
	  Add docs for the internal audioconvert object before moving it to the
	  audio library.
	  Remove get_sizes and implement the trivial logic in the element.
	  Remove some unused orc functions

2015-11-06 12:46:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstaudio.def:
	  defs: update defs

2015-11-06 12:37:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update orc files

2015-11-06 12:10:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstfastrandom.h:
	  audioconvert: move audio quantize code to libs
	  Move the audio quantize code from audioconvert to the audio library.
	  work on making an audio converter helper function similar to the video
	  converter.
	  Fold fastrandom directly into the quantizer, add some ORC code to
	  optimize this later.

2015-11-05 12:42:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channels: rename get_default_mask
	  Rename _get_default_mask() to _get_fallback_mask() to make it more
	  clear that the function only provides a fallback if nothing else can be
	  done. Also clarify this in the documentation.
	  API: gst_audio_channel_get_fallback_mask()

2015-11-05 12:11:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Update sink pad templates
	  We always require the channel-mapping-field. If it's 0 we require nothing
	  else, otherwise we need channels, stream-count and coupled count to be
	  available.

2015-11-05 11:34:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/volume/gstvolume.c:
	  volume: Do not try to get binding value array if we are not processing any sample
	  In some conditions we might process empty buffers, calling
	  gst_control_binding_get_value_array in that case will lead
	  to the assertion:
	  (lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed

2015-11-05 10:40:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channels: make method to get default channel-mask
	  Add a new method to get the default channel-mask.
	  Use the new method on audiodecoder and audioconvert.
	  API: gst_audio_channel_get_default_mask()

2014-11-10 11:11:37 +0100  Andreas Frisch <fraxinas@opendreambox.org>

	* tests/check/libs/video.c:
	  tests: Add a test for video blending over transparent frames
	  And fix the test_overlay_blend test where we blend over a
	  transparent frame and where expecting wrong results
	  https://bugzilla.gnome.org/show_bug.cgi?id=681447

2013-11-30 01:59:55 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-blend.c:
	  video: blend using OVER operation
	  Also support all premultiplied/non-premultiplied source/destination
	  configurations
	  https://bugzilla.gnome.org/show_bug.cgi?id=681447

2015-11-04 00:12:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/opus.c:
	  opus: Remove invalid unit test
	  Opus headers should never be in-band, so don't test for correct
	  handling of that.

2015-11-04 00:12:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Create an empty taglist if there is none
	  There always have to be 2 buffers in the streamheaders, even if
	  the comment buffer is basically empty.

2015-11-03 14:50:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: Add proper support for multichannel audio
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

2015-11-02 17:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Handle GstAudioClippingMeta instead of the pre-skip field in the OpusHead
	  oggdemux is outputting the meta now, and only outputs if it should really
	  apply to the current buffer. Previously we would skip N samples also if we
	  started the decoder in the middle of the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 16:52:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add GstAudioClippingMeta to buffers that need to be clipped
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 10:30:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Disable granule position calculations by the base class
	  It is doing the wrong thing because of the Opus pre-skip: while the timestamps
	  are shifted by the pre-skip, the granule positions are not shifted.
	  oggmux is doing the right thing here already.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-31 15:02:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add some FIXME comments about calculating padding with LPC
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-30 20:57:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Encode exactly the amount of samples we got as input and put correct timestamps on it
	  The first frame has lookahead less samples, the last frame might have some
	  padding or we might have to encode another frame of silence to get all our
	  input into the encoded data.
	  This is because of a) the lookahead at the beginning of the encoding, which
	  shifts all data by that amount of samples and b) the padding needed to fill
	  the very last frame completely.
	  Ideally we would use LPC to calculate something better than silence for the
	  padding to make the encoding as smooth as possible.
	  With this we get exactly the same amount of samples again in an
	  opusenc ! opusdec pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-30 20:47:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opusenc: Put lookahead/pre-skip into the OpusHead header
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 16:51:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Create full Opus caps with all fields
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: Add utilities for Opus caps and the OpusHead header
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

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

	* ext/ogg/gstoggmux.c:
	  oggmux: Use GstAudioClippingMeta for Opus for accurate end clipping
	  ... instead of relying on the segment. For the clipping at the start we assume
	  a proper value in the OpusHead, as generated by opusparse or opusenc.
	  Transmuxing in general is not guaranteed to produce the correct values, or
	  even have a OpusHead (e.g. when having RTP input).
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 10:58:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/Makefile.am:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Add GstAudioClippingMeta for Opus for accurate start/end clipping
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 16:19:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	* win32/common/libgstaudio.def:
	  audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 11:19:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Allow start clipping for Opus
	  The granulepos does not have the pre-skip subtracted while timestamps do,
	  and the last granulepos will be shorter by the number of samples that should
	  be dropped because of padding in the end.
	  As such, extrapolating the granule of the beginning of the first frame will
	  lead to a negative value, which is not a problem but intentional.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 16:38:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update disted orc backup files

2015-11-03 14:08:25 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: use GST_STIME_FORMAT for GstClockTimeDiff
	  GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
	  handle negative values better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-03 13:44:39 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

2015-11-03 11:59:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/audioconvert.c:
	  audio-format: add TRUNCATE_RANGE flag
	  Add a TRUNCATE_RANGE flag for unpack functions to fill the least
	  significate bits with 0 (as did the old code). Also add functions
	  that don't truncate. Use the TRUNC flag in audioconvert for
	  backwards compatibility for now.

2015-11-03 11:57:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack.orc:
	  audiopack: improve pack functions
	  Avoid shifts by using convh functions.

2015-11-03 11:44:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioconvertorc.orc:
	* tests/check/elements/audioconvert.c:
	  audioconvert: change multiplier for int<->float conversion
	  Use (1 << 31) as the multiplier for int<->float conversions. This makes
	  sure that int->float conversions always end up with floats between
	  [-1.0, 1.0].
	  For the conversion from float to int, this multiplier will give the complete
	  int range after we perform clipping.
	  Change the unit test to take this into consideration.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755301

2015-11-02 17:32:55 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: use GST_STIME_ARGS for GstClockTimeDiff
	  No need to use G_GINT64_FORMAT for potentially negative values of
	  GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
	  Plus it creates more readable values in the logs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 16:36:35 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: Print GstClockTimeDiff as a signed integer in debug logs

2015-11-02 16:09:52 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Use GstClockTimeDiff and print signed integer in debug logs
	  Use GstClockTimeDiff and Clock macros to print signed integer time
	  differences in the debug logs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 14:06:39 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: use GST_STIME_FORMAT for GstClockTimeDiff
	  GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
	  handle negative values better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 17:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiometa.h:
	  audio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro

2015-11-02 15:54:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: increase freq limit
	  Raise the frequency limit and try to negotiate to a samplerate of 4*freq
	  when larger then the default samplerate.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=754450

2015-11-02 15:46:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: add support for unlimited number of channels
	  Raise the channel limit and set the channel-mask for > 2 channels.

2015-11-02 13:19:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: add support for all formats
	  Use the pack functions to also support the other audio formats we
	  have.

2015-11-02 12:09:42 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: subtract time difference with GST_CLOCK_DIFF
	  To ensure the subtraction of two GstClockTime values (which are guint64)
	  can be negative. Use GST_CLOCK_DIFF which returns a gint64.
	  CID 1338049

2015-11-02 11:34:56 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Do not force user to provide an encoding profile name
	  And use the profile called `default` if none provided.

2015-11-02 11:30:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Do not unconditionally break when searching for a target
	  Otherwise the loop is useless!
	  Fixes CID 1338051

2015-10-24 20:08:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

2015-10-24 20:05:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

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

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

2015-11-01 23:34:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Assume 48kHz if no sample rate is given in the header

2015-10-30 20:59:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Place 48kHz first in the caps
	  For all the other sample rates the encoder will have to resample internally.

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

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: update orc backup code to fix build without orc

2015-10-26 21:32:41 +0100  Csaba Toth <tocsanti@gmail.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
	  The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
	  in its definition leading to problems on platforms where the size
	  of a pointer is larger than the size of an integer, It would also
	  not work at all with dynamic language bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757155

2015-10-28 18:36:41 +0100  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix handling of Bayer format 'gbrg'
	  Due to a typo, videotestsrc did not handle the Bayer
	  format 'gbrg' properly and reported it as invalid,
	  causing negotiation errors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757264

2015-10-30 17:36:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstaudioquantize.h:
	  audioconvert: rework audioconvert
	  Rewrite audioconvert to try to make it more clear what steps are
	  executed during conversion.
	  Add passthrough step that just does a memcpy when possible.
	  Add ORC optimized dither and quantization functions.
	  Implement noise-shaping on S32 samples only and allow for arbitrary
	  noise shaping coefficients if we want this later.

2015-10-30 17:33:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: fix up API a little
	  don't use gpointer * for something that should be gpointer.

2015-10-28 11:40:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioquantize: make helper for add with saturation

2015-10-29 16:52:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print another time difference as a signed integer instead of a huge unsigned one

2015-10-29 16:01:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

2015-10-29 00:01:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: fix two memory leaks
	  The removed GList link needs to be freed too, and
	  the G_OPTION_REMAINING arguments need to be freed.

2015-10-28 15:50:44 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files

2015-10-28 15:47:00 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Allow having encoding target without a category set
	  There was already some code to handle that, but the support was not
	  complete in those code paths.

2015-10-27 12:56:48 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Create directory before trying to save encoding targets

2015-10-27 12:50:26 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Allow specifying the target category in the serialized encoding target

2015-10-27 17:28:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstaudioquantize.h:
	  audioconvert: make the quantizer a reusable object
	  Turn the quantizer into a reusable object.

2015-10-27 13:24:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  audioconvert: make the channel mixer a separate reusable object
	  A first attempt at making the channel mixer a separate object.

2015-10-28 11:32:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioquantize: fix 8-pole noise shaping
	  Fix the 8-pole noise shaping error update. We were mixing errors from
	  different channels.

2015-10-27 15:44:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send SEEK events directly to adaptive streaming demuxers
	  This makes sure that they will always get SEEK events, even if we're currently
	  in the middle of a group switch (i.e. switching to another
	  representation/bitrate/etc).
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

2015-10-06 15:20:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix event leak
	  As stated in GST_PAD_PROBE_HANDLED's documentation, we are
	  supposed to unref the event before returning.
	  Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop
	  validate scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754459

2015-10-23 19:13:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: Update disted orc files

2015-10-23 16:58:17 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: use pack/unpack functions
	  Rework the converter to use the pack/unpack functions
	  Because the unpack functions can only unpack to 1 format, add a separate
	  conversion step for doubles when the unpack function produces int.
	  Do conversion to S32 in the quantize function directly.
	  Tweak the conversion factor for doing float->int conversion slightly to
	  get the full range of negative samples, use clamp to make sure we don't
	  exceed our int range on the positive axis (see also #755301)

2015-10-23 12:02:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Send upstream events directly to playsink
	  Send event directly to playsink instead of letting GstBin iterate
	  over all sink elements. The latter might send the event multiple times
	  in case the SEEK causes a reconfiguration of the pipeline, as can easily
	  happen with adaptive streaming demuxers.
	  What would then happen is that the iterator would be reset, we send the
	  event again, and on the second time it will fail in the majority of cases
	  because the pipeline is still being reconfigured

2015-10-23 17:25:50 +0900  Eunhae Choi <eunhae1.choi@samsung.com>

	* tests/check/gst/typefindfunctions.c:
	  tests: typefindfunctions: fix error leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=757008

2015-09-23 18:47:52 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Force alpha downstream if foreground color contains alpha
	  Otherwise the foreground color won't be fully represented in the
	  outputted frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755482

2015-10-22 12:07:44 +0800  Pavel Bludov <pbludov@gmail.com>

	* gst-libs/gst/video/video-overlay-composition.h:
	  video: overlay-composition: fix rectangle and composition cast macros
	  Closing parenthesis was missing in two cases.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756893

2015-10-21 14:34:56 +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:25:47 +0300  Sebastian Dröge <sebastian@centricular.com>

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

2015-10-20 12:08:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1

2015-10-20 03:58:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: track the exposable pads through connect_pad
	  The logic introduced by
	  [d50b713: decodebin: set the decode pad target before setting elements to PAUSED]
	  to expose pads would only ever be able to possibly expose one (the last) pad per element.
	  Make it so that any exposable pads are able to be exposed rather than just the
	  last pad returned by connect_element.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742924

2015-10-20 03:52:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: return the possibly new chain in analyze_new_pad
	  In the case of analyzing a demuxer chain, analyze_new_pad may create
	  a new GstDecodeChain.  This was not propagated to the calling function which as
	  of [d50b713f decodebin: set the decode pad target before setting elements to PAUSED]
	  is now required to be able to expose the correct pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742924

2015-10-19 15:32:19 +0530  Rajat Verma <rajat.verma@st.com>

	* gst/playback/gstplaysink.c:
	  playsink: relink text_pad in case of reconfiguration
	  In case of reconfiguration, text_pad should be re-connected with
	  stream synchronizer sink pad. Otherwise we'll leave an unlinked pad around if
	  there always was a streamsynchronizer text pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756804

2015-09-14 15:25:11 +0900  eunhae choi <eunhae1.choi@samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix issue about eos handling during flushing
	  If the flush-start is arrived during _eos_wait() in basesink,
	  the 'eos' flag is overwritten to TRUE after exiting the _eos_wait().
	  To resolve the overwritten issue,
	  the subclass doing the _eos_wait() call should return the right value.
	  If the eos flag is set to TRUE again, it will cause error(enter the eos flow)
	  of the following state changing from PAUSED to PLAYING in basesink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754980

2015-10-17 22:25:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	  decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

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

	* gst/playback/gstplaysink.c:
	  playsink: Immediately error out if state change fails
	  Otherwise we chain up to the parent class' change_state function and might
	  override the failure with SUCCESS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

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

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin/uridecodebin: Always post async-done immediately if we're a live pipeline
	  Not only if the base class told us, but also if one of our own elements did.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

2015-10-16 03:40:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: set the decode pad target before setting elements to PAUSED
	  Otherwise caps and context queries will disappear into nothing and therefore
	  fail.  With autoplug-query now actually working, users (such as playbin) can
	  proxy these queries to the selected video sink and be able to select an
	  more appropriate configuration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731204

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

	* gst-libs/gst/video/video.c:
	  video: Add out annotations to the out parameters of gst_video_calculate_display_ratio()
	  https://bugzilla.gnome.org/show_bug.cgi?id=754567

2015-10-16 10:48:50 +1100  Matthew Waters <matthew@centricular.com>

	* win32/common/libgstrtp.def:
	  win32 update exports for new rtp symbols

2015-07-22 11:31:05 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtpbuffer: Add map flag to skip padding
	  Encrypted RTP buffers may contain encrypted padding, hence it's
	  necessary to have an option to relax the validation in order to
	  successfully map the buffer.
	  When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set
	  gst_rtp_buffer_map() will map the buffer like if padding is not
	  present.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752705

2015-10-15 22:40:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  Revert "rtpbuffer: increase logging level when map fails"
	  This reverts commit e3c8a820176ba39dfae85944fa9c6ae202ec681d.
	  It causes too much noise in the logs.

2015-10-15 15:32:58 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: increase logging level when map fails
	  https://bugzilla.gnome.org/show_bug.cgi?id=756641

2015-10-15 10:01:38 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix volume element leak
	  In case sink implements a streamvolume interface, volume element is being got
	  from the sink. But this is transfer full. So the memory should be freed before
	  setting it to NULL. This was resulting in major memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=755867

2015-10-14 00:32:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Use 8 bit pointer type for byte-based pointer arithmetic
	  Usually these loops only run once, so there's no problem here. But sometimes
	  they run twice, and by adding the number of bytes to a 16 bit pointer type we
	  would advance twice as much as we should.
	  Also use snd_pcm_frames_to_bytes() in alsasrc to calculate
	  the number of bytes to skip, same as we do in alsasink.
	  Thanks to Lucio A. Hernandez <lucio.a.hernandez@gmail.com> for reporting.

2015-10-12 14:02:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  Revert "audioencoder: timestamp headers same as first buffer and use duration 0"
	  This reverts commit dd4d6d9ed54c2a63a7e45661519d9965417707c5.
	  It breaks ogg muxing and the vorbisenc unit test.

2015-08-28 11:44:19 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  audioencoder: timestamp headers same as first buffer and use duration 0
	  https://bugzilla.gnome.org/show_bug.cgi?id=754224

2015-08-28 11:25:22 +0200  Havard Graff <havard.graff@gmail.com>

	* tests/check/libs/audioencoder.c:
	  audioencoder-tests: port to use GstHarness
	  https://bugzilla.gnome.org/show_bug.cgi?id=754223

2015-08-27 17:28:30 +0200  Havard Graff <havard.graff@gmail.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder-test: port to using GstHarness
	  https://bugzilla.gnome.org/show_bug.cgi?id=754196

2015-10-04 18:36:00 +0100  Sebastian Dröge <sebastian@centricular.com>

	* sys/xvimage/xvimagepool.c:
	  xvimagesink: Put error message into debug output instead of just throwing it away

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

	* configure.ac:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Update GLib dependency to 2.40.0

2014-03-15 17:35:56 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  rtpbasepayload: Implement video SDP attributes
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726472

2015-09-25 15:17:53 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* tools/gst-play.c:
	  gst-play: Removed erroneous comment
	  The "fall through" comment was wrong. Removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755440

2015-09-22 23:12:10 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  gst-play: Add keyboard shortcut '0' to seek to beginning
	  https://bugzilla.gnome.org/show_bug.cgi?id=755440

2015-08-25 16:24:12 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: remove unnecessary break statement
	  Trivial patch to remove unncessary break statement used after
	  goto statement.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754054

2015-08-20 15:59:15 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/tag/mklicensestables.c:
	* tests/examples/encoding/encoding.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/icles/stress-playbin.c:
	* tests/icles/test-effect-switch.c:
	* tools/gst-device-monitor.c:
	* tools/gst-discoverer.c:
	* tools/gst-play.c:
	  gstreamer: base: Fix memory leaks when context parse fails.
	  When g_option_context_parse fails, context and error variables are not getting free'd
	  which results in memory leaks. Free'ing the same.
	  And replacing g_error_free with g_clear_error, which checks if the error being passed
	  is not NULL and sets the variable to NULL on free'ing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753852

2015-06-24 23:55:35 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix special case
	  Allows to run such a command line :
	  gst-launch-1.0 uridecodebin uri=file:///home/meh/Music/sthg.mp4 ! \
	  encodebin profile-string="audio/x-wav|1" ! filesink location=sthg.wav
	  Previously the code failed because wavenc is considered as a muxer.
	  We still want encodebin to audio/x-wav as an AudioEncodingProfile,
	  so this simple fix allows that.
	  Ability to mux raw streams in containers such as matroskamux
	  is a different issue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751470

2015-09-29 10:12:28 +0530  Rajat Verma <rajat.verma@st.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: free hidden groups at time of switching groups
	  hidden groups should be freed at time of switching groups to avoid memory use
	  from balloning up.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755770

2015-10-02 10:07:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstpbutils.def:
	  win32: Update exports for new audiovisualizer symbols

2015-10-02 15:04:34 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/libs/baseaudiovisualizer.c:
	  tests: Add baseaudiovisualizer test, moved from -bad

2015-10-02 15:05:26 +1000  Jan Schmidt <jan@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't fixate framerate if downstream didn't provide one
	  intersection with a downstream that accepts any video/x-raw caps
	  with no further detail won't create a framerate field. If it's
	  not in the caps, don't fixate it, just set it to 30/1

2015-10-01 21:53:20 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-alsa.xml:
	  docs: add alsamidisrc to docs

2015-10-01 21:43:21 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/Makefile.am:
	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsamidisrc.h:
	* ext/alsa/gstalsaplugin.c:
	  midi: add an ALSA MIDI sequencer source
	  The alsamidisrc element allows to get input event from ALSA MIDI
	  sequencer devices, and possibly convert them to sound using some
	  downstream element like fluiddec.
	  Fixes #738687

2015-10-01 15:27:55 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  visual: make private all variable subclasses don't need
	  Subclasses don't need access to all variables. Making them private.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-10-01 11:55:59 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/visual.h:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	* gst-libs/gst/pbutils/gstaudiovisualizer.h:
	  visual: merge audiovisalizer base classes
	  Move the audiovisualizer base class to pbutils, so it can be used by plugins
	  from other modules
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-10-01 12:48:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: minor clean-up
	  Remove unnecessary brackets from IS_MPEGTS_HEADER macro.

2015-10-01 12:32:33 +0100  Pankaj Darak <pankajdarak@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: mpeg-ts detection improvement
	  Allow AFC to be 0 for null pid packets.
	  https://bugzilla.gnome.org/show_bug.cgi?id=726117

2015-09-30 18:18:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	  tests: subparse: add unit test for closing tag detection
	  </ i> should be handled like </i>
	  https://bugzilla.gnome.org/show_bug.cgi?id=755875

2015-09-30 18:17:13 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: detect closing tags even if there's a space after the slash
	  </ i> should be handled like </i>
	  https://bugzilla.gnome.org/show_bug.cgi?id=755875

2015-09-23 11:59:22 -0400  Perry Hung <perry@leaflabs.com>

	* gst-libs/gst/app/Makefile.am:
	  app: pass PKG_CONFIG_PATH for gir files for libgstapp as well
	  gir include search directories should respect PKG_CONFIG_PATH,
	  just like we do everywhere else. Makes g-i pick up the right
	  paths when using ./configure --with-pkg-config-path=
	  https://bugzilla.gnome.org/show_bug.cgi?id=755494

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

	* configure.ac:
	  Back to development

=== release 1.6.0 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.6.0

2015-09-25 22:50:51 +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/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-24 18:06:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-dither: Use saturated add when adding ordered dither for > 8 bit targets
	  Otherwise our 16 bit integers are going to overflow in intermediate
	  calculations, causing video to become mostly black.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755392

2015-09-24 11:33:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Fix gst_video_frame_copy() for formats with pstride==0
	  v210, UYVP and IYU1 are complex formats for which pixel stride does not really
	  have a meaning. If we copy width*pstride bytes per line, it's not going to do
	  the right thing. As a fallback, copy stride bytes per line. This might copy
	  uninitialized bytes at the end of each line, but at least copies the frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755392

2015-09-10 15:08:35 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: remove 'allow-none' annotation in gst_fd_allocator_alloc() doc
	  gst_fd_allocator_alloc() ensure that passed allocator is a fd memory
	  allocator, so that we can't pass NULL allocator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754833

2015-09-10 15:08:35 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: remove 'allow-none' annotation in gst_dmabuf_allocator_alloc() doc
	  gst_dmabuf_allocator_alloc() ensure that passed allocator is a DMABuf
	  allocator, so that we can't pass NULL allocator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754833

=== release 1.5.91 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.5.91

2015-09-18 19:19: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/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 17:48:49 +0200  Christophe Fergeau <cfergeau@redhat.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: Fix 'steaming' typo in API doc
	  There are several occurrences of 'steaming' where 'streaming' was meant.

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

	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2015-09-18 10:59:46 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: avoid critical on exit
	  Only free vis_entries array when not null on exit.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755201

2015-09-18 09:48:18 +0530  Prashant Gotarne <ps.gotarne@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix typo in debug log message
	  https://bugzilla.gnome.org/show_bug.cgi?id=755198

2015-09-17 14:27:33 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst/tcp/gstmultisocketsink.c:
	  audiosink, multisocketsink: Fix error leak during failures
	  https://bugzilla.gnome.org/show_bug.cgi?id=755143

2015-09-16 19:53:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Use the correct caps name for MS Smooth Streaming manifests
	  Thanks to John Chang <r97922153@gmail.com> for reporting.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755098

2015-09-15 15:39:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: remove check for number of channels
	  opus decoder can convert from different number of channels, no
	  need to check, just let it negotiate and create a new decoder if
	  needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755059

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

	* gst-libs/gst/app/gstappsink.c:
	  appsink: minor docs fix

2015-09-11 23:36:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: ensure allocation alignment is consistent with video alignment requirements
	  Make sure GstAllocationParams alignment is not less than
	  any alignment requirement specified via GstVideoAlignment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754120

2015-09-14 09:36:20 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix error leak when context creation fails
	  When context creation fails, error is getting leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754973

2015-09-11 11:22:35 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: improve deprecated properties docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=754819

2015-09-11 11:11:09 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: do not throw g_warning when getting deprecated properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=754819

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

	* gst/playback/gstplaybin2.c:
	  playback: Add POINTER_TO_ULONG() macro for consistency

2015-09-11 23:48:05 +0900  Kouhei Sutou <kou@clear-code.com>

	* gst/playback/gstplaybin2.c:
	  playback: fix build error for 64bit Windows build by MinGW
	  Casting to gpointer from gulong generates the following warning with
	  64bit Windows target MinGW:
	  gstplaybin2.c: In function 'pad_added_cb':
	  gstplaybin2.c:3476:7: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
	  (gpointer) group_id_probe_handler);
	  ^
	  cc1: all warnings being treated as errors
	  We should cast to guintptr from gulong before we cast to gpointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754755

2015-09-09 19:00:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add missing alpha flag for some formats
	  Some formats didn't have the alpha flag marked, use the correct
	  macro so they get it right.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754808

2015-09-09 12:33:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Always take the mutex before flushing the queue
	  Otherwise the application might push new buffers into the queue while we're
	  flushing, potentially causing the GQueue data structure to become inconsistent
	  and causing crashes soon after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754597

2015-09-08 01:35:19 +0530  Vikram Fugro <vikram.fugro@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/appsrc.c:
	  appsrc: retain the latest caps in queue when flushing
	  - Retain the latest caps in the internal queue, when
	  flushing.
	  - Add a unit test case for the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754597

2015-09-07 00:19:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video: improve GstVideoFormatUnpack docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=754650

2015-09-06 18:17:15 +0900  Kouhei Sutou <kou@clear-code.com>

	* gst-libs/gst/video/video-dither.c:
	  libs: Fix build error on MinGW where "%ll" is not available
	  "ll" isn't available on MinGW. We can use G_GINT64_MODIFIER for portable
	  64bit size data modifier.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754630

2015-08-31 10:46:43 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/Makefile.am:
	  libs: build rtp after audio
	  The dependency setup does not seem to work for all systems,
	  causing the build to fail with:
	  gstrtpbaseaudiopayload.c:65:0:
	  fatal error: gst/audio/audio-enumtypes.h: No such file or directory
	  My setup:
	  gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
	  autoconf (GNU Autoconf) 2.69
	  automake (GNU automake) 1.14.1
	  libtool (GNU libtool) 2.4.2
	  https://bugzilla.gnome.org/show_bug.cgi?id=754344

2015-08-31 10:49:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/Makefile.am:
	  libs: rtp is no longer an independent subdir
	  https://bugzilla.gnome.org/show_bug.cgi?id=754344

2015-09-03 17:55:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix gamma-decode option
	  We need to use the enum to configure the option now.

2015-09-03 08:58:08 +0530  Prashant Gotarne <ps.gotarne@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: FIX crash if padding greater than video size
	  Skipping rendering of textimage if overlay is completely
	  outside video frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754429

2015-08-31 11:09:09 +0200  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: remove duplicate get_size vfunc assignment

2015-08-29 21:38:52 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/allocators/allocators.h:
	  allocators: include gstfdmemory.h in the main library header, allocators.h

2015-08-29 10:44:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix misleading error message debug detail
	  https://bugzilla.gnome.org/show_bug.cgi?id=754260

2015-08-28 09:36:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: implement accept-caps handler
	  The default one will just go through the internal elements which might
	  just be identity when it is in passthrough which will lead to the query
	  being handled by the downstream sink, ignoring all that playsinkconvertbin
	  could actually handle and convert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754235

2015-08-27 23:08:51 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	  audiobasesink: Fix incorrect/missing custom slaving method documentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=754199

2015-08-19 21:19:05 +0900  Eunhae Choi <eunhae1.choi@samsung.com>

	* gst/subparse/gstsubparse.c:
	  subparse: use g_clear_error instead of g_error_free
	  To avoid invalid pointer accees the err pointer should be set to NULL.
	  By using g_clear_error() it calls free and clear the pointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753817

=== release 1.5.90 ===

2015-08-19 13:10:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.5.90

2015-08-19 12:39: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/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:23:09 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/hu.po:
	* po/nb.po:
	* po/pl.po:
	* po/ru.po:
	* po/uk.po:
	* po/zh_CN.po:
	  po: Update translations

2015-08-19 08:37:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-discoverer.c:
	  tools: discoverer: When info is NULL just print error and return
	  In case discover_uri returns NULL info, passing the info to discoverer APIs
	  result in critical assertion errors. Hence instead of passing NULL info along,
	  print the error and return.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

2015-08-18 18:47:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Handle the preroll multi-queue size"
	  This reverts commit 5c8ef0ea05123506dfc35c70c8b165bca7435dad.

2015-08-18 18:47:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Store extra_buffer_required per group, not globally"
	  This reverts commit 1ea81114ea6bd48b581f19002018680933aa7a12.

2015-08-18 18:47:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: If extra buffers are going to be required, we're still prerolling"
	  This reverts commit a3b24f0241bd55a005a072ba8ddcd53e0fdbf827.

2015-08-18 16:28:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video(en|de)coder: Return TRUE when we consumed a tag event without creating a new event
	  Fixes spurious flow errors that especially break gst-validate.

2015-08-18 16:01:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: If there are no tags, don't try to do event handling on a NULL event
	  Fixes some crashes.

2015-08-18 15:58:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: If there are no tags, don't try to do event handling on a NULL event
	  Fixes some crashes.

2015-08-18 13:50:17 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: Use g_build_filename instead of g_strconcat
	  When running gst-play against a directory name, and suffix the path with a
	  directory separator (e.g. tab completion), gst-play was printing two directory
	  separators in a row. g_build_filename fixes this, and additionally allows for
	  both '/' and '\' as separators on Windows.

2015-08-18 15:16:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: If extra buffers are going to be required, we're still prerolling

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: Store extra_buffer_required per group, not globally
	  It's only relevant for each group, and by storing it in the group
	  we have locking and everything else like for the other buffering-related
	  variables. Locking looks a bit fishy still, but it was like that for a long
	  time already so shouldn't be worse than before.

2015-07-30 10:33:25 +0900  Myoungsun Lee <ohmygod0327@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Handle the preroll multi-queue size
	  Overview:
	  There are some of interleaved streams which has long-term location of audio data.
	  It mean the audio data is located far away more than multiqueue size.
	  In this case, because of multiqueue overrun, the pipeline is stopped.
	  To prevent hanging-like state, the decodebin needs to handle the queue size.
	  Caused:
	  The multiqueue size is not enough, the pipeline will stay being stalled status
	  and decodebin cannot complete to build decode chain.
	  In this issue file, decodebin did not receive no_more_pads signal or audio data yet.
	  Steps to Reproduce:
	  play the high-resolution(4K file) files or some streaming media(push mode).
	  Actual Results:
	  There is no audio or subtitle.
	  We can see only video or infinite loading.
	  Resolution:
	  Decodebin detect this problem, and add extra buffer size to multiqueue.
	  The multiqueue is larger than before, the next data can be pushed the downstream element.
	  Additional Information:
	  The max-preroll extra buffer size is set 8MB.
	  We can use total pre-roll buffer 10MB.
	  Only first overrun callback can handle multiqueue size.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733235

2015-08-18 12:29:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix tag handling
	  Merge upstream tags with encoder tags and update whenever
	  any of those changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-18 11:45:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: fix tag handling
	  Merge upstream tags with encoder tags and update whenever
	  any of those changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-18 12:56:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add typefinder for TTML+XML
	  Used in DASH among other things, as SMPTE Timed Text.

2015-08-18 09:06:39 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: discoverer: Set GError when NULL info is being returned.
	  When discovering the URI, if info is NULL, then instead of just returning NULL,
	  set the GError, so the error can be printed and notified.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

2015-08-16 07:18:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  audioencoders: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough
	  Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc

2015-08-17 11:18:25 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-discoverer.c:
	  discoverer: free context and error during failures
	  When g_option_context_parse or gst_discoverer_new fails, then there will
	  be memory leaks for ctx and err variables. Free'ing the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: try harder to avoid sending unnecessary tag updates

2015-08-16 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix tag handling
	  Before we just merged everything in pretty much random ways
	  ad-hoc instead of keeping state properly. In 0.10 that was
	  how it worked, but in 1.x the tag events sent should always
	  reflect the latest state and replace any previous tags.
	  So save the upstream (stream) tags, and save the tags set
	  by the decoder subclass with merge mode, and then update
	  the merged tags whenever either of those two changes.
	  This slightly changes the behaviour of gst_video_decoder_merge_tags()
	  in case it is called multiple times, since now any call replaces
	  the previously-set tags. However, it leads to much more predictable
	  outcomes, and also we are not aware of any subclass which sets this
	  multiple times and expects all the tags set to be merged.
	  If more complex tag merging scenarios are required, we'll have
	  to add a new vfunc for that or the subclass has to intercept
	  the upstream tags itself and send merged tags itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-14 17:59:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add unit test for tag handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-14 17:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix tag handling
	  Before we just merged everything in pretty much random ways
	  ad-hoc instead of keeping state properly. In 0.10 that was
	  how it worked, but in 1.x the tag events sent should always
	  reflect the latest state and replace any previous tags.
	  So save the upstream (stream) tags, and save the tags set
	  by the decoder subclass with merge mode, and then update
	  the merged tags whenever either of those two changes.
	  This slightly changes the behaviour of gst_audio_decoder_merge_tags()
	  in case it is called multiple times, since now any call replaces
	  the previously-set tags. However, it leads to much more predictable
	  outcomes, and also we are not aware of any subclass which sets this
	  multiple times and expects all the tags set to be merged.
	  If more complex tag merging scenarios are required, we'll have
	  to add a new vfunc for that or the subclass has to intercept
	  the upstream tags itself and send merged tags itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

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

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough

2015-08-16 12:20:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: use more accurate sink pad template caps
	  Removes the need for custom caps query handling and makes it more
	  correct from the beginning on the template. It is a bit uglier
	  to read because there is 1 entry per channel but makes code easier
	  to maintain.

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

	* ext/theora/gsttheoraenc.c:
	  theoraenc: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough

2015-08-16 08:12:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: add src and sink query methods
	  Allows subclasses to do their own handling of GstQuery and still
	  chain up to the parent class to handle the ones that they don't want
	  to handle

2015-08-16 12:53:02 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix list iteration
	  We were using the wrong variable ...
	  CID #1316477

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

	* ext/opus/gstopusdec.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-05-04 11:19:28 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Handle flushing with multiple decode groups
	  When an upstream element wants to flush downstream, we need to take
	  all chains/groups into consideration.
	  To that effect, when a FLUSH_START event is seen, after having it
	  sent downstream we mark all those chains/groups as "drained" (as if
	  they had seen a EOS event on the endpads).
	  When a FLUSH_STOP event is received, we check if we need to switch groups.
	  This is done by checking if there are next groups. If so, we will switch
	  over to the latest next_group. The actual switch will be done when
	  that group is blocked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

2015-04-29 15:56:39 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Forward event/queries for unlinked groups
	  When upstream events/queries reach sinkpads of unlinked groups (i.e.
	  no longer linked to the upstream demuxer), this patch attempts to find
	  the linked group and forward it upstream of that group.
	  This is done by adding upstream event/query probes on new group sinkpads
	  and then:
	  * Checking if the pad is linked or not (has a peer or not)
	  * If there is a peer, just let the event/query follow through normally
	  * If there is no peer, we find a pad to which to proxy it and return
	  GST_PROBE_HANDLED if it succeeded (allowing the event/query to be properly
	  returned to the initial called)
	  Note that this is definitely not thread-safe for the time being
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  Revert "audiodecoder: expose default query handling function"
	  Apparently I forgot how gobject works, there is no need to expose
	  it directly as one can call it from the parent_class pointer
	  This reverts commit 8a64592481dab985ca520a5b1cb394a609275c60.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  Revert "videodecoder: expose default query handling function"
	  Apparently I forgot how gobject works, there is no need to expose
	  it directly as one can call it from the parent_class pointer
	  This reverts commit ea9b6a7e3c4eea512650adf530b7f1acb0eccd84.

2015-08-15 07:41:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>

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

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

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

2015-08-15 07:31:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: add option to use default pad accept-caps handling
	  Add gst_audio_decoder_set_use_default_pad_acceptcaps() to allow
	  subclasses to make videodecoder use the default pad acceptcaps
	  handling instead of resorting to the caps query that is, usually,
	  less efficient and unecessary
	  API: gst_audio_decoder_set_use_default_pad_acceptcaps

2015-08-15 07:20:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: add option to use default pad accept-caps handling
	  Add gst_video_decoder_set_use_default_pad_acceptcaps() to allow
	  subclasses to make videodecoder use the default pad acceptcaps
	  handling instead of resorting to the caps query that is, usually,
	  less efficient and unecessary
	  API: gst_video_decoder_set_use_default_pad_acceptcaps

2015-08-15 23:33:14 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Make stats creation threadsafe, fix a CRITICAL
	  Use the object lock to protect the internal segment when updating
	  against access from getting the stats property.
	  Fix a critical in gst-inspect or when retrieving the stats
	  before any segment has arrived by checking whether the
	  segment has been initted..

2015-08-12 03:00:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Make the H.264 typefind a tiny bit more lenient.
	  When we see prefix NALs before a Subset SPS has been spotted,
	  it might just be because the stream was truncated at the
	  start, so don't count those as either 'bad' or 'good' packets.

2015-08-14 18:43:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: unref the preroll buffer and cleanup the segments on stop()
	  Just for consistency. No need to keep data around.

2015-08-14 18:35:22 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: do not update preroll_caps unless the sink is prerolling
	  Just for consistency with the preroll_segment

2015-08-14 18:06:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* tests/check/elements/appsink.c:
	  tests/appsink: add test to ensure that the segment returned by pull-preroll/sample is correct
	  https://bugzilla.gnome.org/show_bug.cgi?id=751147

2015-06-18 12:30:24 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: put the correct segment in the preroll sample
	  last_segment is only being updated in dequeue_buffer(),
	  which is only called from _pull_sample(). _pull_preroll()
	  simply re-uses an old or dummy segment while the actual
	  one sits and waits in the queue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751147

2015-08-14 08:59:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: expose default query handling function
	  Subclasses can use it to select what queries they want to handle
	  and forward the rest to the default handling function.
	  API: gst_video_decoder_sink_query_default
	  https://bugzilla.gnome.org/show_bug.cgi?id=753623

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: expose default query handling function
	  Subclasses can use it to select what queries they want to handle
	  and forward the rest to the default handling function.
	  API: gst_audio_decoder_sink_query_default
	  https://bugzilla.gnome.org/show_bug.cgi?id=753623

2015-08-14 11:11:10 +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-14 05:48:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: remove accept-caps handling
	  Just let the internal element of the bin do it instead of forcing a
	  caps query to do it.

2015-08-13 13:52:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: fixate the pixel-aspect-ratio
	  If the pixel-aspect-ratio is not fixed, try to get it as close
	  to 1/1 as possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=748635

2015-08-11 15:09:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: mention videorate is often needed in docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=748877

2015-08-11 14:10:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  rtp: Depend on the audio library

2015-07-01 16:25:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Copy metadata in the (de)payloader, but only the relevant ones
	  The payloader didn't copy anything so far, the depayloader copied every
	  possible meta. Let's make it consistent and just copy all metas without
	  tags or with only the audio tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751774

2015-08-10 22:03:48 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst/videorate/gstvideorate.c:
	  videorate: add support for bayer formats
	  Since the videorate element just duplicates or drops frames
	  to achieve the desired framerate, it can accept video/x-bayer media
	  (in any format), which are not present in the current caps.
	  Just add "video/x-bayer(ANY);" to the caps of the static pad template
	  (fixing line style to pass the indent commit hook).
	  https://bugzilla.gnome.org/show_bug.cgi?id=753483

2015-08-05 15:32:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  basedepayloader: Don't re-timestamp with running-time
	  There was a confusion, six depayloaders where passing through the
	  timestamp while the base class was re-timestamping to running
	  time. This inconstancy has been unnoticed has in most use cases
	  the incoming segment is [0, inifnity] in which case timestamps are
	  the same as running time. With DTS/PTS shifting added (to avoid
	  negative values) and pcapparse sending a different segment this
	  started being an issue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753037

2015-08-10 09:49:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	  videoencoder: remove empty line to make g-i-scanner happy
	  gstvideoencoder.h:228: Warning: GstVideo: "@transform_meta"
	  parameter unexpected at this location:
	  * @transform_meta: Optional. Transform the metadata on ...

2015-08-10 08:17:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: documentation cleanup
	  Remove some whitespace and break lines longer than 80 columns

2015-08-10 00:21:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add test to make sure gap is pushed before segment
	  https://bugzilla.gnome.org/show_bug.cgi?id=753360

2015-08-09 23:23:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* tests/check/libs/videodecoder.c:
	  videodecoder: push pending events before gap
	  Push all pending events before pushing the gap. This ensures the
	  segment is pushed before the gap so it can be properly translated
	  to the running time
	  Includes unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753360

2015-07-30 16:39:03 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Set chain pointers to NULL
	  Otherwise, they will refer to freed memory
	  https://bugzilla.gnome.org/show_bug.cgi?id=753078

2015-07-31 13:31:56 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadend_details string leak
	  deadend_details need not be returned when the pad is not a deadend.
	  Hence checking if res value is TRUE and clearing the string instead of
	  passing it on
	  https://bugzilla.gnome.org/show_bug.cgi?id=753088

2015-08-04 14:41:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't set DTS on buffer
	  DTS is for encoded data and have no meaning for raw. It better to not
	  set it, as it's confusing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752791

2015-07-30 18:43:19 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Return FLUSHING if pad if flushing
	  If the initial seek fails because the pad is
	  flushing, then return GST_FLOW_FLUSHING instead
	  of an error.

2015-07-30 15:16:57 +0100  Brian Peters <brianfpeters@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: avoid accessing NULL buffer even more
	  Previous commit was incompletely applied.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753001

2015-07-30 14:30:44 +0100  Brian Peters <brianfpeters@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: buffer: don't access NULL buffer pointer
	  unmap will set rtpbuffer->buffer to NULL, so we need to
	  save the pointer to access it while the RTP buffer is
	  unmapped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753001

2015-07-30 12:50:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: fix leaks in error code paths
	  This was introduced when reshuffling the buffer unmaps
	  in commit bc14cdf529e21356ea7b2c8f34614958a91f7260
	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
	  Fixes make check-valgrind.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750235

2015-07-28 13:57:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Query downstream caps for checking if caps features are supported, not just accept-caps
	  accept-caps is not recursive and might stop at the next downstream element,
	  while caps queries are generally recursive. The next element might accept any
	  capsfeatures we want, but that doesn't mean that further downstream it will
	  also work.
	  Additionally for the future:
	  We should probably check if downstream *prefers* the
	  overlay meta, and only enforce usage of it if we can't handle
	  the format ourselves and thus would have to drop the overlays.
	  Otherwise we should prefer what downstream wants here.

2015-07-27 18:39:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opus/gstopuscommon.c:
	  opuscommon: Use GString instead of snprintf for concating
	  Safer, easier to understand, and more portable. Also, skip
	  all this if the log level is too low.

2015-07-23 15:28:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Use the extents rectangle for positioning
	  the extents rectangle is what you need to know to properly position
	  a buffer that has been rendered in a surface of the ink rectangle
	  size. This patch make the placement on par with the placement we had
	  before without having to over allocate.
	  This patch also enable placement for vertical rendering. Note that
	  the halginement, valighment and line-alignment default are set to
	  the previous default when this property is set. This is for backward
	  compatibility, you can change the value after setting vertical render.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728636

2015-07-23 15:19:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix clipping issues
	  This patch uses the ink rectangle in order to compute the size
	  of the surface require to render. It also correctly compute the
	  transformation matrix as the ink_rect position might not be at
	  0, 0. Additionally, shadow_offset and outline_offset (which is
	  in fact the diameter of a dot, not a really an offset) is now
	  taken into account. Redundant matrix operation has been removed
	  for the vertical rendering.
	  Take note that the matrix operation in cairo are excuted in
	  reverse order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728636

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

	* tools/gst-play.c:
	  tools: gst-play: seek at least in steps of a second
	  In case of very short files we might end up seeking in
	  steps of a fraction of a second, which is silly and gives
	  the impression that seeking doesn't actually work. Make
	  minimum seek step a second instead.

2015-07-22 16:19:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Improve further the negotiation function
	  * Only send the caps event once if the query had support for the
	  overlay composition meta.
	  * Only do the allocation query if it is supported through caps.
	  * Send overlay_caps before doing allocation query rather then normal
	  caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-22 20:50:10 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* ext/pango/Makefile.am:
	  basetextoverlay: Add missing linking against -lm

2015-07-21 18:40:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Ensure meta coordinate are in stream scale
	  The GstVideoOverlayComposition meta coordinates should always be
	  in stream scale, regardless of the window size downstream. This
	  way the sink can always scale the composition if the window size
	  have changed after a buffer (with his meta) was rendered before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-21 14:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Reorder and cleanup class attribute
	  Also add a minimum amount of comment so we can understand what
	  is doing what.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-15 21:56:17 +0300  Ville Skyttä <ville.skytta@iki.fi>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Treat *.umx (Unreal Music Package) as audio/x-mod
	  https://bugzilla.gnome.org//show_bug.cgi?id=752436

2015-07-20 16:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix upstream composition handling
	  We need to update the render when upstream composition changes
	  or if it was removed.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 16:20:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Clear reconfigure flags before negotation
	  This avoids negotiating twice. Current the _setcaps() patch does
	  not clear the initial reconfigure flags, which lead to systematic
	  double renegotiation.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 15:55:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetestoverlay: Always query window dimension
	  Remove the optimization to skip allocation query so we can
	  always have the latest window size information. Also, correctly
	  deal with the case where there is no window size information.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 15:11:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Send caps before doing allocation query
	  This is currently a limitation of BaseTransform base class. Which means
	  pretty much every filters out there.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-06-18 06:31:00 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Log GstVideoOverlayComposition negotiation
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-03-25 14:10:10 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Receive window size event and adjust rendering
	  * cache window size event and update handle ratio
	  * init width with 1, don't use 0
	  * don't update overlay when receiving same window size
	  * receive window size from allocation query
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-03-19 17:59:16 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetestoverlay: Pass down meta buffers from upstream that supports GstVideoOverlayComposition
	  This makes pipelines with multiple textoverlay elements possible.
	  The meta data is collected from the upstream textoverlay element,
	  merged into a new GstVideoOverlayComposition and passed down downstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-04-20 15:04:56 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: Fix PLC frame size calculations
	  Previously, PLC frames always had a length of 120ms, which caused audio
	  quality degradation and synchronization errors. Fix this by calculating an
	  appropriate length for the PLC frame.
	  The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
	  is nearest to the current PLC length. Any leftover PLC length that didn't
	  make it into this frame is accumulated for the next PLC frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725167

2015-07-10 12:49:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  depayloader: Use input segment start
	  When there is no clock_base provided, the start position is
	  set to 0 instead of the original segment start value. This
	  would break synchronization if start was not 0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752228

2015-07-16 21:26:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: add DASH MPD typefinder
	  Moved from dashdemux plugin in -bad.

2015-07-16 10:07:45 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: fix memory leaks
	  ctx, list and visual_entries are not being freed
	  resulting in memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=752454

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

	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextrender.c:
	* gst/subparse/gstsubparse.c:
	* gst/videoconvert/gstvideoconvert.c:
	  Update mailing list address from sourceforge to freedesktop

2015-07-16 10:54:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: fix props leak
	  CID 1311942

2015-07-15 18:22:28 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-device-monitor.c:
	  device-monitor: print device properties

2015-07-15 12:45:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/videooverlay.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/videotestsrc.c:
	  video: improve logging
	  Add logging categories for most video objects.
	  Remove some useless debug lines in video-info and videotestsrc.
	  Add a performance debug line in the video scaler.

2015-07-15 12:46:07 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: fix tag list leak
	  tags are being leaked while updating the streams in jsseek
	  https://bugzilla.gnome.org/show_bug.cgi?id=752400

2015-07-15 10:50:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: fix tag list leak
	  tags are being leaked while updating the streams in playback-test
	  https://bugzilla.gnome.org/show_bug.cgi?id=752397

2015-07-14 17:17:34 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Include generated enum types in gstrtsptransport.h
	  GST_TYPE_RTSP_LOWER_TRANS used to be defined in there, not
	  including the generated file makes older gst-p-good fail to build,
	  so it constitues an API break.

2015-07-14 15:58:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	  socketsrc: add caps property
	  Add caps property that allows the src to easily negotiate a format.

2015-07-14 13:00:03 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: fix memory leak
	  context during main and filter list during init
	  visualization are not being freed resulting in memory leak
	  and app->vis_entries
	  https://bugzilla.gnome.org/show_bug.cgi?id=752359

2015-07-14 00:03:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: only try to expose complete groups
	  When switching to a new chain it might be that this new chain
	  is not yet ready to be exposed so check it before exposing.
	  Can happen with mpegts that might delay adding pads or pushing data
	  until it has found the PMT/PAT/PCR and that may take a while depending
	  on the stream.
	  It happened frequently with HLS:
	  http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/appleman.m3u8

2015-07-14 00:02:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix typo
	  Hided -> hid

2015-05-27 18:55:20 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
	  Add process_rtp_packet() vfunc that works just like the
	  existing process() vfunc only that it takes the GstRTPBuffer
	  that the base class has already mapped (with MAP_READ),
	  which means that the subclass doesn't have to map it again,
	  which allows more performant processing of input buffers
	  for most RTP depayloaders.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750235

2015-07-10 11:53:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Require the streamvolume interface on the sink when using the sink's volume/mute properties
	  If the sink has properties named volume and mute, we have no idea about their
	  meaning. The streamvolume interface standardizes the meaning.
	  In the case of osxaudiosink for example, the current volume property has a
	  range of 0.0 to 1.0, but we need 0.0 to 10.0 or similar. Also osxaudiosink
	  has no mute property. As such, the volume element should be used here instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752156

2015-07-09 10:47:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/video/video-frame.h:
	  doc/build: Fix doc typos
	  This minor update should workaround a build system bug. While the
	  makefile has been updated to generate more enum type, there is nothing
	  that updates the header and would lead to the generated code to be
	  produced again. This minor doc fix should ensure no one get a build with
	  missing symbols.

2015-07-09 17:20:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstvideo.def:
	  Revert "win32 def: Remove video flags symbol that don't exist"
	  This reverts commit b20cc6a02a007521eabceeceb60356e5a252f38a.
	  They are actually there in the autogenerated enum header/source file.

2015-07-09 10:15:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32 def: Remove video flags symbol that don't exist
	  There has been a some refactoring and these symbols don't exist anynmore.
	  So remove it from the win32 def. This should fix distcheck.

2015-07-07 19:56:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: fix typo in comment

2015-07-07 15:05:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasepayload: fix possible segment event leak
	  Need to clear it when shutting down, not when starting up.
	  Fixes leak in rtp-payloading unit test.

2015-07-07 22:23:57 +0900  Hyunjun Ko <zzoonis@gmail.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  video/audio meta: transform_func: return FALSE if not supported or failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=751778

2015-07-07 19:55:44 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: refactor to use gst_pad_push_event
	  Right now navigation events are being sent via gst_pad_send_event
	  after getting the peer pad of the sinkpad.
	  But the same functionality can be done using gst_pad_push_event
	  without need of getting peer pad in xvimagesink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752059

2015-07-07 14:32:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/Makefile.am:
	* win32/common/libgstvideo.def:
	  video: Add some more GTypes for enums

2015-07-02 07:36:12 +0200  Tobias Mueller <muelli@cryptobitch.de>

	* gst-libs/gst/video/video-scaler.c:
	  GstVideoScaler: Initialised scaling functions to get rid of compiler messages
	  E.g.
	  video-scaler.c: In function 'gst_video_scaler_horizontal':
	  video-scaler.c:1332:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  func (scale, src, dest, dest_offset, width, n_elems);
	  ^
	  video-scaler.c: In function 'gst_video_scaler_vertical':
	  video-scaler.c:1373:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  func (scale, src_lines, dest, dest_offset, width, n_elems);
	  ^
	  GCC's analyses seem to be correct, for the simple fact that if you pass
	  get_functions a known format, but no hscale or vscale, it'll return
	  True without having done anything.
	  Some callers check for the scale values to be not NULL, but then
	  hscale->resampler.max_taps could return 0.
	  A different approach to the one presented in this patch is to check
	  for those max_taps, too, before calling get_functions.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752051

2015-07-07 19:45:43 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: Post navigation events as message on the bus
	  post unhandled events to bus, so that
	  application can utilise the same if needed
	  https://bugzilla.gnome.org/show_bug.cgi?id=752043

2015-07-07 19:35:40 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: fix navigation event leak
	  Create event only when pad is created
	  and send the event to pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752041

2015-07-07 09:31:01 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix pad memory leak
	  pad is not being freed when xwindow is not created
	  https://bugzilla.gnome.org/show_bug.cgi?id=752042

2015-07-07 08:53:09 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-play.c:
	  gst-play: fix memory leak
	  In gst-play, for GST_MESSAGE_ELEMENT bus message,
	  event is being allocated through
	  gst_navigation_message_parse_event, but not freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752040

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

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  x/xv_image_sink: rename for consitency
	  Insert '_' to match the CamelCase. This is needed so that the plugin docs can
	  guess the names from the type name.

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

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  docs: update master doc for plugins

2015-07-06 10:05:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: also check moof to recognize video/quicktime
	  Helps recognizing fragmented files with the right type

2015-07-06 15:36:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  docs: Add new symbols to the docs and .def files

2015-07-06 12:53:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/video/video-info.h:
	  {audio,video}info: Add GST_TYPE_{AUDIO,VIDEO}_INFO macros

2015-07-06 11:36:58 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video-info: implement GstVideoInfo as boxed type
	  GstVideoInfo usually is created on the stack, but boxed type can be useful
	  for bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752011

2015-07-02 20:50:00 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Fix validation of packets with padding
	  The padding (if any) is included in the length of the last packet, see
	  RFC 3550.
	  Section 6.4.1:
	  padding (P): 1 bit
	  If the padding bit is set, this individual RTCP packet contains
	  some additional padding octets at the end which are not part of
	  the control information but are included in the length field. The
	  last octet of the padding is a count of how many padding octets
	  should be ignored, including itself (it will be a multiple of
	  four).
	  Section A.2:
	  *  The padding bit (P) should be zero for the first packet of a
	  compound RTCP packet because padding should only be applied, if it
	  is needed, to the last packet.
	  *  The length fields of the individual RTCP packets must add up to
	  the overall length of the compound RTCP packet as received.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751883

2015-07-01 17:09:35 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix setting default pixel-aspect-ratio
	  It's needed to check if pixel-aspect-ratio exists before fixating.
	  It does not exist if input caps is not set yet and allowed caps
	  does not contain pixel-aspect-ratio (e.g. when using GST_VIDEO_CAPS_MAKE)
	  https://bugzilla.gnome.org/show_bug.cgi?id=751932

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

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

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

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	* gst/adder/gstadder.h:
	* gst/tcp/gstmultisocketsink.h:
	  docs: order and canonicalize the -sections.txt file
	  Have all sections in alphabetical order. Also make the macro order consistent.
	  This is a preparation for generating the file. Remove GET_CLASS macro for
	  some elements, since it is not used and the header is not installed.

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

	* ext/cdparanoia/gstcdparanoiasrc.h:
	  cdparanoiasrc: remove unused defines

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

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: fix debug categories
	  Use a local category for the default category and fix the import for the
	  performance category.

2015-07-02 10:47:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix bug with unused upstream_has_meta
	  The intention was to skip the allocation query if upstream has decided
	  to use the overlay meta feature in the caps. We can safely assume that
	  upstream have done that query already before making this decision. This
	  is an optimization since doing allocation queries is relatively
	  expensive.
	  CID #1308943

2015-07-02 10:27:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: remove dead code"
	  This reverts commit e863e5f8a98ceec0ec0bd24274bbae8795e0ab75.

2015-07-02 14:52:47 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: remove dead code
	  upstream_has_meta is set to FALSE and never changed. The two checks for if
	  upstream_has_meta will never go to the true branch. Removing the boolean
	  and the true branches of these checks.
	  CID #1308943

2015-07-02 13:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Don't try to get buffers from an empty adapter

2015-07-01 10:58:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  {audio,video}{en,de}oder: Also copy POOL metas and make sure to copy over metas when creating subbuffers
	  POOL meta just means that this specific instance of the meta is related to a
	  pool, a copy should be made when reasonable and the flag should just not be
	  set in the copy.

2015-06-29 18:00:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the audio tag. Same behaviour as in GstAudioFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 17:38:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the audio tag. Same behaviour as in GstAudioFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 15:58:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the video tag. Same behaviour as in GstVideoFilter.
	  This currently does not work if the ::parse() vfunc is implemented as all
	  metas are getting lost inside GstAdapter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 13:59:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the video tag. Same behaviour as in GstVideoFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-30 10:37:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Don't copy memory if not needed, just append payload to the RTP buffer

2015-06-30 07:26:00 +0900  danny song <danny.song.ga@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: remove unnecessary break
	  https://bugzilla.gnome.org/show_bug.cgi?id=751690

2015-06-29 16:16:06 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* gst-libs/gst/video/video-scaler.c:
	  videoscaler: remove check for below zero for unsigned value
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it is a division of an unsigned integer (i). Removing that check
	  and only checking if it is bigger than max and setting it appropriately.
	  CID #1308950

2015-06-29 13:06:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

2015-06-29 13:06:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

2015-06-29 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

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

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

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

	* configure.ac:
	  Back to development

=== release 1.5.2 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.5.2

2015-06-24 22:49:29 +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/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:14:21 +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/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

2015-06-17 18:03:09 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Unblock EOS wait when track switching.
	  sink_event () will blocked on EOS event. which will cause can't
	  send event when switch EOS track to non-EOS one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750761

2015-06-22 20:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't wait for sparse streams when doing stream switches
	  Their stream-start event might come a bit later, like just before the first
	  buffer... and queues might run full before that happens.

2015-06-22 20:29:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Add some more debug output

2015-06-22 20:17:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Reset group start time when flushing
	  We reset the group start time to the running time of the start of the other
	  streams that are not flushed. This fixes seeking in gapless mode after the
	  first track has played.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750013

2015-06-22 19:51:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Only drop everything after the ; of a session header in requests
	  For responses it is actually allowed and used to signal the timeout to the
	  client!
	  https://bugzilla.gnome.org/show_bug.cgi?id=736267

2015-06-18 17:38:09 +0800  Lyon Wang <lyon.wang@freescale.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Fix alaw/mulaw channel positions
	  For alaw/mulaw we should also try to initialize the channel positions in the
	  ringbuffer's audio info. This allow pulsesink to directly use the channel
	  positions instead of using the default zero-initialized ones, which doesn't
	  work well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751144

2015-06-22 16:53:06 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/libsabi.c:
	  tests: fix cpp directives

2015-06-22 15:59:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_ppc64.h:
	  tests: add PPC64 abi struct sizes

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

	* gst/playback/gstplaybin2.c:
	  playbin: Reset suburi also when receiving an error message from the sub uridecodebin
	  http://bugzilla.gnome.org/show_bug.cgi?id=751118

2015-06-17 10:20:54 -0500  Brijesh Singh <brijesh.ksingh@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: free group->suburi on failure
	  If suburidecodebin is failed to negotiate (e.g file does not exist)
	  then free internal suburi variable so that 'current-suburi' property
	  returns correct status.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751118

2015-06-15 16:08:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: set building_chain to NULL when deactivating chain
	  The chain is about to be invalidated so we shouldn't keep it around.
	  Prevent a double free crash when the demuxer is being finalized.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751000

2015-06-15 13:43:53 +0200  Mersad Jelacic <mersad@axis.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add bitrate to the tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=750992

2015-06-19 19:51:25 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tools/gst-play.c:
	  tools: gst-play: fix seeking issue
	  For positive seeking segment.stop value will be -1,
	  when we change rate to -1, then the stop value will be udpated
	  with the current position. And then again if we change rate to 1,
	  the segment.stop value does not get updated and remains as position
	  where we last changed rate to -1. Hence playback stops at that point.
	  In case of positive rates, call gst_element_new_seek with correct values
	  https://bugzilla.gnome.org/show_bug.cgi?id=751213

2015-06-18 21:02:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtphdrext.c:
	  doc: Fix gsttrtphdrext section name

2015-06-18 18:23:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* win32/common/libgstvideo.def:
	  video: Add missing new symbol to win32 def file
	  Fixes make distcheck

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  Add gst_video_multiview_guess_half_aspect() to the docs

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

	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-multiview.h:
	  multiview: Add gst_video_multiview_guess_half_aspect()
	  Add a utility function that, given a video size and a
	  packed stereoscopic mode, attempts to guess if the video
	  is packed at half resolution per view or not, since
	  very few videos provide the information.

2015-06-17 17:09:46 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: make sure we draw enough border for YUY2 formats
	  Round width up to 2 so that we draw all border pixels for YUY2 formats

2015-06-17 16:43:03 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix scaling of odd width for YUY2 formats
	  We need to scale groups of 4 bytes for YUY2 formats so round up to 4.
	  It's possible that there is no Y byte for the last pixel so make sure
	  we clamp correctly.

2015-06-17 10:02:08 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: Fix a wrong naming in the documentation
	  gst_discoverer_stream_get_missing_elements_installer_details does not
	  exist, one should use gst_discoverer_info_get_missing_elements_installer_details

2015-06-16 18:04:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gi: Use INTROSPECTION_INIT for --add-init-section
	  This new define was added to common. The new init section fixed
	  compilation warning found in the init line that was spread across
	  all files.

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

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

2015-06-16 22:32:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: error out instead of crashing if there's no playbin element

2015-06-16 16:08:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-scaler.c:
	  gi: Skip Scaler, Chroma, Conveter, Dither constructor
	  Please box these types before removing the skip mark.

2015-06-16 16:07:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  gi: Add (transfer none) for various video meta
	  These method chains gst_buffer_add_meta() which is also transfer
	  none.

2015-06-16 15:50:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  gi: Fix warnings in GstRtsp
	  * The custom GSource is not boxed (skip for now)
	  * The comment block has wrong name for _read_socket()

2015-06-16 15:16:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/riff/Makefile.am:
	  gi: Don't produce gir and typlib for GstRiff
	  The API does not follow the type naming convention. Re-enable
	  only if one take the time to box and rename (see (rename-to SYMBOL)
	  annotation) all types.

2015-06-16 14:36:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	  gi: Skip fft constructor for now
	  These types have never been boxed, hence cannot be used
	  safely in interpreted languages. This fixes warnings.

2015-06-16 14:34:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	  gi: Fix warnings in libgstaudio
	  * Duplicate section
	  * Miss-named parameter
	  * Missing transfer none annotation for meta

2015-05-27 12:20:19 +0300  Lazar Claudiu <lazar.claudiu.florin@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: add "draw-shadow" and "draw-outline" properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=749823

2015-06-13 13:41:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix gtk-doc chunk for new function

2015-05-12 14:12:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Rewrite negotiation method
	  This cleanup the negotiation function by properly splitting the probe
	  and the decisions. This allow handling correctly pipeline where upstream
	  caps have special memory type. An example pipeline is:
	  gltestsrc ! textoverlay text=bla ! fakesink
	  The upstream caps will be memory:GLMemory, which isn't supported by the
	  blitter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749243

2015-06-05 14:30:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Don't share internal pool
	  Sharing the internal pool results in situation where the pool may have
	  two upstream owners. This creates a race upon deactivation. Instead,
	  always offer a new pool, and keep the internal pool internal in case
	  we absolutely need it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748344

2015-06-05 14:28:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Don't share internal pool
	  Sharing the internal pool results in situation where the pool may have
	  two upstream owners. This create a race upon deactivation. Instead,
	  always offer a new pool, and keep the internal pool internal in case
	  we absolutely need it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748344

2014-11-26 21:06:57 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* win32/common/libgstvideo.def:
	  videoencoder: Add gst_video_encoder_set_min_pts()
	  For streams with reordered frames this can be used to ensure that there
	  is enough time to accomodate first DTS, which may be less than first PTS
	  https://bugzilla.gnome.org/show_bug.cgi?id=740575

2015-06-12 19:58:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  Update .def file for new API

2015-06-13 01:35:52 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Copy multiview-mode, flags and view count from ref info
	  When copying info from the reference input state, duplicate
	  all the fields of the video info. The sub-class will have the
	  chance to override them later.

2015-06-12 16:57:39 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: enforce same taps when combining scalers

2015-06-12 16:52:27 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: make sure to clamp to max width
	  When estimating the area that should first be vertically scaled, make
	  sure we clamp to the max input size or else we get invalid reads.

2015-06-12 16:47:03 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: Enforce same taps on Y and UV scalers for merged formats
	  Make sure we have the same number of taps for the Y and UV scalers so
	  that the scalers can be merged correctly.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=749764

2015-06-12 12:50:35 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Add a FIXME 2.0 for gst_rtsp_connection_create_from_socket()
	  There's a couple of redundant arguments from the pre-GIO days.

2015-06-11 23:32:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: check for full UTF-8 BOM in MSS typefinder
	  https://bugzilla.gnome.org/show_bug.cgi?id=750802

2015-06-11 18:14:47 +0200  Philippe Normand <philn@igalia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: UTF-8 MSS Manifest detection support
	  Check if the first bytes of data contain an UTF-8 BOM.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750802

2015-06-11 16:18:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Check in autoplug_continue against the subtitle factory caps correctly
	  6a2f017bfa9cb73c6db65eea0b84b1d5b56febb7 changed it to check the subtitle
	  factory caps if there is a text-sink but we fail to get its sinkpad. What
	  actually should be done here is to use the factory caps if there is no
	  text-sink at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750785

2015-06-11 23:01:48 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix some warnings with clang around multiview enums
	  There is the GstVideoMultiviewMode enum and the
	  GstVideoMultiviewFramePacking, which is a subset of the
	  multiview modes, with the same values as the corresponding
	  types from the full enum. Do some casts and use the right
	  times to avoid implicitly using/passing GstVideoMultiviewFramePacking
	  when a GstVideoMultiviewMode is needed.

2015-06-11 12:21:08 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/libs/video.c:
	  tests: Fix video libs test for multiview GstVideoInfo change
	  The GstVideoInfo struct was changed late in integrating the
	  multiview changes, and I forgot to run and fix the unit test.

2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Implement multiview frame-packing overrides
	  Add GstVideoMultiviewFramePacking enum, and the
	  video-multiview-mode and video-multiview-flags
	  properties on playbin.
	  Use a pad probe to replace the multiview information in
	  video caps sent out from uridecodebin.
	  This is a part implementation only - for full
	  correctness, it should also modify caps in caps events,
	  accept-caps and allocation queries.
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-multiview.h:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	* win32/common/libgstvideo.def:
	  video: Add multiview/stereo support
	  Add flags and enums to support multiview signalling in
	  GstVideoInfo and GstVideoFrame, and the caps serialisation and
	  deserialisation.
	  videoencoder: Copy multiview settings from reference input state
	  Add gst_video_multiview_* support API and GstVideoMultiviewMeta meta
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-06-10 14:33:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()

2015-06-10 12:26:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/playback/gstplaysink.c:
	  playsink: fix the channel of color balance element
	  When traversing the color balance element channel list to find the one that
	  matches with the playsink proxy, the assignation was set to iterator of the
	  playsink proxy, not the balance element. Thus, the mapping to the values of
	  the balance element channel was wrong.
	  This patch fixes the assignation of the color balance element channel, so the
	  mapping to the channel of the color balance element is fixed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750691

2015-06-10 15:50:12 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: cannot enable text flag while playing
	  when text playbin is not enabled in the beginning, then
	  video_srcpad_stream_synchronizer gets linked to videochain->sinkpad
	  and when we try to enable text bin during play, since it is already linked to videochain,
	  text chain does not get linked properly. Hence unlinking the same
	  before linking to text chain
	  https://bugzilla.gnome.org/show_bug.cgi?id=748908

2015-06-10 09:59:49 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstrtsp.def:
	  win32: Update defs file

2015-06-05 22:04:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  GstRTSPConnection: Add GTlsInteraction support
	  https://bugzilla.gnome.org/show_bug.cgi?id=750471

2015-06-09 21:24:07 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: don't print 64 whitespaces next to the time indication
	  Printing 64 whitespaces to erase the "Paused" message (after \r) would make
	  it wrap to the next line on shorter terminals. Instead we only print the
	  amount of spaces needed. Also mark the "Paused" string for translation
	  while we're at it.

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

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

2015-06-09 22:03:37 +1000  Jan Schmidt <jan@centricular.com>

	* win32/common/libgstaudio.def:
	  Update win32 exports

2013-12-09 18:46:14 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/alsa/gstalsasink.c:
	  alsa: report recoverable device failures to base class
	  This gives custom slave methods in the base class a chance to
	  resynchronize themselves
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=708362

2013-12-09 17:08:15 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	  audiobasesink: added custom clock slaving method
	  This new clock slaving method allows for installing a callback that is
	  invoked during playback. Inside this callback, a custom slaving
	  mechanism can be used (for example, a control loop adjusting a PLL or an
	  asynchronous resampler). Upon request, it can skew the playout pointer
	  just like the "skew" method. This is useful if the clocks drifted apart
	  too much, and a quick reset is necessary.
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=708362

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

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

2015-06-09 10:16:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: add shortcuts to switch audio/subtitle/video tracks

2014-11-05 09:41:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybackutils.c:
	  playback: Skip 'ANY' capsfeature while finding the count of common capsfeatures
	  https://bugzilla.gnome.org/show_bug.cgi?id=687182

2014-11-05 09:40:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaybackutils.c:
	* gst/playback/gstplaybackutils.h:
	* gst/playback/gstplaybin2.c:
	  playback: Add gstplaybackutils.{h,c} to deploy the common subroutines
	  Bring some of the helper functions in gstplaybin2.c to new files
	  gstplaybackutils.{h,c} which can be utilized by other files
	  in gst/playback too.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687182

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

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

2015-06-08 20:32:02 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: sort directory entries
	  When adding a directory to the playlist, the order would be whatever
	  g_dir_read_name returned. Sorting these using natural sort order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750585

2015-06-08 20:17:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvcontext.c:
	  ximagesink, xvimagesink: fix string leaks when setting class hint
	  https://bugzilla.gnome.org/show_bug.cgi?id=750455

2015-06-08 13:01:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-color.c:
	  video: Allow using bt2020 by name in colorimetry
	  As the lookup stops at the first element in the array with a NULL
	  name, bt2020 could not be used by name. Moving up this entry
	  fixes the issue.

2015-06-05 16:01:05 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: set WM_CLASS of window
	  Set WM_CLASS of the ximagesink window so window managers can apply rules
	  based on xprop filtering.

2015-06-05 15:58:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* sys/xvimage/xvcontext.c:
	  xvimagesink: set WM_CLASS of window
	  Set WM_CLASS of the xvimagesink window so window managers can apply rules
	  based on xprop filtering.

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

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

2015-06-07 18:49:48 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: clean dereferences of private structures
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-06-07 18:23:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  libvisual: make private all variable subclasses don't need
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

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

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

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

	* docs/libs/Makefile.am:
	* 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:13 +0200  Stefan Sauer <ensonic@users.sf.net>

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

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

	* configure.ac:
	  Back to development

=== release 1.5.1 ===

2015-06-07 10:04:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/gstrtsp-enumtypes.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/pbutils-enumtypes.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.5.1

2015-06-07 09:35: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/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/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

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

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Always prefer downstream's ssrc suggestion if any
	  Otherwise ssrc changes via rtpsession's (deprecated!) internal-ssrc property
	  are not possible anymore. rtpsession was now patched to only suggest an ssrc
	  if it makes sense to do so.
	  In 2.0 we should get rid of all the properties that are also negotiated via
	  caps, the code and behaviour is too confusing otherwise.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749581

2015-06-05 10:16:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* win32/common/libgstrtp.def:
	  rtcpbuffer: Improve documentation of new functions a bit
	  Also actually add them to the documentation.

2015-06-03 11:20:35 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Update package validation to support reduced size rtcp packets
	  According to this section of the rfc.
	  https://tools.ietf.org/html/rfc5506#section-3.4.2
	  The validation should be updated to accept more types of RTCP
	  packages, with this mask change feedback packages will be also
	  accepted.
	  Change-Id: If5ead59e03c7c60bbe45a9b09f3ff680e7fa4868

2015-06-04 19:03:51 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-06-04 19:00:45 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-06-04 17:59:17 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-05-20 18:16:07 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Serialize the top level DiscovererInfo
	  Which contains fields such as duration, uri and tags.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749673

2015-06-04 16:31:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Add AAC channel configurations 11, 12 and 14 and levels 6 and 7

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

	* ext/opus/gstopusdec.c:
	  opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz

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

	* ext/opus/gstopusdec.c:
	  opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field
	  Just set the rate/channels directly if the caps don't have this field.

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

	* tests/check/generic/clock-selection.c:
	* tests/check/libs/allocators.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/fft.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/rtsp.c:
	* tests/check/libs/rtspconnection.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/xmpwriter.c:
	* tests/check/pipelines/basetime.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/gio.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisdec.c:
	* tests/check/pipelines/vorbisenc.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-06-02 16:02:37 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/elements/opus.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-06-02 12:47:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for video/x-cavs caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=727731

2015-06-02 12:28:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstpbutils.def:
	  win32: Update def file for new encoding API

2015-05-29 14:15:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: optimise payload mapping for buffers with one memory
	  Micro-optimisation: if the buffer consist of just one memory, we
	  know we have already mapped that memory to read the headers, so
	  no need to map it another time to get to the payload data, we
	  can just set up the payload data details right there and then
	  and avoid another map call in gst_rtp_buffer_get_payload().
	  Adds up when receiving RTP-payloaded raw video which can easily
	  be thousands of packets per frame.

2015-05-21 13:59:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	  rtpbasedepayload: provide chain_list function on sink pad
	  Implement a chain_list function, which avoids lots of locking
	  compared to the default fallback implementation in GstPad.
	  We may also want to do some more sophisticated timestamp
	  tracking here at some point, but for now leave it up to the
	  jitterbuffer and/or subclasses (in case buffers in the
	  buffer list have no timestamp set on them, there may only
	  be a timestamp for the whole list on the first buffer).
	  This provides the exact same behaviour as the default
	  fallback implementation.

2015-05-07 10:26:47 +0200  Thibault Saunier <tsaunier@gnome.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	  encodebin: Add a way to enable/disabled a GstEncodingProfile
	  Summary:
	  So that the user can easily use the same encoding profile to render
	  with/without audio/video stream.
	  API:
	  gst_encoding_profile_is_disabled
	  gst_encoding_pofile_set_enabled
	  https://bugzilla.gnome.org/show_bug.cgi?id=749056

2015-05-30 15:34:51 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tools/gst-play.c:
	  tools: gst-play: remove unnecessary variable
	  The second assignment of sret is never used. We can remove the first assignment
	  and use the value directly instead.

2015-05-30 08:12:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2frames: Fix compiler warnings
	  id3v2frames.c:951:20: error: unused variable 'utf16enc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16enc[] = "UTF-16";
	  ^
	  id3v2frames.c:952:20: error: unused variable 'utf16leenc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16leenc[] = "UTF-16LE";
	  ^
	  id3v2frames.c:953:20: error: unused variable 'utf16beenc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16beenc[] = "UTF-16BE";
	  ^

2015-05-30 01:03:46 +1000  Jan Schmidt <jan@centricular.com>

	* docs/design/part-stereo-multiview-video.markdown:
	  part-stereo-multiview-video: Add a section of open design questions

2015-05-30 00:58:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Fix minor docs typo

2015-03-16 19:37:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: Document the solid-color pattern

2015-03-16 19:28:35 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplay-enum.h:
	  playback: Document GST_PLAY_FLAG_SOFT_COLORBALANCE

2014-10-09 01:13:29 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* win32/common/libgstvideo.def:
	  video: Make gst_buffer_get_video_meta() a real function, Return lowest id
	  Instead of returning the first video meta found on a buffer, return the
	  one with the lowest id (which is usually the same thing, except on
	  multi-view buffers)

2015-05-29 15:30:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't crash on unknown info types when deserializing
	  Handle unknown info types when deserializing instead of
	  dereferencing NULL pointers.
	  Coverity CID 1302394

2015-05-29 13:15:59 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: prevent the sdp message parser from reading past the end of the buffer
	  Otherwise, a malformed SDP message could crash the application,
	  or even maliciously gather data from the memory located after
	  this buffer...
	  https://bugzilla.gnome.org/show_bug.cgi?id=750096

2015-05-28 19:49:31 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* tests/check/elements/videorate.c:
	  tests: add test for videorate caps renegotiation after a framerate has been calculated and added to caps
	  The original 0/1 framerate must still be allowed to be configured
	  on the upstream side of videorate, otherwise future caps renegotiation
	  is going to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750032

2015-05-28 12:51:35 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst/videorate/gstvideorate.c:
	  videorate: update the caps framerate only in the GST_PAD_SINK transform_caps direction
	  When a stream has a variable framerate, videorate calculates it and
	  forces it on the output caps. However, the code in _transform_caps()
	  currently also does that if the transform is going in the opposite
	  direction (GST_PAD_SRC), so during a renegotiation it tries to force
	  upstream to use the calculated framerate and it fails.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750032

2015-05-26 08:06:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: use queue to avoid lock in audiotee audio branches
	  This part of pipeline is:
	  tee name=t ! visualizationbin ! streamsynchronizer name=s
	  t. ! s.
	  streamsynchronizer might block and it could starve the visualization
	  branch of the pipeline when it is enabled.
	  The visualization bin has queues internally but the other branch
	  that links the audiotee directly to the synchronizer is vulnerable
	  to block. Adding a queue between "t. ! s." fixes deadlocks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749676

2015-05-26 13:11:00 +0300  Claudiu Florin Lazar <lazar.claudiu.florin@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: make deltax and deltay properties controllable
	  This will be more useful once we have absolute direct
	  control bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749824

2015-05-05 18:01:46 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix chain leak
	  Don't leak the building_chain when destroying.
	  Fix leaks with the validate.http.playback.reverse_playback.vorbis_theora_1_ogg
	  scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748964

2015-05-25 22:37:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix parsing of UTF-16 text on systems with crippled iconv
	  Use g_utf16_to_utf8() instead of the more generic g_convert(), so
	  that we can extract text in UTF-16 format even on embedded systems
	  with crippled iconv support.
	  This code path is exercised by the id3demux test_unsync_v23
	  check in gst-plugins-good.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741144

2015-05-25 22:37:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	  Add new generated rtp enum files to .gitignore

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

	* tools/gst-play.c:
	  tools: gst-play: keep configured playback rate and trick mode when seeking
	  Instead of resetting rate to 1.0

2015-05-24 18:47:25 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2015-05-24 18:46:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: mark more strings for translation

2015-05-23 01:50:11 +0900  danny song <danny.song.ga@gmail.com>

	* tools/gst-play.c:
	  tools: gst-play: add keyboard shortcut help
	  https://bugzilla.gnome.org/show_bug.cgi?id=749740

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

	* tests/check/Makefile.am:
	  tests: add back videoscale unit test
	  Has been removed in 835422b2 as part of porting
	  things over to the new videoscale API.

2015-05-21 12:10:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: enable interative mode by default
	  And change --interactive option to --no-interactive.

2015-05-21 13:07:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	  rtp: Clean G-I files on make clean too

2015-05-20 16:23:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	  rtp: Add builddir to the include path for gobject-introspection
	  And also add missing headers/sources
	  https://bugzilla.gnome.org/show_bug.cgi?id=749632

2015-05-20 15:40:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	  win32: Update exports

2015-05-20 13:36:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtpdefs.h:
	* gst-libs/gst/rtp/rtp.h:
	  rtp: Add GstRTPProfile enum

2015-05-20 13:35:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Add FIXME 2.0 comment about GstRTSPTransport being an enum instead of flags

2015-05-20 13:33:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Use glib-mkenums to generate GstRTSPProfile and GstRTSPLowerTrans GTypes

2015-05-20 10:22:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  Revert "oggdemux: Prevent seeks when _SCHEDULING_FLAG_SEQUENTIAL is set"
	  This reverts commit 76647f2710d718e27f207b005956b7dba72c2d19.
	  Avoiding pull mode activation is a feature regression, and
	  demuxers should always use pull mode where that is possible,
	  e.g. if there's an upstream queue2 with a ring buffer or
	  a download buffer.
	  This patch made reverse playback no longer possible over http.
	  If the goal is to minimise seeks, then that can still be done
	  by making the demuxer behave differently in pull mode if
	  the SEQUENTIAL flag is set. If there are bugs, like the demuxer
	  needlessly scanning the entire file on start-up in pull mode,
	  then those should be fixed instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746010

2015-05-19 19:48:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstpbutils.def:
	  win32: update .def file for new API

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

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

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

	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesrc.c:
	  gio: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

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

	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

2015-05-19 18:53:09 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  gstdiscoverer: Add since annotation.
	  Forgot to add the since annotation to the
	  GstDiscovererSerializeFlags in the previous commit.

2015-05-03 03:18:28 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* tests/check/libs/discoverer.c:
	* win32/common/libgstpbutils.def:
	  discoverer: Add serialization methods.
	  [API] gst_discoverer_info_to_variant
	  [API] gst_discoverer_info_from_variant
	  [API] GstDiscovererSerializeFlags
	  + Serializes as a GVariant
	  + Adds a test
	  + Does not serialize potential GstToc (s)
	  https://bugzilla.gnome.org/show_bug.cgi?id=748814

2015-05-19 16:32:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Try harder to reuse previously configured caps values and give more preference to anything set as properties
	  This affects the pt, ssrc, seqnum-offset and timestamp-offset properties. If
	  they were set from a property, or we configured caps before, we try to use
	  that value for them. Even if the first structure of the downstream caps
	  specifies a different value, we check if the value is supported by other
	  structures.
	  Only if all this fails, we use the values given by downstream in the first
	  structure, i.e. if no properties were set and these are the first caps we
	  negotiate or downstream does not support our values.
	  By doing this we ensure that we don't spuriously change ssrcs or other fields
	  in the middle of the stream (and also consider property values more). Ssrc
	  changes would currently happen after sending an RTX packet (thus creating a
	  new internal source inside the rtpsession), and then renegotiating the
	  payloader (which then gets the RTX ssrc from rtpsession).
	  https://bugzilla.gnome.org/show_bug.cgi?id=749581

2015-05-18 21:09:25 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-scaler.c:
	  docs: a random set of trivial fixes for the library docs
	  Warnings down to 35, unused symbols doen to 112.

2015-05-18 20:56:28 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  docs: add fdmemory to docs

2015-05-18 20:45:45 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/video-scaler.c:
	  docs: a random set of trivial fixes for the library docs
	  All those where super straight forward from the warnings gtkdoc prints. It kind
	  of makes sense to apply them before the list of warnings is >100 and people
	  complain that gtkdoc is noisy.

2015-05-18 20:31:30 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/gstmikey.h:
	  mikey: fix a bunch of doc warnings
	  Rename header/source mismatch of parameters. Update the exposed API in
	  sections.txt.

2015-05-18 20:01:49 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  Revert "doc: Workaround gtkdoc issue"
	  This reverts commit df7ef3c35d34352257a28307c07d4673f239452e.
	  This is fixed by the gtk-doc 1.23 release.

2015-05-18 11:23:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/appsrc.c:
	  appsrc: optimise caps changing when previously-set caps have not taken effect yet
	  Only negotiate/change caps once when setting caps twice and
	  the first-set caps have not been used yet.
	  Based on patch by Eunhae Choi.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747517

2015-05-18 16:16:10 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix pool leak
	  During set caps when config fails, the referenced newpool
	  is not unref ed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749530

2015-05-18 15:45:01 +0900  eunhae choi <eunhae1.choi@samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: check the flags before set again
	  check the previous flags of playsink to avoid the reconfigure of playsink repeatedly
	  https://bugzilla.gnome.org/show_bug.cgi?id=749528

2015-05-16 23:33:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  doc: Workaround gtkdoc issue
	  With gtkdoc 1.22, the XML generator fails when a itemizedlist is
	  followed by a refsect2. Workaround the issue by wrapping the refsect2
	  into para.

2015-05-15 14:49:47 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: use the new gst_object api
	  Use gst_object_has_as_anchestor instead of the now deprecated _has_ancestor.

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

	* ext/ogg/gstoggmux.c:
	  docs: fix up example pipeline

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

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  docs: update element example pipelines
	  - gst-launch -> gst-launch-1.0
	  - use autoaudiosink and audiovideosink more often
	  - review pipeline examples and descriptions

2015-05-10 10:51:09 +1000  Jan Schmidt <jan@centricular.com>

	* win32/common/libgstvideo.def:
	  video: Update win32 exports for new libgstvideo API

2015-05-08 15:21:16 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	  videoconvert: Expose some properties from the videoconverter API
	  Expose chroma resampler, alpha mode, alpha value, chroma mode, matrix mode,
	  gamma mode and primaries mode from the videoconverter API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749105

2015-05-08 14:57:03 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-resampler.h:
	* gst/videoscale/gstvideoscale.c:
	  video-converter: Change some implicit string enums to real enums
	  GST_VIDEO_CONVERTER_OPT_ALPHA_MODE, GST_VIDEO_CONVERTER_OPT_CHROMA_MODE,
	  GST_VIDEO_CONVERTER_OPT_MATRIX_MODE, GST_VIDEO_CONVERTER_OPT_GAMMA_MODE and
	  GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE were G_TYPE_STRING with only a few valid
	  options. Changed those to real enums.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749104

2015-05-08 15:06:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Also negotiate with downstream if needed before handling a GAP event

2015-05-08 15:02:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Also negotiate with downstream if needed before handling a GAP event

2015-05-06 12:40:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try to be smarter when clipping buffers without duration/framerate to the segment
	  2 second frame duration is rather unlikely... but if we don't clip
	  away buffers that far before the segment we can cause the pipeline to
	  lockup. This can happen if audio is properly clipped, and thus the
	  audio sink does not preroll yet but the video sink prerolls because
	  we already outputted a buffer here... and then queues run full.
	  In the worst case we will clip one buffer too many here now if no
	  framerate is given, no buffer duration is given and the actual
	  framerate is less than 0.5fps.
	  Fixes seeking on HLS/DASH streams, when seeking into the middle of
	  fragments and having no framerate/buffer duration.

2015-05-04 17:59:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix navigation event leak when early returning
	  Create the event *after* the early return check so it's not leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-04 18:00:18 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix navigation event leak when not handled
	  gst_navigation_message_new_event() is *not* consuming the event so we should
	  always drop our extra reference.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-04 17:58:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/navigation.c:
	  navigation: fix structure leak if subclass doesn't implement send_event()
	  The send_event() implementation is supposed to consume @structure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-05 15:35:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't override segment.base from upstream with 0
	  Upstream might want to use it to properly map timestamps to running/stream
	  times, if we just override it with 0 synchronization will be just wrong.
	  For this we remove some old 0.10 code related to segment accumulation, and
	  remove some more code that is useless now, and accumulate the group start time
	  (aka segment.base offset) manually now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-05-05 13:14:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Add some debug output

2015-03-19 10:50:22 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-scaler.c:
	  video: add NV61 format support
	  https://bugzilla.gnome.org/show_bug.cgi?id=746466

2015-05-04 20:33:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new video API to docs

2015-05-04 10:35:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* ext/opus/gstopusheader.c:
	  opusheader: Do not include rate in caps if it is 0
	  As expressed in gst_opus_header_create_caps, value 0 means unset.
	  Setting rate value to 0 make negotiation with decoder fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748875

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

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video: check colorimetry and chroma_site equality in gst_video_info_is_equal()
	  Add VideoInfo accessors for colorimetry and chroma_site and use them
	  when checking the equality of two GstVideoInfo

2015-05-04 02:10:17 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* win32/common/libgstvideo.def:
	  video-color: Add gst_video_colorimetry_is_equal()
	  Add a function for comparing the equality of 2 colorimetry
	  structures.

2015-04-10 16:05:45 +0900  Young Han Lee <y.lee@lge.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove unused code
	  These lines have done nothing for about 10 years.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748820

2015-04-10 15:24:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Use more strict profile checking for hevc
	  Use the profile_idc value to set the profile string in caps.
	  Don't use compatibility flags for this purpose.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747613

2015-04-30 14:55:14 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Remove unused macro
	  Remove unused macro GET_TMP_LINE
	  https://bugzilla.gnome.org/show_bug.cgi?id=748687

2015-04-29 15:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: add some more key navigation mappings
	  And don't feed multi-character key descriptors to the
	  event handler, it won't be what it expects.

2015-04-29 15:30:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	* win32/common/libgstvideo.def:
	  navigation: sprinkle some since markers and add new API to .def file
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-02 16:16:58 +0200  Edward Hervey <edward@centricular.com>

	* tools/gst-play.c:
	  tools: Add mouse/keyboard handling from messages
	  Allows the user to control playback with the window in focus
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

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

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Post unhandled navigation events on the bus
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-02 16:09:13 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	  video: Add a new "event" navigation message type
	  This will be useful for elements that wish to post unhandled navigation
	  events on the bus to give the application a chance to do something with
	  it
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-28 17:24:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: fix includes and compilation against opus in non-standard prefix
	  https://bugzilla.gnome.org/show_bug.cgi?id=748594

2015-04-28 16:58:21 +0200  Mersad Jelacic <mersad@axis.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: don't use deprecated gst_buffer_new_and_alloc
	  Use the helper function available in the base class instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748585

2015-04-28 12:01:02 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* win32/common/libgstvideo.def:
	  video-info: expose InterlaceMode conversion to/from string
	  Expose the methods used to convert a GstVideoInterlaceMode to and
	  from a string.

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

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	  Rename property enums from ARG_ to PROP_
	  Property enum items should be named PROP_ for consistency and readability.

2015-04-27 11:06:58 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: Keep colorimetry and chroma-site fields if passthrough
	  https://bugzilla.gnome.org/show_bug.cgi?id=748141

2015-04-27 10:08:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: Change the remaining "samples" in the ::delay() vfunc docs to "frames"
	  https://bugzilla.gnome.org/show_bug.cgi?id=748289

2015-04-26 20:13:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/pipelines/tcp.c:
	  tests: tcp: remove SOCK_CLOEXEC which causes build problems on OS/X
	  It's not needed here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747692

2015-04-26 21:08:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: The delay vfunc returns the number of frames, not samples
	  https://bugzilla.gnome.org/show_bug.cgi?id=748289

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

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

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

	* Android.mk:
	* android/NOTICE:
	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/audioresample.mk:
	* android/audiotestsrc.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/gdp.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	* android/videoconvert.mk:
	* android/videoscale.mk:
	* android/videotestsrc.mk:
	* ext/ogg/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* tools/Makefile.am:
	  Remove obsolete Android build cruft
	  This is not needed any longer.

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

	* tests/check/gst/typefindfunctions.c:
	  tests: typefindfunctions: add test for UTF-16 MSS manifest typefinding

2015-04-26 14:44:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: don't read more data than needed in MSS typefinder

2015-04-26 14:27:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: detect MSS manifests without using g_convert()
	  Embedded systems often have limited charset conversion
	  functionality, so don't rely on g_convert() (i.e. iconv)
	  for UTF-16 to UTF-8 conversions, we can easily enough do
	  that ourselves by converting to native endianness and
	  then using GLib's helper functions.

2015-04-25 18:45:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  audiovisualizer: fix the license from GPL to LGPL
	  This was a copy'n'paste buf in the initial commit done by myself.

2015-04-24 14:59:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: fix invalid reads in GST_DEBUG statement
	  Don't try to print a string that is not NUL-terminated. This
	  log line does not really seem useful so let's just drop it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748413

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

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  remove unused enum items PROP_LAST
	  This were probably added to the enums due to cargo cult programming and are
	  unused. Removing them.

2015-04-03 00:44:12 +0900  Wonchul Lee <chul0812@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add sink and src query virtual method
	  API: GstAudioDecoderClass::src_query()
	  API: GstAudioDecoderClass::sink_query()
	  https://bugzilla.gnome.org/show_bug.cgi?id=747293

2015-04-23 15:57:37 +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 15:42:41 +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 15:14:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	* tests/check/libs/.gitignore:
	* tests/check/pipelines/.gitignore:
	  Update .gitignore

2015-04-23 09:50:12 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: n_lines member should be a guint not a boolean
	  https://bugzilla.gnome.org/show_bug.cgi?id=748348

2015-04-21 15:27:57 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix event leaks
	  gst_event_replace() takes its own reference on the event so we should drop
	  ours after creating and storing an event using it.
	  This fix leaks which can be reproduced using the
	  validate.http.media_check.vorbis_theora_1_ogg scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748247

2015-04-22 10:34:09 +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-22 10:33:58 +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-21 13:31:44 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix YUY2 scaling some more
	  Take into account the different steps between Y and UV when calculating
	  the line size for vertical resampling or else we might not resample
	  enough pixels and leave bad lines.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790

2015-04-21 13:16:29 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: scale enough pixels in YUY2 (and friends) mode
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790

2015-04-17 16:21:05 +0900  Hyunjun Ko <zzoon.ko@samsung.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasedepayload: fix crash in test when passing varargs
	  Need to pass 64 bits where 64 bits are expected.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748027

2015-04-17 11:18:22 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Remove unused variables
	  Remove unused variables n_taps, max_taps in setup_scale()
	  https://bugzilla.gnome.org/show_bug.cgi?id=748021

2015-04-16 10:03:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideoutils.h:
	  video: add missing part of documentation text

2015-03-31 13:26:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix GstToc leak when parsing toc messages
	  gst_message_parse_toc() returns a reffed GstToc which is owned by the
	  GstDiscovererInfo. But we have to make sure we unref its previous value before
	  setting the new one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747103

2015-04-17 11:45:34 +0200  Edward Hervey <edward@centricular.com>

	* win32/common/libgstallocators.def:
	  win32: Update defs for new API

2015-04-17 09:31:40 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  allocators: make GstFdAllocator non-abstract
	  Make the GstFdAllocator non-abstract because it is perfectly possible
	  to make memory from a generic fd. Mark the memory as simply "fd".

2015-04-15 11:24:17 +0200  Bernhard Miller <bernhard.miller@streamunlimited.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: fix mixed usage of gint and gint32 in int matrix
	  This is a fixup for b2db18cda2e4e7951655cb2a34108a8523b6eca9
	  audioconvert: avoid float calculations when mixing integer-formatted channels
	  The int matrix was using gint and gint32 synonymously, which can theoretically
	  cause problems if gint and gint32 are actually different types.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747005

2015-04-14 12:47:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	* gst/gio/gstgio.c:
	  gio: fix gvfs plugin dependencies
	  Try harder to look for gvfs backend changes in the right
	  place, to make sure the plugin gets reloaded when backends
	  are removed or installed. We watch the gvfs mounts directory
	  because the files there contain absolute paths to the
	  backend executables, and those may not be in the usual gio
	  path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747841

2015-04-14 15:08:09 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: disconnect scale callback in scrubby
	  When the position slider's button is released, disconnect the "value_changed"
	  callback to avoid triggering false seek callbacks.

2015-04-13 17:35:36 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: keep scrubby command consistent
	  scrubby has two options, wav and playbin. Wav takes a file location so make
	  the playbin option take a file location as well instead of an uri. This also
	  means the usage help string will be correct for the playbin option.

2015-04-13 17:28:45 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: no need to set intermediate states

2015-04-13 16:09:26 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: wavparse doesn't need dynamic linking
	  In scrubby, there is no need to link wavparse with the sink dynamically.
	  The pad is available when the element is generated.
	  Change video and audio sinks to the automatically detected sinks.

2015-04-11 19:51:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Break instead of return if default negotiation on GAP events fails
	  Otherwise we're going to leak the event.

2015-04-11 00:03:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/app/Makefile.am:
	* gst/videorate/Makefile.am:
	  app, videorate: fix CFLAGS and LIBADD order
	  Make sure local headers are included before installed -base.

2015-04-10 14:30:36 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/playrec/playrec.c:
	  examples: remove reference to 0.10 in playrec

2015-04-10 13:41:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/overlay/gtk-videooverlay.c:
	  examples: remove deprecated function in gtk-videooverlay
	  gtk_widget_set_double_buffered () has been deprecated since GTK 3.14.
	  Also, widgets are realized automatically and gtk_wiget_realize () is only
	  meant to be used in widget implementations.

2015-04-09 17:03:11 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix buffer leak in chain function
	  If we don't consume the buffer by passing its reference to
	  overlay->text_buffer then we need to unref it.
	  Fix a leak with validate.file.playback.fast_forward.test5_mkv
	  when running inside Valgrind.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747602

2015-04-08 18:32:29 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: docs grammar fixes
	  https://bugzilla.gnome.org/show_bug.cgi?id=747516

2015-04-09 16:49:44 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/gio/giosrc-mounting.c:
	  examples: add example description to giosrc-mounting
	  Also, use GST_MESSAGE_TYPE instead of accessing the GstMessage structure

2015-04-09 13:00:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix ring buffer leak on open failure

2015-04-09 12:59:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: fix ring buffer leak on open failure

2015-04-09 11:23:25 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/encoding/encoding.c:
	  examples: reuse variables in encoding example

2015-04-08 20:49:24 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't post error messages while holding the stream lock

2015-04-08 20:48:39 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't get and parse the current srcpad caps
	  We only get here if we don't have any srcpad caps, and we're going
	  to override the GstAudioInfo a few lines below anyway without ever
	  using it if for whatever reason we get caps here.

2015-04-08 20:45:58 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try to invent default caps instead of setting none at all when getting a GAP event before CAPS
	  Otherwise we would forward the GAP event without ever providing any caps,
	  which then would make decodebin expose a srcpad without any caps set. That's
	  confusing for applications and can lead to all kinds of interesting bugs.
	  Instead do the same as already is done in GstAudioDecoder, and try to invent
	  caps based on the sinkpad caps and the caps allowed by downstream and the
	  srcpad template caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747190

2015-04-08 20:44:15 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also log the pointer value of sticky events in debug output
	  Makes it easier to follow them in the debug logs.

2015-04-08 17:12:22 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/dynamic/addstream.c:
	  examples: remove unused return value in addstream
	  Removing unused return value of pause_play_stream ().
	  Fixing code style to satisfy the git hook.

2015-04-08 15:31:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/dynamic/sprinkle.c:
	  examples: avoid sprinkle running endlessly
	  Quit sprinkle when there are no more frequencies to remove.
	  Also rename for readability the check for linking elements.

2015-04-08 16:15:43 +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-07 16:43:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtp: rtcpbuffer: fix typo in enum
	  and in docs. Spotted by Rob Swain.

2015-04-07 15:32:35 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src2.c:
	  tests: remove unused filename string from appsink-src2

2015-04-07 15:30:30 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src.c:
	  tests: check file exists before running appsink-src

2015-04-07 15:16:41 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsink-src2.c:
	* tests/examples/app/appsrc_ex.c:
	  tests: add missing license headers for example apps

2015-04-06 19:20:00 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  {audio,video}decoder: Forward SEGMENT_DONE events immediately and drain decoders
	  Otherwise we're going to wait with draining until the next data comes, which
	  is a bit suboptimal and might take a long time... or maybe never happens.

2015-04-05 13:53:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsrc.c:
	  tests: appsrc: clean up block_deadlock test and make it work in valgrind
	  Remove all the bus watch and main loop code from the block_deadlock
	  test, it's not needed: neither pipeline will ever post an EOS or ERROR
	  message on the bus, and we're the only ones posting an error, from a
	  timeout. Might just as well just sleep for a bit and then do whatever
	  we want to do.
	  Don't gratuitiously set tcase timeout, just use whatever is the
	  default (or set via the environment).
	  Make individual pipeline runs shorter.
	  Check for valgrind and only do a handful iterations when running
	  in valgrind, not 100 (each iteration takes about 4s on a core i7).
	  Make videotestsrc output smaller buffers than the default resolution,
	  we don't care about the buffer contents here anyway.
	  Fixes test timeouts when run in valgrind.

2015-04-05 12:30:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/multisocketsink.c:
	  tests: multisocketsink: fix flaky unit test
	  On slower systems, or under high system load (e.g. check-valgrind),
	  the sending_buffers_with_9_gstmemories test would sometimes fail,
	  because the read call only returns 32 bytes instead of the full
	  36 bytes expected. This is because multisocketsink might end up
	  doing a partial write of 32 bytes first, and then write the
	  missing 4 bytes later, but since we don't wait for all of data
	  to be written, there's a short window where our read call in the
	  unit test might then only receive the 32 bytes written so far,
	  which makes it deeply unhappy.
	  Instead, make sure we loop to read all bytes.

2015-04-04 21:38:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gstmultisocketsink.c:
	  tcpserversink: don't error out if clients send us something, just ignore it
	  We don't expect clients to send us any data, but if they do, just
	  ignore it. Web browsers might send us an HTTP request for example,
	  but some will still be happy if we just send them data without
	  a proper HTTP response.
	  There was a bug in the reading code path. We only have a small
	  read buffer and would provoke an EWOULDBLOCK trying to read
	  because we don't bail out of the loop early enough.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743834

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

	* tests/check/pipelines/basetime.c:
	  tests: basetime: fix timeouts when running under valgrind
	  This test sets a rather short timeout, increase this when
	  we run under valgrind. Also add a short sleep to the
	  fakesrc ! fakesink pipeline to avoid thrashing the CPU,
	  which would often not stop the main loop when it should.
	  Also fix wrong (0.10) return value from pad probe callback.

2015-04-04 00:46:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: downgrade left-over ERROR debug message

2015-04-04 00:42:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: fix a couple of memory leaks
	  tests: videorate: fix leak in unit test

2015-04-03 18:18:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Add gst_video_encoder_get_allocator() to doc

2015-04-03 21:00:53 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exiftag: don't try to convert utf-8 to latin1 if string is ASCII already
	  Bypass g_convert/iconv if there's nothing to convert. That way,
	  conversion won't fail on systems where iconv doesn't support
	  converting utf-8 to latin1 and there's nothing to convert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723252

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

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

2015-03-12 16:01:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: fix wrong duration on partial streams with a skeleton index
	  When a stream has a skeleton index, the stream time is taken from that
	  index. However, when part of the stream is captured, the index is
	  invalid as its offsets are now wrong. To avoid this, we ignore the index
	  when the last offset points beyond the end of the stream (when its
	  byte length is known).
	  https://bugzilla.gnome.org/show_bug.cgi?id=744070

2015-03-18 16:32:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: fix disappearing text with high deltax
	  When deltax is large enough to cause the text to push past the
	  width of the frame, it would disappear due to a bug in setting
	  the layout width.
	  While there, fix a log printing an incorrect width to set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739689

2014-12-17 12:17:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix deadlock when not pulling a buffer from collectpads
	  oggmux keeps a cached buffer per pad, and pulls buffers from
	  collectpads to this cached buffer for all pads before processing
	  the best pad. In some cases, the move from collectpads buffer
	  to cached buffer is delayed till next call. However, when there
	  is only one pad, this can't be delayed till next call as there
	  will be a deadlock since collectpads has no other pad to push to.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740565

2015-03-25 15:36:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix deadlock on chain shutdown
	  When shutting down the chain, we can get a deadlock when removing
	  a pad, if that chain was being busy streaming but blocked (eg, while
	  waiting for a queue to have free space).
	  https://bugzilla.gnome.org/show_bug.cgi?id=746480

2015-04-03 13:20:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: add license header to scrubby

2015-03-19 10:48:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio,video: use gst_segment_is_equal instead of memcmp
	  memcmp will blindly compare the reserved fields, as well as any
	  padding the compiler may choose to sprinkle in GstSegment.
	  Fixes valgrind complaints in unit tests, as well as some found via
	  https://bugzilla.gnome.org/show_bug.cgi?id=738216

2014-04-04 12:32:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/xvimage/xvimageallocator.c:
	  xvimagsink: fix failure to allocate large shared memory blocks
	  A previous patch increased allocations by 15 bytes in order to ensure
	  16 byte alignment for g_malloc blocks. However, shared memory is
	  already block aligned, and this extra 15 bytes caused allocation
	  to fail when we were already allocating to the shared memory limit,
	  which is a lot smaller than typical available RAM.
	  Fix this by removing the alignment slack when allocating shared
	  memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706066

2014-04-04 12:40:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	  ximage: do not allocate extra alignment slack for shared memory
	  A previous patch increased allocations by 15 bytes in order to ensure
	  16 byte alignment for g_malloc blocks. However, shared memory is
	  already block aligned, and this extra 15 bytes is not needed. Since
	  shared memory limits are low compared to RAM, we remove this waste.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727236

2015-04-03 13:56:28 +0900  Chihyoung Kim <chihyoung2.kim@lge.com>

	* configure.ac:
	  tests: require Gtk+ 3.10 for examples
	  Fixes build of playback and seek tests when an
	  older Gtk+ version is present on the system.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747283

2015-04-03 11:46:12 +0530  Arun Raghavan <arun@centricular.com>

	* ext/opus/gstopusenc.c:
	  opus: Fix incorrect fall-through condition in property getter

2014-12-09 13:18:42 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	* tests/check/elements/videorate.c:
	  videorate: Detect framerate if not forced to variable downstream
	  In case upstream does not provide videorate with framerate information,
	  it will detect the current framerate from the buffer it received,
	  but if downstream forces the use of variable framerate (most probably
	  through the use of a caps filter with framerate = 0 / 1), videorate will
	  respect that.
	  And add some unit tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=734424

2014-12-09 11:31:30 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/videorate/gstvideorate.c:
	  videorate: Do not loop forever pushing first buffer when variable framerate
	  In the case the framerate is variable (represented by framerate=0/1),
	  we currently end up loop pushing the first buffer and then recompute
	  diff1 and diff2 without updating the videorate->next_ts at all
	  leading to infinitely looping pushing that first buffer.
	  In the case of variable framerate, we should just compute the next_ts
	  as previous_pts + previous_duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734424

2015-04-02 14:32:15 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: update deprecated API

2015-04-02 11:33:12 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	  tests: fix deprecated API in colorkey and videooverlay

2015-04-02 11:14:08 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: fix deprecated API in scrubby

2015-03-19 14:34:07 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't use GST_ERROR() for debug messages
	  Fix https://bugzilla.gnome.org/show_bug.cgi?id=746457

2015-04-01 15:58:28 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/volume.c:
	  tests: use elapsed label of volume example

2015-03-30 11:24:46 +0200  Bernhard Miller <bernhard.miller@streamunlimited.com>

	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: avoid float calculations when mixing integer-formatted channels
	  The patch calculates a second channel mixing matrix from the current one. The
	  matrix contains the original values * (2^10) as integers. This matrix is used
	  when integer-formatted channels are mixed.
	  On a ARM Cortex-A8, single core, 800MHz this improves performance in a
	  testcase from 29s to 9s for downmixing 6 channels to stereo.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747005

2015-04-01 15:02:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/volume.c:
	  tests: fix deprecated API in audio volume example

2015-04-01 14:37:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: update deprecated GTK API

2015-04-01 13:50:51 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: switch deprecated GtkTable for GtkGrid

2015-04-01 11:01:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/audiomix.c:
	  tests: update deprecated GTK API in audiomix

2015-03-31 11:21:25 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Don't use g-ir-scanner cache at compile time
	  It pollutes user directories and we don't need to cache it
	  https://bugzilla.gnome.org/show_bug.cgi?id=747095

2014-04-10 12:03:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2: ignore RVA2 tags with more than 64 peak bits
	  The spec for this does not say nor imply how this should be
	  interpreted.  The previous code would try to shift by 64 bits,
	  which is undefined.
	  Coverity 1195119
	  https://bugzilla.gnome.org/show_bug.cgi?id=727955

2015-03-30 10:50:45 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: avoid possible deference of null pointer
	  For safety, check the pointer playbin->curr_group is valid before
	  reading parameters of the structure.
	  CID #1291624

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: resurrect some flow return handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=744572

2015-03-27 20:16:28 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: handle a sample not having caps or a buffer more gracefully
	  https://bugzilla.gnome.org/show_bug.cgi?id=746908

2015-03-27 16:22:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  basedepay: Handle initial gaps and no clock-base
	  When generating segment, we can't assume the first buffer is actually
	  the first expected one. If it's not, we need to adjust the segment to
	  start a bit before.
	  Additionally, we if don't know when the stream is suppose to have
	  started (no clock-base in caps), it means we need to keep everything in
	  running time and only rely on jitterbuffer to synchronize.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-03-26 23:53:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: improve debug message by printing the object
	  Print the pad object that EOS'd too early

2015-03-27 13:39:43 +0800  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Keep sticky events around when doing a soft reset
	  The current code will first discard all frames, and then tries to copy
	  all sticky events from the (now discarded) frames. Let's change the order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746865

2015-03-26 18:03:12 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add FLLR tag

2015-03-25 18:40:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  basedepayload: Fix generated segment
	  This fixes playback position in RTSP.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-03-25 08:20:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: ignore new pads if it is shutting down
	  If a new pad is added after playbin has been put to READY/NULL it
	  should ignore new pads as it is shutting down.
	  This can happen when the pipeline fails to preroll (is still in READY)
	  and the user gives up on waiting or an error that doesn't reach
	  the demuxer occurs (on some event handling) and it will continue to
	  work and exposing pads while playbin has been put to NULL.
	  Without this check an input-selector is created and set to PAUSED
	  state, preventing playbin from properly shutting down in case it
	  has data blocked inside it.

2015-03-24 15:47:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  Revert "theoradec: Disable usage of crop meta"
	  This reverts commit da52868f468bd75ddb595a3eb52aaa38ecbbac41.

2015-03-24 15:18:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Don't leak the pools
	  gst_query_set_nth_alloction_pool() is transfer none on the pool, so we must
	  unref the pool when done.

2015-03-01 11:44:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Disable usage of crop meta
	  This is a temporary workaround that simply disables usage of crop
	  meta for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

2015-03-24 17:28:51 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioconvert: Eliminate unsigned quantizers
	  audio_convert_convert unpacks to default format (signed) before calling
	  quantize, and the unsigned variants were equivalent to signed anyway,
	  so we just get rid of them.

2015-03-24 03:01:22 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstfastrandom.h:
	  audioconvert: Avoid int division in quantization
	  Since range size is always 2^n, we can simply use modulo (implemented
	  with a bitmask).
	  The previous implementation used 64-bit integer division, which is
	  done in software on ARMv7. Although the divisor was constant, the
	  division could not be transformed into "multiplication by magic number"
	  since the dividend was 64-bit.
	  The now-unused and not-so-fast gst_fast_random_(u)int32_range functions
	  were removed.
	  Also, implementing bug fixes:
	  1) ADD_DITHER_TPDF_HF_I no longer discards bias.
	  2) We change TPDF's noise range to be the same as RPDF's. Previously,
	  RPDF's noise ranged:
	  { bias - dither, bias + dither }
	  while TPDF's noise ranged:
	  { bias/2 - dither/2, bias/2 + dither/2 - 1 } +
	  { bias/2 - dither/2, bias/2 + dither/2 - 1 } =
	  { bias - dither, bias + dither - 2 }
	  Now, both range:
	  { bias - dither, bias + dither - 1 }
	  https://bugzilla.gnome.org/show_bug.cgi?id=746661

2015-03-24 15:13:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: fall through switch statement
	  Adding a comment makes coverity happy and quells the issue.
	  CID 1291629

2015-02-16 09:25:03 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Set multiqueue sizes before use-buffering.
	  This fixes a race where the use-buffering property on a multiqueue was
	  set before the queue depth was changed from it's high preroll limits to
	  lower playback limits. This resulted in buffering messages being emitted
	  by the multiqueue in the short window between use-buffering being
	  set and the queue depth being reset.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744308

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

	* gst-libs/gst/allocators/gstfdmemory.c:
	  Revert "fdmemory: freed pointer will always be 0"
	  This reverts commit 7fbcefb753f944a79eae6957ea2789c960eb9eea.

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

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: freed pointer will always be 0

2015-03-23 13:15:30 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Set output format immediately after creating the encoder instance
	  We know the caps by then, there's no need to wait until we actually receive
	  the first buffer.

2015-03-23 13:13:35 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Remove another unused variable

2015-03-23 13:11:42 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.c:
	  opusenc: Remove useless headers and header_sent variables from the instance struct
	  They are only used inside a single function.

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

	* ext/opus/gstopusdec.c:
	  opusdec: Take channels and sample rate from the caps if we have no stream header

2015-03-23 12:07:52 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Reset the decoder if the caps change

2015-03-23 11:57:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Take output sample rate from the stream headers too
	  This way we let opusdec do the resampling if needed and don't carry
	  around buffers with a too high sample rate if not required.
	  While Opus always uses 48kHz internally, this information from the
	  header specifies which frequencies are safe to drop.

2015-03-23 11:56:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusheader.c:
	  opusheader: Put number of channels and sample rate into the caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=746617

2015-03-20 17:45:03 +0900  Wonchul Lee <chul0812@gmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix compiler warning
	  gstoggdemux.c:1233:11: error: format specifies type 'long' but the argument has type 'ogg_int64_t' (aka 'long long') [-Werror,-Wformat]
	  granule);
	  ^~~~~~~
	  https://bugzilla.gnome.org/show_bug.cgi?id=746512

2015-03-19 13:31:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstallocators.def:
	  defs: update

2015-03-19 12:42:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-convert: fix clamping for 16 bits alpha mult

2015-03-18 20:38:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix height/width assertions
	  As commit 274984e8 states:
	  When doing CROP META it is expected that the width and/or height
	  in the GstVideoMeta is bigger or equal to the caps negotiated size.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

2015-03-18 15:12:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: make a base class for allocating fd-backed memory
	  Make a base class that can help with allocating fd-backed memory.
	  Make dmabuf extend from the base class.
	  We can now make methods to check if memory has an fd and get the fd for
	  all the different types of fd-backed memory.

2015-03-16 20:41:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/multisocketsink.c:
	  multisocketsink: Allocate enough memory on the stack in the test
	  Otherwise we just overwrite other things on the stack and cause crashes.

2015-03-16 11:53:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix playback regression on streams with clipped data at start
	  The code that was calculating the start granule from packet durations
	  was interpreting a negative value as an error, but this is actually a
	  valid case, to indicate clipping of data at start.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743900

2015-03-15 17:27:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: add flags to control behaviour
	  Add some flags to the GstFdMemory to control how memory is mapped and
	  unmapped.

2015-03-15 16:41:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	* tests/check/libs/allocators.c:
	  allocators: add allocators test

2015-03-15 15:16:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: add fd backed GstMemory to separate file
	  Make a separate file for the code to handle the fd backed memory.
	  This would make it possible later to add other allocators also using
	  fd backed memory.

2015-03-14 18:08:15 +0000  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: fix deadlock condition
	  The variables could have changed when the lock was released
	  to push a gap event. Streamsynchronizer needs to check them
	  again before going to sleep.
	  Bonus: fix a comment typo

2015-03-13 18:07:12 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: remove redundant else statements

2015-03-13 18:23:46 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: don't escape percent sign in documentation code sample

2014-11-03 12:47:18 +0000  William Manley <will@williammanley.net>

	* configure.ac:
	* tests/check/Makefile.am:
	* tests/check/pipelines/tcp.c:
	  Add test_that_multisocketsink_and_socketsrc_preserve_meta
	  This test is in a seperate commit to the previous two because it depends
	  on and tests the functionality in both.

2015-03-13 16:19:28 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Add support for GstNetControlMessageMeta
	  multisocketsink now understands the new GstNetControlMessageMeta to allow
	  sending control messages (ancillary data) with data when writing to Unix
	  domain sockets.
	  Thanks to glib's `GSocketControlMessage` abstraction the code introduced
	  in this commit is entirely portable and doesn't introduce and additional
	  dependencies or conditionally compiled code, even if it is unlikely to be
	  of much use on non-UNIX systems.

2014-10-30 17:53:15 +0000  William Manley <will@williammanley.net>

	* configure.ac:
	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: Add support for GstNetControlMessageMeta
	  multisocketsink now understands the new GstNetControlMessageMeta to allow
	  sending control messages (ancillary data) with data when writing to Unix
	  domain sockets.
	  A later commit will introduce a new socketsrc element which will similarly
	  understand `GstNetControlMessageMeta`.  This, when used with a
	  `GSocketControlMessage` of type `GUnixFDMessage` will allow GStreamer to
	  send and receive file-descriptions in ancillary data, the first step to
	  using memfds to implement zero-copy video IPC.
	  Thanks to glib's `GSocketControlMessage` abstraction the code introduced
	  in this commit is entirely portable and doesn't introduce and additional
	  dependencies or conditionally compiled code, even if it is unlikely to be
	  of much use on non-UNIX systems.

2015-03-13 13:56:13 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	* tests/check/pipelines/tcp.c:
	  socketsrc: Add `connection-closed-by-peer` signal
	  This provides notification that the socket in use was closed by the peer
	  and gives an opportunity to replace it with a new one which is not
	  closed, allowing reading from many sockets in order.
	  I use this in pulsevideo to implement reconnection logic to handle the
	  pulsevideo service dieing, such that is can be restarted without
	  disrupting downstream.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 13:43:59 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Tidy up usage of `g_object_unref`/`g_clear_object` and locking
	  This is clearer, and should make future changes safer.  No functional
	  change intended.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 13:30:48 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Refactor to simplify
	  * Don't bother polling, just do a blocking read, the `GCancellable` will
	  take care of unlocking.  This should also be faster on MS Windows where
	  the GIO documentation for `g_socket_get_available_bytes` states: "Note
	  that on Windows, this function is rather inefficient in the UDP case".
	  * Implement `GstPushSrc.fill` rather than `GstPushSrc.create`.  This means
	  that we will be using the downstream allocator which may be more
	  efficient.  It also means that socketsrc is likely to respect its
	  "blocksize" property (assuming that there is enough data available).
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2014-11-03 02:47:14 +0000  William Manley <will@williammanley.net>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/inspect/plugin-tcp.xml:
	* gst/tcp/Makefile.am:
	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	* gst/tcp/gsttcpplugin.c:
	* tests/check/pipelines/tcp.c:
	* win32/vs7/libgsttcp.vcproj:
	* win32/vs8/libgsttcp.vcproj:
	  tcp: Add element socketsrc
	  `socketsrc` can be considered a source counterpart to `multisocketsink`.
	  It can be considered a generalization of `tcpclientsrc` and
	  `tcpserversrc`:  it contains all the logic required to communicate over
	  the socket but none of the logic for creating the sockets/establishing
	  the connection in the first place, allowing the user to accomplish this
	  externally in whatever manner they wish making it applicable to other
	  types of sockets besides TCP.
	  This commit essentially copies the implementation directly from
	  tcpserversrc.  Later patches will tidy the implementation up and
	  re-implement `tcpclientsrc` and `tcpserversrc` in terms of `socketsrc`.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 23:24:23 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Log with the ringbuffer object where possible

2015-03-13 12:49:31 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstmultisocketsink.c:
	* tests/check/elements/multisocketsink.c:
	  multisocketsink: Map `GstMemory`s individually when sending
	  If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map`
	  has to copy all the data into a new `GstMemory` which is contiguous.  By
	  mapping all the `GstMemory`s individually and then using scatter-gather
	  IO we avoid this situation.
	  This is a preparatory step for adding support to multisocketsink for
	  sending file descriptors, where a GstBuffer may be made up of several
	  `GstMemory`s, some of which are backed by a memfd or file, but I think this
	  patch is valid and useful on its own.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150

2015-03-13 10:30:43 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Relax width/height assertion
	  When doing CROP META it is exepcted that the width and/or height in the
	  GstVideoMeta is bigger or equal to the caps negotiated size.

2015-03-12 16:32:31 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: Choose the biggest buffer size
	  We should respect what has been negotiated.

2015-03-12 10:06:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: recover from EOS when searching for chain in push mode
	  If we get EOS when we're trying to build a chain, we disable seeking
	  and continue instead of posting an error. This can happen for corner
	  cases such as a stream with a video that stops before the end, for
	  instance.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745980

2015-03-11 16:46:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix seeking in files with a "missing" stream
	  When looking for pages when seeking, we stop looking for non sparse
	  streams if we don't find one within a given threshold. This fixes
	  seeking filling up queues and blocking in corner cases such as an
	  audio file with a pathological 1 frame video stream (yes, I saw one).
	  https://bugzilla.gnome.org/show_bug.cgi?id=745980

2015-03-13 01:06:57 +1100  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst/videoscale/gstvideoscale.h:
	  docs: Add new video functions and objects. Cleanup a little.
	  Add GstVideoChroma, GstVideoDither, GstVideoScaler and friends to the docs.
	  Remove and clean up a few obsolete/deleted refs and typos

2015-03-12 12:49:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: replace cbr and constrained-vbr properties with an enum
	  It was deemed confusing before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744909

2015-03-12 12:17:11 +0000  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Disconnect signals and invalidate group if it fails to activate
	  Otherwise playbin might move to the group directly after EOS of the next
	  group, and then error out again.

2015-02-01 03:39:07 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: Fix decoding in the presence of GstVideoCropMeta
	  Store the video info of the internal frame decode width/height
	  separate to the exposed (cropped) frame info, so that it can be
	  used for mapping the downstream allocated video frame buffer correctly
	  when using GstVideoCropMeta.
	  Fixes playback of files with sizes that aren't a multiple of 16-pixels
	  width or height.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

2015-03-03 15:18:04 +0800  Song Bing <b06498@freescale.com>

	* tests/check/pipelines/streamsynchronizer.c:
	  streamsynchronizer: Should wait state change complete before start another state change
	  Should wait state change complete before start another state change.
	  Can't ensure can received async-done message when state change from PLAYING to PAUSED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-02-27 16:40:23 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Remove unnecessary ERROR message.
	  Remove unnecessary ERROR message.
	  Push GAP will fail as flushing. Needn't ERROR message.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-03-05 17:42:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: do not send seek events from the streaming thread
	  This will usually deadlock, despite this patch being in master for
	  quite some time and working fine. Nevertheless, we deem it to be
	  not working, disregarding facts.
	  As such, we fix it by keeping track of seek events, and sending
	  them upstream from a separate thread. Buffers are then discarded
	  till we get a new segment with the expected seqnum.

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

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: set correct seqnum on segment events after a seek in push mode
	  There is already a seqnum field for this, which was used to overwrite
	  the seqnum that was set by the push specific code.

2015-02-23 11:30:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: try harder to query duration from upstream
	  READY->PAUSED can be too early as souphttpsrc can get the HTTP
	  headers after this. Try again in the chain function.
	  Also use seeking query to disable seeking if upstream reports
	  being unseekable.

2014-10-31 10:55:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add non flushing time seeking in push mode
	  Some resetting code has to be done in the NEW_SEGMENT
	  event handler, instead of the missing FLUSH_STOP one.
	  Segment base was also wrongly accounted for. This was hidden
	  by the fact that flushing resets the base.
	  A discontinuity is now also signalled on seeking. We have to
	  also ensure that the discontinuity "sticks" till a buffer
	  with a valid timestamp goes out, or the audio decoder base
	  class will ignore the discontinuity for purposes of keeping
	  track of the current time.
	  This allows using non flushing segment seeks for looping
	  HTML audio in particular, and more generally non flushing seeks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729198

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix wrong first granule
	  The code was using the first nonnegative granulepos to seed the
	  granule tracking, which appeared to work since headers have zero
	  granulepos. However, this does not work for files with a hole at
	  start, which are common in live streaming.
	  The correct behavior is to look for the first granule, and subtract
	  the duration of all the packets finishing on this page.
	  The function which does this relies on the fact that the ogg_stream
	  structure can be duplicated by shallow copy, in order to pull the
	  packets from the first page(s) on the copy without affecting the
	  original stream state.

2015-03-11 09:48:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix border handling of YUY2 and friends
	  Don't draw the border in groups of 4 pixels for YUY2 but instead in
	  groups of 2 with alternating U and V. This avoids a crash on odd width
	  borders.

2015-03-11 09:47:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: force yuv conversion for border
	  Make sure we always do yuv conversion for the border.

2015-03-10 17:29:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix A422 subsampling description

2015-03-10 15:12:30 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add table based matrix8 implementation
	  Based on patch from Mozzhuhin Andrey <nopscmn at gmail.com>
	  Add a table based matrix8 multiplication implementation. The algorithm
	  does not do any clipping so we need to make sure we never call this on
	  input that might need to be clipped. In general, this algorithm is
	  2 times faster than the orc optimized one and would be chosen for all
	  RGB -> YUV conversions and some YUV->YUV and RGB->RGB conversions.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732186

2015-03-10 11:55:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add all colors mode

2015-03-10 10:19:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for 10 bit planar AYUV formats

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

	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/volume/gstvolume.c:
	* sys/xvimage/xvimagepool.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/video.c:
	  Fix double semicolons

2015-03-09 21:35:59 -0400  Olivier Crete <olivier.crete@collabora.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Accept any capsfeatures

2015-03-09 16:28:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: validate parsed colorimetry
	  Validate the parsed colorimetry and reset to defaults when we get RGB
	  with a matrix or YUV without a matrix.

2015-03-09 16:01:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: detect identity matrix
	  Do nothing if we have an identity matrix conversion.

2015-03-09 15:58:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: use default colorimetry on error
	  When we fail to parse the colorimetry property, fall back to the default
	  colorimetry for the format and dimension instead of leaving things
	  undefined.

2015-03-09 11:25:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: unused value
	  Value set in ret is immediately overwritten in the next line outside of the if
	  block. Run reset but don't store return.
	  CID #1226470

2015-03-09 12:13:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only convert to/from rgb when needed
	  Only use the YUV->RGB matrix when we have YUV as input and only use the
	  matrix when we need to make YUV output.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745780

2015-03-09 11:12:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Link to an explanation why the seqnum comparison function does the right thing even for wraparounds

2015-02-22 21:13:35 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: only return EOS upon clipping if applicable
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-22 21:11:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: only return EOS upon clipping if applicable
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-03-07 16:49:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update orc generated C files

2015-03-06 12:54:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add transfer full annotation for config

2015-03-06 09:30:51 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: correct right-border location for YUY2, YVYU, UYVY
	  Remove 'r_border /= 2' in convert_fill_border(). It doesn't
	  take the right border to correct location.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745719

2015-03-05 12:31:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/volume/gstvolume.c:
	  volume: Explicitly cast integers to doubles and then back to integers after multiplication
	  gcc 4.9.1 on ARM seems to have a bug that causes it to cast the float to an
	  integer first, resulting in a 0 scale factor for volume < 1.0.
	  As a side effect this change here will also improve accuracy of the result a
	  bit because we go via doubles instead of floats.
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65325
	  https://bugzilla.gnome.org/show_bug.cgi?id=745667

2015-03-05 09:52:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid scaler when size is unchanged

2015-03-04 16:45:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add horizontal 2tap u16 orc function
	  Add slightly faster u16 horizontal resampler orc function.

2015-03-04 12:28:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  check: add another generic converter test
	  Run conversion and scaling with borders.

2015-03-04 12:21:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* tests/check/libs/video.c:
	  video-converter: don't reuse the input line when adding borders
	  When we need to add borders, we need a writable input line, so
	  don't reuse the source memory directly.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745207

2015-03-04 09:24:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix latency query in FEC case
	  The max latency parameter is "the maximum time an element
	  synchronizing to the clock is allowed to wait for receiving all
	  data for the current running time" (docs/design/part-latency.txt).
	  https://bugzilla.gnome.org/show_bug.cgi?id=744338

2015-03-03 16:36:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Re-render if video size changed
	  https://bugzilla.gnome.org/show_bug.cgi?id=745554

2015-03-03 22:56:37 +0530  Arun Raghavan <arun@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	  audiobasesink: Reset audio clock if necessary
	  When the ringbuffer is deactivated and then acquired, if the audio clock
	  provided by the sink gets reset to zero, we need to add an offset to the
	  clock to make sure that subsequent samples are written out at the right
	  times. While we need to leave this to derived classes to take care of
	  when they provide their own clock (since that clock may or may not be
	  reset to zero), we can do this ourselves if we know the provided clock
	  is our own (which does reset to zero on a re-acquire).

2015-03-02 16:42:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid making scalers for outsize == 0

2015-03-02 16:33:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: v-resample enough pixels
	  When we are using the fast linear resampler, use the ->inc to calculate
	  the first and last pixel we need so that we can do vertical resampling
	  on the right amount of pixels.

2015-03-02 15:07:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix unpack functions for RGB/RGB15 on BE
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337

2015-03-02 13:27:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: more fixes for big endian

2015-03-02 12:26:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: add big-endian versions of RGB/BGR 15/16 pack/unpack
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337

2015-02-28 13:31:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: fix compiler warning
	  ‘return’ with no value, in function returning non-void

2015-02-28 12:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  gst-play: add keyboard shortcut to cycle through trick modes
	  Make "t" activate trick modes and cycle through the various
	  modes.

2015-02-28 11:37:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: fix indentation
	  Prevent gst-indent from messing up indentation, it
	  really doesn't like the G_GNUC_PRINTF thing here.

2015-02-27 20:22:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  tests: fix crashes in {audio,video}{decoder,encoder} tests on 32-bit
	  Don't feed 64-bit integer variable into vararg function that expects
	  an unsigned integer to go with GST_TAG_TRACK_NUMBER. This would
	  cause crashes on 32-bit platforms, and if not that then test
	  failures if the comparisons fail later (at least on big endian
	  platforms).

2015-02-27 15:07:36 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: Make static strings static
	  Otherwise, they're not guaranteed to still be valid when leaving the scope.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-27 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/pbutils.c:
	  tests: pbutils: more checking of returned description strings
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-27 00:36:43 +0530  Arun Raghavan <arun@accosted.net>

	* gst/adder/gstadder.c:
	  adder: Drop custom latency querying logic
	  The default latency query handler now implements the same logic already.

2015-02-26 14:47:28 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: remove check for below zero for unsigned int
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it in an unsigned integer. Removing that check and only checking
	  if it is bigger than max and setting it appropriately.
	  CID #1271606

2015-02-26 12:06:23 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  playback: Fix broken GList modification
	  When we modify a GList (via g_list_delete_link), always reassign the
	  new head to the original GList. Otherwise we end up with
	  filtered_errors being corrupt (the head might have been the element
	  removed)

2015-02-26 11:06:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	  gst-play: add new keyboard shortcuts to man page

2015-02-26 10:57:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: more fine-grained playback rate control
	  Use smaller steps for lower rates to allow more
	  fine-grained control. Handle jump across 0 properly
	  from both sides (just flip direction where we would
	  have gone down to 0 instead). Don't artificially
	  limit rates to +/- 10x. Print new rate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

2015-02-26 10:20:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: stash current playback rate in app structure
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

2015-02-25 18:52:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tools/gst-play.c:
	  gst-play: support changing the playback rate in interactive mode
	  It is fun to have this feature, also it is useful for testing decoders.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

2015-02-25 17:00:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: we can use the scaler without scalers to copy

2015-02-25 16:50:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only make a scaler when we are scaling
	  Only make a scaler when we are actually doing any scaling. Without
	  scalers, the scale function will simply do a copy.

2015-02-25 16:49:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for copy
	  When no scalers are given, simply do a copy of the requested area.

2015-02-25 16:15:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: activate scaler fastpath depending on method
	  Only activate the scaler fastpath for x2 up and downscale when the
	  scaler method is respectively nearest and linear because that is what
	  those fastpaths really implement.

2015-02-25 15:33:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add scaler optimization
	  If we are vertically downscaling, it is better to first downscale and
	  then do the horizontal scaling in most cases.

2015-02-25 15:32:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: remove unused case

2015-02-25 11:38:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: don't overwrite border alpha
	  Let border alpha and image alpha be independent.

2015-02-24 17:33:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: use 1.0 as default alpha

2015-02-24 17:26:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add alpha handling
	  Add support for alpha. Make it possible to copy, set and multiply the
	  alpha value of a frame during conversion.
	  Set the border alpha to 0xff by default.
	  Go over some of the fastpaths and add alpha handling.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745006

2015-02-24 17:20:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix chroma subsampling
	  Also adjust the output line number with the offset.

2015-02-24 10:01:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: disable fastpath when scaling and gamma
	  Disable the fastpath when scaling and doing gamma remap.

2015-02-24 09:54:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't do gamma on alpha channel
	  The alpha channel is not supposed to be gamma encoded.

2015-02-24 16:06:08 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadlock when resetting buffering
	  This function is static, and only ever called with the expose lock
	  taken. It thus has no reason to take this lock itself.
	  This was introduced by one of my locking fixes from 741355.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-24 12:38:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: minor docs fix

2014-05-27 13:54:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: forward template and ring buffer settings to existing decodebins
	  https://bugzilla.gnome.org/show_bug.cgi?id=744844

2015-02-23 17:24:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: move null check
	  Check if dbin->decode_chain is NULL before running drain_and_switch_chains()
	  because if it is, we shouldn't run that function or it will segfault.
	  CID #1271074

2015-02-23 01:32:14 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't send pending events before decode
	  Make sure to update the output segment to track the segment
	  we're decoding in, but don't actually push it downstream until
	  after buffers are decoded.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744806

2015-02-08 05:19:25 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add drain() vfunc
	  drain() is a new vfunc which does what finish() does, while
	  explicitly requiring the decoder be able to continue processing
	  data afterward.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-22 16:57:57 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: drain current segment upon new one to ensure correct flow return"
	  This reverts commit cc1b4eaf9ebe4568f9c2c64338cef1b2edbdca3f.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-22 16:57:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  Revert "audiodecoder: drain current segment upon new one to ensure correct flow return"
	  This reverts commit 696b8cdc40f033ff0a45ebe620279130152fb2f8.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-21 17:42:08 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: drain current segment upon new one to ensure correct flow return
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-21 17:41:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: drain current segment upon new one to ensure correct flow return
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-20 12:34:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only consider non-parser factories for generating the post-parser capsfilter caps
	  Otherwise if there are multiple parsers we would most likely break negotiation
	  of the stream-format/alignment wanted by the decoders as parsers generally
	  support all possible stream-formats and alignments.

2015-02-19 15:51:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  audio: video: fix a few GI annotations
	  transfer-full -> transfer full
	  @Since -> Since

2015-02-05 12:07:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadlock between downward state change and pad addition
	  If caps on a newly added pad are NULL, analyze_new_pad will try to
	  acquire the chain lock to add a probe to the pad so the chain can
	  be built later. This comes from the streaming thread, in response
	  to headers or other buffers causing this pad to be added, so the
	  stream lock is taken.
	  Meanwhile, another thread might be destroying the chain from a
	  downward state change. This will cause the chain to be freed with
	  the chain lock taken, and some elements are set to NULL here, which
	  can include the parser. This causes pad deactivation, which tries
	  to take the element's pad's stream lock, deadlocking.
	  Fix this by keeping track of which elements need setting to NULL,
	  and only do this after the chain lock is released. Only the chain
	  manipulation needs to be locked, not the elements' state changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-04 11:46:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: guard against the decode chain going while a pad is added
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-03 17:06:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: possible fix for deadlock when spamming "next song"
	  There was a deadlock between a thread changing decodebin/demuxer
	  state from PAUSED to READY, and another thread pushing data
	  when starting.
	  From the stack trace at
	  https://bug741355.bugzilla-attachments.gnome.org/attachment.cgi?id=292471,
	  I deduce the following is happening, though I did not reproduce the
	  problem so I'm not sure this patch fixes it.
	  The streaming thread (thread 2 in that stack trace) takes the demuxer's
	  sink pad's stream lock in gst_ogg_demux_perform_seek_pull and will
	  activate a new chain. This ends up causing the expose lock being taken
	  in _pad_added_cb in decodebin.
	  Meanwhile, a state changed is triggered on thread 1, which takes the
	  expose lock in decodebin in gst_decode_bin_change_state, then frees
	  the previous chain, which ends up calling gst_pad_stop_task on the
	  demuxer's task, which in turn takes the demuxer's sink pad's stream
	  lock, deadlocking as both threads are now waiting for each other.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-18 20:58:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: ensure tags have been fetched before pulling data
	  Otherwise upstream can get confused about offsets as there will
	  be a jump once the tags have been parsed due to the stripped area.
	  If upstream pulls from 0 to 100, and then tagdemux does the
	  tag reading and finds out that the first 200 bytes are the tag, the
	  next pull from upstream will have an offset of 200 bytes. So
	  upstream will get the following data:
	  0 - 100, 300 - (EOS), as it will continue requesting from where
	  it has last stopped, but tagdemux will add an offset to skip the
	  tags.
	  This patch makes sure that the tags have been parsed and skipped
	  since the first pull range call.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744580

2015-02-19 01:30:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Reset the default query return value when the iterator has to resync

2015-02-19 01:21:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Let the latency query fail if one of the source queries fails

2015-02-18 17:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Remove g_warnings() for the deprecated audio property
	  Otherwise there are g_warnings() already when just using gst-inspect or
	  dumping a pipeline graph.

2015-02-18 11:34:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: fix MPEG-2 video profiles in description
	  We would accidentally use the profile nick as profile name
	  in the description for MPEG video that's not version 4.

2015-01-29 18:49:45 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Pass object, not GValue to debug print

2015-02-16 23:54:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  audiovisualizer: don't use private GMutex implementation details
	  Don't use private GMutex implementation details to check
	  whether it has been freed already or not. Just turn dispose
	  function into finalize function which will only be called
	  once, that way we can just clear the mutex unconditionally.

2015-02-15 13:51:36 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Use the same waiting function for EOS and stream switches
	  Also improve the waiting condition for stream switches, which was assuming
	  before that the condition variable will only stop waiting once when it is
	  signaled. But the documentation says that there might be spurious wakeups.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-26 11:14:13 +0800  Song Bing <b06498@freescale.com>

	* tests/check/Makefile.am:
	* tests/check/pipelines/streamsynchronizer.c:
	  streamsynchronizer: Unit test for streamsynchronizer's EOS handling
	  Test that a pipeline can change from PLAYING to PAUSED and back in
	  the following scenarios:
	  1. One track reach EOS after pushed some buffers while another track
	  still pushes buffers
	  2. One track reach EOS without buffers while another track still pushes
	  buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-12 17:40:25 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Send GAP events from the pads' streaming threads
	  Change the GAP events that are currently sent from the chain function of
	  the current pad to all other EOS pads. They should instead be sent from
	  their own streaming threads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-12 16:08:33 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Send GAP event to finish preroll when change state from PLAYING to PAUSED
	  Wait in the event function when EOS is received until all pads are EOS
	  and then forward the EOS event from each pads own event function.
	  Also send a new GAP event for EOS pads from the event function whenever
	  going from PLAYING->PAUSED by shortly waking up the GCond. This is needed
	  to allow sinks to pre-roll again, as they did not receive EOS yet because
	  we blocked that, but also will never get data again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-02-16 09:48:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  Revert "codec-utils: Handle the two rext profiles for h265"
	  This reverts commit 19b93566801a56e7b043a670b7edcf8f2da06619.
	  These two "profiles" are actually a complete set of profiles, which we will
	  need to handle separately. Unfortunately it seems like we need information
	  from the SPS to detect the exact profile.

2015-02-15 20:08:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: move some code into utility function

2015-02-15 20:05:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add H.265 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-15 19:03:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add MPEG-4 video profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-15 18:37:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add Dirac/VC-2 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-15 18:14:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add H.264 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-13 22:56:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	  install-plugins: fix indentation and add Since marker
	  Forgot to squash this into the actual patch before pushing.

2015-02-13 22:49:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstpbutils.def:
	  install-plugins: add new API to exports .def and to docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-03 10:47:11 +0100  Kalev Lember <kalevlember@gmail.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	  install-plugins: Add API to suppress confirmation before searching
	  The new gst_install_plugins_context_set_confirm_search() API can be used
	  to pass a hint to modify the behaviour of the external installer
	  process.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-02 16:16:46 +0100  Kalev Lember <kalevlember@gmail.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	  install-plugins: Add API for passing desktop ID and startup ID
	  The new gst_install_plugins_context_set_desktop_id() and
	  gst_install_plugins_context_set_startup_notification_id() API can be
	  used to pass extra details to the external installer process.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-12 12:08:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video-orc: update with new methods

2015-02-12 11:38:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: add orc function for RGB15/16 unpack

2015-02-10 21:57:02 -0800  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  playbin: improve debug log
	  Log the human readable pad_link_return desc as well.

2015-02-11 15:57:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Handle the two rext profiles for h265
	  These values are for now taken from x265 and need to be checked against
	  the spec. Especially we need to check if information from other fields
	  need to be taken into consideration too, e.g. the bit depth and chroma
	  index from the SPS.
	  This however makes 4:4:4 output of x265enc actually work.

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

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst/adder/gstadder.c:
	* gst/playback/gsturidecodebin.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-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.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-11 13:32:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* win32/common/libgstvideo.def:
	  video-scaler: add 2d scaler
	  Make a convenience function that combines 2 scalers to perform a 2d
	  scale. This removes quite a bit of overhead in method calls when doing a
	  typical scale and it also can reuse a piece of unused memory in the
	  vertical scaler.
	  Use the 2d scaler in video-converter and remove the other scalers and
	  temp memory.

2015-02-10 16:43:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix YUY2 formats and friends
	  Only merge scalers for selected formats.
	  Use nearest neighbour scaling for chroma when doing nearest neighbour
	  for the luma.
	  Also fastpath GRAY16_OE in nearest neighbour.
	  configure parameters correctly for packed fastpath.

2015-02-10 16:40:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Small performance tweaks
	  Small performance tweaks for RGB and friends.
	  Add, but ifdef out, alternative nearest neighbour scaling, it is slower
	  than the current table based version.
	  Use memcpy instead of orc_memcpy because it is measurably faster.
	  Fix YUY2 and friends vertical scaling.

2015-02-10 16:44:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Guard against (impossible) bits!=16 && bits!=8 case to fix compiler warning with clang
	  video-scaler.c:1331:14: error: variable 'func' is used uninitialized whenever 'if' condition is false
	  [-Werror,-Wsometimes-uninitialized]
	  } else if (bits == 16) {
	  ^~~~~~~~~~
	  video-scaler.c:1348:3: note: uninitialized use occurs here
	  func (scale, src_lines, dest, dest_offset, width, n_elems);
	  ^~~~
	  video-scaler.c:1331:10: note: remove the 'if' if its condition is always true
	  } else if (bits == 16) {
	  ^~~~~~~~~~~~~~~~
	  video-scaler.c:1260:27: note: initialize the variable 'func' to silence this warning
	  GstVideoScalerVFunc func;
	  ^
	  = NULL

2015-02-10 16:38:05 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Use correct enum type to fix compiler warnings with clang
	  video-converter.c:3406:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3413:44: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3471:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3487:42: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d + out_x, i,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3551:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3569:46: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3577:42: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d + out_x, i,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~

2015-02-10 15:25:04 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-converter: bits variable always set
	  In function gst_video_scaler_vertical() the bits variable is always
	  set to either 8 or 16 in every possible format. No need to initialize it.
	  If the format isn't valid it goes to no_func, so there is no need to
	  handle the case of bits not being 8 or 16.
	  CID #1268401

2015-02-10 11:15:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only enable backlog for interlaced video
	  Skip lines we don't need.

2015-02-10 09:30:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add fastpath for NV formats

2015-02-10 09:20:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix pstride of NV16 and NV24 formats

2015-02-09 18:01:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* tests/check/libs/rtsp.c:
	  rtspmessage: map headers we know that are added by string to their enum
	  That way we can look them up by their field enum later as well.

2015-02-09 17:49:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtsp.c:
	  tests: rtsp: add some unit tests for new GstRTSPMessage API

2015-02-09 16:24:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* win32/common/libgstrtsp.def:
	  rtspmessage: add API to add and get custom headers
	  Add API to add and get custom headers that are not
	  covered by our header fields enum. This is backwards
	  compatible in that it will also work for our defined
	  fields, so if we ever add a new header field to the
	  enum, get_header_by_name() for the same header string
	  will still work.
	  API: gst_rtsp_message_add_header_by_name()
	  API: gst_rtsp_message_take_header_by_name()
	  API: gst_rtsp_message_remove_header_by_name()
	  API: gst_rtsp_message_get_header_by_name()

2015-02-09 17:51:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: Add more fastpaths
	  Add fastpaths for all planar conversion and scaling.
	  Improve gray and alpha handling.
	  Add option to specify the chroma resampler method and set to linear as
	  default.

2015-02-09 13:20:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add generic planar scaler/converter
	  Add code to convert and scale between any planar format and use it in
	  the fastpaths of some planare converters.

2015-02-09 10:20:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warnings by using the correct enum type
	  video-converter.c:3645:24: error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = fformat;
	  ~ ^~~~~~~
	  video-converter.c:3667:24: error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = fformat;
	  ~ ^~~~~~~
	  video-converter.c:3963:50: error: implicit conversion from enumeration type
	  'const GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  if (!setup_scale (convert, transforms[i].fformat))
	  ~~~~~~~~~~~           ~~~~~~~~~~~~~~^~~~~~~

2015-02-07 03:56:05 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: Don't pass GstCollectData as a GstObject to GST_DEBUG

2015-02-06 13:39:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add more scaler fastpaths

2015-02-06 13:25:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix loading of param
	  param loading ignores the x4, loading only part of the param.

2015-02-06 12:35:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add border and crop to more fastpaths

2015-02-06 12:28:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix border for YUY2 and friends
	  Convert as many pixels as the max subsampling so that we convert a
	  complete group of pixels.

2015-02-06 15:39:14 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: support AYUV border
	  Convert the border color from ARGB to AYUV, using
	  colorimetry matrix when output format is YUV.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741640

2015-02-06 10:57:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix swapped border width
	  And also do nothing when there is no border.

2015-02-06 10:56:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: actually draw the border in some fastpaths
	  Don't forget to draw the border after doing the fastpath conversion.

2015-02-06 10:53:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp width and heigth
	  Clamp the width and height based on the in and out offsets.

2015-02-06 10:50:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add unaligned fallbacks
	  Add fallback C implementations for when we can't call the ORC function
	  because of bad alignment.

2015-01-28 05:20:19 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Where possible, skip decode for GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO
	  If we have timestamps on input buffers and are in trickmode no-audio
	  mode, then don't pass anything to the subclass for decode and simply
	  send gap events downstream
	  Only for forward playback for now - reverse requires accumulating
	  GAP events and pushing out in reverse order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-02-05 17:44:59 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Re-work GAP buffer and trick-mode handling
	  In trickmode no-audio mode, or when receiving a GAP buffer,
	  discard the contents and render as a GAP event instead.
	  Make sure when rendering a gap event that the ring buffer will
	  restart on PAUSED->PLAYING by setting the eos_rendering flag.
	  This mostly reverts commit 8557ee and replaces it. The problem
	  with the previous approach is that it hangs in wait_preroll()
	  on a PLAYING-PAUSED transition because it doesn't commit state
	  properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-02-03 20:38:44 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Add a little timestamping debug output

2015-02-03 01:19:05 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theora: If no header packets in stream, look for them in the caps
	  Makes theora work in cases where the header packets are only in the caps
	  (because theoradec was connected to oggdemux late and missed the
	  beginning of the stream)

2015-02-02 22:23:51 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theora: Remove FIXME and return GST_CUSTOM_FLOW_DROP for header packet handling
	  This FIXME is easily fixed :)

2015-01-31 05:12:10 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Remove pointless else{} around some code

2015-01-31 05:09:46 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix reverse playback when there's only one gather set.
	  The decoder can fail to drain on EOS if there was only one gather
	  set, because it will never have sent the segment event downstream
	  and set the output segment, and fail to detect that the rate < 0.0
	  Make sure to send pending events before sending all the gather data
	  for decode.

2014-10-09 03:31:58 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-frame.h:
	  video: Fix simple typo in GstVideoFrameMapFlags docs

2015-02-05 17:49:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add crop and border to some fastpaths

2015-02-05 17:18:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add support for borders in scale fastpath
	  Add support for borders and cropping in the scaler fastpaths.

2015-02-05 15:03:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: disable fastpath for crop and border
	  Add crop and border properties to the fastpath table and only select
	  fastpath functions when it can handle the cropping or borders.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=744028

2015-02-04 18:01:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add fastpath for some gray formats

2015-02-04 17:44:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add fastpath for some more RGB formats
	  Add fastpath for RGB and BGR.
	  Add fastpath for nearest resampling for RGB15 and RGB16 formats.

2015-02-04 16:37:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: skip lines we don't need
	  Make sure to skip unused lines instead of doing a useless horizontal
	  resampling.

2015-02-04 12:08:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix memory leak
	  In gst_video_scale_fixate_caps () it can goto done without freeing the memory
	  of the tmp GstStructure. This makes it go out of scope and leak.
	  CID #1265766

2015-02-04 11:25:54 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: make sure params.envelope is initialized
	  In gst_video_resampler_init () if method is GST_VIDEO_RESAMPLER_METHOD_NEAREST
	  then params.envelope is not initialized but still used later in line 382.
	  Make sure this variable is initiliazed to avoid undefined behaviour.
	  CID #1256568

2015-02-03 12:23:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{enc,dec}oder: Don't reset latency all the time and handle max=GST_CLOCK_TIME_NONE correctly
	  max=NONE means that *this* element has no maximum latency. If upstream had a
	  maximum latency we must not override it with NONE.

2015-02-03 12:15:25 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{enc,dec}oder: Always directly post latency messages on the bus when the subclass sets the latency
	  Instead of doing it only in setcaps for the encoder, and never at all for the
	  decoder.

2015-02-03 12:12:18 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{enc,dec}oder: Handle max_latency == GST_CLOCK_TIME_NONE
	  And initialize the latencies with 0 and NONE.

2015-01-28 05:26:06 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Don't render a GAP silence buffer
	  Don't render out silence samples to a buffer, just
	  start the clock running, since any buffer with the
	  GAP flag will be discarded in render() now anyway.

2015-01-28 22:42:17 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Make sure the ringbuffer is started before waiting
	  Don't call the basesink wait_event implementation until we're sure
	  the ringbuffer is running, because it might wait on a non-running
	  clock.

2015-01-27 02:04:22 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: drop GAP buffers, or all buffers in trickmode no-audio mode
	  Make the base audio sink throw away buffers marked GAP, or all
	  incoming buffers when performing a trick play with
	  GST_SEGMENT_TRICKMODE_NO_AUDIO flag set, and make sure to start
	  the ringbuffer when that happens so the clock starts running.
	  Preserve the timing calculations when rendering, so state is all
	  updated the same, but just don't render samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-01-29 17:58:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not throw a flow error on flushing
	  If the streaming task attempts to read a chain while the pipeline
	  is stopping (which can happen if the pipeline stops shortly after
	  start or a new URI being setup in gapless playback case), it will
	  see a flushing return from upstream, and should then also return
	  flushing to the caller, rather than emit a flow error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722442

2015-01-28 16:43:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: change audio property to audio-type
	  This is now an enum with values generic (default) and voice.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740891

2015-01-28 17:44:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warnings
	  video-converter.c:3073:48: error: implicit conversion from enumeration type 'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3081:44: error: implicit conversion from enumeration type 'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d, i, out_w);
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3137:24: error: implicit conversion from enumeration type 'const GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = GST_VIDEO_INFO_FORMAT (in_info);
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  ../../../gst-libs/gst/video/video-info.h:125:43: note: expanded from macro 'GST_VIDEO_INFO_FORMAT'
	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  ../../../gst-libs/gst/video/video-format.h:361:59: note: expanded from macro 'GST_VIDEO_FORMAT_INFO_FORMAT'
	  ~~~~~~~~^~~~~~
	  video-converter.c:3157:24: error: implicit conversion from enumeration type 'GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = GST_VIDEO_FORMAT_GRAY8;

2015-01-28 17:43:59 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update orc files

2015-01-28 17:37:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstvideo.def:
	  defs: update

2015-01-28 17:32:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-converter: add fast-path scaler for some packed YUV formats
	  Add fast path scaling for YUY2 and other packed YUV formats. Add a new
	  method to merge the scalers of the Y and UV components into one scaler.
	  Add faster horizontal 2tap scaler.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-28 17:30:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: don't do dithering

2015-01-28 17:30:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.h:
	  video-converter: the default is BAYER dithering

2015-01-28 17:29:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't do dither when set to NONE

2015-01-28 11:38:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix taps calculation for pstride == 1
	  Take pstride into consideration when calculating the scaler taps.

2015-01-28 04:51:25 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Make sure the ringbuffer really starts when we need it to
	  Some audio sink sub-classes (pulsesink) don't start their clock
	  when the ringbuffer starts, but always have to on EOS. When we
	  explicitly need to start the ringbuffer, make sure sub-classes will
	  do it by (ab)using the existing eos_rendering flag.

2014-12-11 01:54:07 +1100  Jan Schmidt <jan@centricular.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Support new skip seek flags
	  Support the new SEEK_TRICKMODE_KEY_UNITS and SEEK_TRICKMODE_NO_AUDIO
	  flags added to core
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-01-27 13:39:14 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	  orc: update orc files

2015-01-27 10:28:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add fastpath for planar scaling
	  Add fastpaths for scaling of planar subsampled formats.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-27 10:04:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for monochroma formats
	  Add support for scaling of images with pstride == 1. This can be used
	  to scale individual planes later.
	  Rework some of the scaling code to take the pstride as a parameter.

2015-01-27 09:51:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: disable chroma and matrix operations
	  Ignore chroma subsampling and color matrix transformations like the
	  old videoscale used to do. This is to make the performance like it was
	  before.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-26 12:52:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix GBR unpack

2015-01-27 01:31:50 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Fix typo in documentation
	  Fix a couple of harmless warnings in the gtk-doc parsing

2015-01-23 12:46:41 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video-dither.c:
	  video: Fix leaked dither object in error cases
	  Coverity CID : 1256564

2015-01-21 15:22:15 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: fix caps leak
	  Fix leak of caps event and of caps objects when setting caps on sink and src
	  pads. Sync audiovisualizer class implementation to the one in gst-plugins-bad.
	  This commit matches c5ef1bee7318f057aa1f542d5a1474b75e85131a in that module.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-01-21 14:46:15 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: post QoS messages when dropping frames due to QoS
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

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

	* ext/cdparanoia/gstcdparanoiasrc.h:
	* gst-libs/gst/video/video-format.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.c:
	  Constify some static arrays everywhere

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

	* ext/alsa/gstalsa.c:
	  alsa: Constify channel position table

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

	* ext/alsa/gstalsa.c:
	  alsa: Fix indention

2015-01-21 08:33:57 +0100  Thomas Roos <thomas.roos@industronic.de>

	* ext/alsa/gstalsa.c:
	  alsa: Allow to use 8 bit samples with ALSA
	  8 bit samples have no (0) as endianness, not the native endianness.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

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

	* gst-libs/gst/audio/audio-format.c:
	  audio-format: Constify the audio format table

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

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: Fill in the correct silence
	  For unsigned raw formats this is not all zeroes, and for non-raw formats
	  we just continue to assume all zeroes for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

2015-01-21 08:47:26 +0100  Thomas Roos <thomas.roos@industronic.de>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: Fill in the correct silence
	  For unsigned raw formats this is not all zeroes, and for non-raw formats
	  we just continue to assume all zeroes for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

2015-01-20 19:14:21 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Only emit EOS signal after all buffers are consumed
	  Otherwise the application will possibly shut down the pipeline already
	  because EOS is received, while there are still some buffers pending.

2015-01-20 15:08:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  dcodebin2: fix lock/unlock mismatch on multiqueue overrun

2015-01-13 16:07:06 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>

	* gst/audioresample/resample.c:
	  audioresample: Try to prevent endless looping
	  Speex may decide not to consume any samples because it can't write any. I've
	  seen a hang during draining caused by the resample loop never terminating.
	  In that case, resampling happened as normal until olen was 0 but ilen was
	  still 1. _process_native then reduced ichunk to 0, so ilen never decreased
	  below 1 and the loop never terminated.
	  Instead of reverting 684cf44 ({audioresample: don't skip input samples),
	  break only if all output samples have been produced and speex refuses
	  to consume any more input samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732908

2015-01-19 11:17:18 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/Makefile.am:
	  videorate: Add $(GST_PLUGINS_BASE_CFLAGS) to be able to find gst/video/video.h

2015-01-18 14:58:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  videorate: Implement allocation query
	  The videorate element keeps 1 buffer internally. This buffer need
	  to be requested during allocation query otherwise the pipeline may
	  stall.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738302

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

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  Revert "videorate: Implement allocation query"
	  This reverts commit 3c04db4a307048db70ee1d08c1d62e26ad9569d8.

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

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  videorate: Implement allocation query
	  VideRate keeps 1 buffer in order to duplicate base on closest buffer
	  relative to targeted time. This extra buffer need to be request
	  otherwise the pipeline may stall when fixed size buffer pool is used.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738302

2015-01-17 14:51:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix compilation

2015-01-12 14:38:09 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: do call set_queue_size in no_more_pads_cb
	  Consider pipeline: gst-launch-1.0 playbin uri=http://example.com/a.ogg
	  Consider 128kbit audio stream.
	  As soon as uridecodebin detects the bitrate, it configures its input
	  queue2 max-size to 32000 bytes.
	  The 2MB buffer in multiqueue is nearly 2 orders of magnitude bigger.
	  This non-deterministically drives queue2 buffer anywhere from
	  100% to 0% until multiqueue is filled.
	  This patch sets multiqueue size to 5 buffers early in no_more_pads_cb.
	  Partly reverts commit db771185ed750627a6a1824c42b651d739e1b4a4.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740689

2015-01-16 15:21:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: free old groups when switching groups
	  Old groups are freed with one switch's delay when switching groups.
	  They're freed in a scratch thread to avoid delaying the switch.

2014-12-12 17:02:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix clipped duration determination for non 0 based segments
	  https://bugzilla.gnome.org/show_bug.cgi?id=740422

2015-01-15 10:51:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	  audio: Keep caps features when building the downstream filter
	  Based on 5fd4e3e0b6cc4f30d7b1489a105db946b43f1a9f for video
	  by Alessandro Decina.

2015-01-15 13:54:14 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: keep caps features in account when building the downstream filter
	  See 00c2ce6 and https://bugzilla.gnome.org/show_bug.cgi?id=741263 for reference.

2015-01-14 10:35:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback: add labels with supported seek range
	  Add the supported seeking range in the advanced seek area.
	  Also implement seeking querying the pipeline to retrieve those
	  values and show to the user. It is done in a smaller frequency
	  compared to the position/duration querying.

2015-01-13 19:25:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: disable pad link checks as it has already been done
	  Decodebin has already added the element to the bin and should only
	  select caps compatible pads. It should disable the pad link checks
	  to avoid doing those again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742885

2015-01-13 16:58:34 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: cleanup
	  Shameful fix to a silly mistake in the previous commit. Above email address for
	  any mockery

2015-01-13 16:36:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: handle the return of the setup function
	  Make the baseclass future proof by handling the gboolean return of the setup
	  function. So if/when a child class uses this the base class is ready.

2015-01-13 16:09:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  Revert "visual: remove unnecessary variable"
	  This reverts commit a91d521a3602f33083405467db9454d422b9da1b.
	  Being a base class it is better to check the value instead of ignoring it since
	  a child class could be created that returns valuable information.

2015-01-13 15:07:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: remove unnecessary variable
	  klass->setup (scope) will always return TRUE since all children of this class
	  do so, no need to store the return. Besides, the value is overwritten a few
	  lines down before it is ever used. Save the unnecessary memory and instructions.
	  CID #1226467

2015-01-12 15:27:18 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: use unused value
	  ret is assigned but not used and in the next cycle of the loop it is overwritten
	  with default_prepare_output_buffer (). If there is a flow error the function
	  should return instead.
	  CID #1226475

2015-01-12 15:56:06 +0100  Stefan Sauer <ensonic@users.sf.net>

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

2015-01-08 21:20:14 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: start ringbuffer if needed upon commit
	  ... to provide for a running clock.

2015-01-02 14:34:41 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix comment typo

2015-01-09 15:38:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-dither.c:
	  video-dither: remove check for below zero for unsigned value
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it is an unsigned integer. Removing that check and only checking if
	  it is bigger than max and setting it appropriately.
	  CID 1256559

2015-01-09 15:28:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: remove check for below zero for unsigned value
	  CLAMP checks both if n_taps is '< 0' and '> max_taps'. n_taps will never be a
	  negative number because it is an unsigned integer. Removing that check and only
	  making sure it isn't set bigger than max.
	  CID 1256558

2015-01-08 10:45:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for BT2020 colorspace (UHD)

2015-01-07 15:54:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: remove useless debug

2015-01-07 15:52:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add options to control chroma resampling
	  Add an option to disable chroma resampling.
	  Improve the matrix option values so that you can choose to use the input
	  or output matrix or disable conversion.

2015-01-02 15:27:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: remove unused enum

2014-12-31 19:40:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix silly GQueue iteration code

2014-12-26 20:48:55 +0000  Sam Thursfield <sam@afuera.me.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  Fix documentation that incorrectly says a return value should be freed
	  The gst_discoverer_info_get_missing_elements_installer_details()
	  documentation and annotation says that the return value should be freed
	  with g_strfreev(), but actually it's owned by the GstDiscovereInfo
	  object and should definitely not get freed by the caller as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742006

2014-12-27 14:44:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Explicitly document that buffer-time and latency-time may be ignored

2014-12-26 18:55:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: only clip by duration if end of buffer is ahead of segment
	  It might happen that the timestamp is before the segment and the
	  check would succeed. In this case reducing the duration makes no
	  sense and would lead to broken results.

2014-12-22 22:04:41 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Report our latency properly in live mode
	  While we have no latency at all in theory, any other live source has the
	  duration of one buffer as minimum latency. Do the same in videotestsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741879

2014-12-22 22:00:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Report our latency properly in live mode
	  While we have no latency at all in theory, any other live source has the
	  duration of one buffer as minimum latency. Do the same in audiotestsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741879

2014-12-22 09:25:04 -0500  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  videopool: update video alignment after applying
	  Video buffer pool will update video alignment to respect stride alignment
	  requirement. But haven't updated it to video alignment in configure.
	  Which will cause user get wrong video alignment.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741501

2014-11-28 14:36:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: get the internal time before the clock reset
	  Otherwise calls to get the clock time might change its internal state
	  and the internal/external time for calibration get unbalanced leading to
	  a clock jump
	  https://bugzilla.gnome.org/show_bug.cgi?id=740834

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

	* MAINTAINERS:
	  MAINTAINERS: Update my mail address

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{en,de}coder: Call reset() before the start() vfunc
	  This makes sure that the element is in the same state before start() is called
	  the very first time and every future call after the element was used already.
	  Also it ensure that we always have a clean state before start(), cleaned the
	  same way in every case.

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

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Call reset() before the start() vfunc to guarantee a clean state
	  The same was done already in the decoder, and we cleaned some state just above
	  manually that would also be taken care of by reset().
	  This makes sure that the element is in the same state before start() is called
	  the very first time and every future call after the element was used already.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{en,de}coder: Reset the codec after calling the stop() vfunc
	  The stop() vfunc might mess with some of our fields we have just
	  reset, which could cause memory leaks or invalid state taken over
	  to later.
	  Also the stop() vfunc, or anything called until it from another thread,
	  might want to be able to use the fields that were just resetted and
	  become confused because of that.
	  In the decoder we already had a workaround for things like this happening,
	  this workaround is not needed anymore.

2014-12-22 10:45:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobase{sink,src}: Don't hold the object lock while calling create_ringbuffer() vfunc
	  The implementation of that vfunc might want to use the object lock for
	  something too. It's generally not a good idea to keep the object lock while
	  calling any function implemented elsewhere.
	  Also the ringbuffer can only be NULL at this point, remove a useless if block.
	  And in the sink actually hold the object lock while setting the ringbuffer on
	  the instance. Code accessing this is expected to use the object lock, so do it
	  here ourselves too.

2014-12-18 13:24:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Error out early if we observe an invalid audio format

2014-12-18 13:22:17 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Also handle invalid block aligns for raw audio
	  Fixes audio playback of
	  http://demo.archermind.com/Test%20Sample/Video/MPEG%204/Divx3/Low-Motion/576-320.avi
	  Audio and video together is still broken because of other issues.

2014-12-18 10:57:13 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Fix private header include/dist
	  We want to dist it, but we don't want to install it.
	  Fixes make dist/distcheck

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

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

2014-12-17 21:52:13 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: plug ref leak of template caps
	  the pad template caps is already a new ref. No need to copy.

2014-12-17 19:14:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: audio: fix GI annotations for proxy caps function
	  Add the annotations to parameters that can be null and also for stating
	  the ownership of the returned caps

2014-12-17 15:21:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: tests for caps query implementation
	  Copied from videodecoder tests and updated to audio features

2014-12-17 15:21:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: expose getcaps virtual function
	  Allows subclasses to do custom caps query replies.
	  Also exposes the standard caps query handler so subclasses can just
	  extend on top of it instead of reimplementing the caps query proxying.

2014-12-16 18:36:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: implement caps and accept-caps queries
	  Allows decoders to proxy downstream restrictions on caps.
	  Also implements accept-caps query to prevent regressions caused by the
	  new fields on the return of a caps query that would cause the accept-caps
	  to fail as it uses subset caps comparisons

2014-12-16 11:13:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  audioencoder: refactor getcaps proxy function to be reusable
	  Makes the audioencoder's getcaps function that proxies downstream
	  restriction available to other elements in the audio module to use it

2014-12-17 14:18:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* tests/check/libs/videodecoder.c:
	* win32/common/libgstvideo.def:
	  videodecoder: expose getcaps virtual function
	  Allows subclasses to do custom caps query replies.
	  Also exposes the standard caps query handler so subclasses can just
	  extend on top of it instead of reimplementing the caps query proxying.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-15 18:46:21 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: accept-caps should only require fields from the template
	  With the new caps query results the caps returned might have extra fields
	  that are not required by the decoder (framerate for image decoders) and it
	  causes a regression making, for example, jpegdec reject caps that don't
	  have framerates.
	  The accept-caps implementation will do 2 checks:
	  1) Do subset check with the template caps, making sure all the required
	  fields that are present on the template are present on the received caps.
	  2) Do a intersection check with the result of a caps query, making sure
	  that downstream can accept the fields in the received caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

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

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: proxy filter when doing a caps query downstream
	  Allows downstream to use the filter and possibly reduce caps complexity
	  to speed up negotiation
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-09 16:05:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: return empty if the element has no possible allowed caps
	  Instead of returning the template caps and having a failure happen
	  later because there are no possible caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-08 16:33:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutilsprivate.c:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	* tests/check/libs/videodecoder.c:
	  videodecoder: implement caps query
	  Refactor the encoder's caps query proxying function to a common place
	  and use it in the videodecoder to proxy downstream restrictions.
	  The new function is private to the gstvideo lib.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-17 12:01:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: require release version of orc now that there is one

2014-12-16 12:57:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink: clear src and dest rectangles
	  Now that the center function also takes into account the x and y
	  coordinates of the dest rectangle, better clear all the fields before
	  using them.

2014-12-16 12:10:53 +0100  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  videopool: update buffer size after video alignment
	  Update the new buffer size after alignment in the pool configuration
	  before calling the parent set_config. This ensures that the parent knows
	  about the buffer size that we will allocate and makes the size check
	  work in the release_buffer method.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741420

2014-12-15 20:57:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	  audiobasesrc/sink: Add _CAST macros

2014-12-15 14:10:17 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/gstvideosink.c:
	* tests/check/libs/video.c:
	  video: Fix non-default usage of gst_video_sink_center_rect
	  Make sure we take into account non-0 x/y destination rectangles

2014-12-15 12:12:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: improve playback-test help text a little
	  And allow pipeline type to be specified as string.

2014-12-15 10:35:35 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.h:
	  pango: Add license/copyright header to header file

2014-12-15 09:45:43 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Only emit the drain signal for the main decode chain, not any subchains"
	  This reverts commit a391dfe17f1a325f60e1d51a6d40c1a68eb196de.
	  It breaks gapless playback: https://bugzilla.gnome.org/show_bug.cgi?id=740045

2014-12-09 03:18:37 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Fill gap events
	  https://bugzilla.gnome.org/show_bug.cgi?id=741281

2014-12-10 16:10:58 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audio: Add error handling to gst_audio_decoder_drain()
	  https://bugzilla.gnome.org/show_bug.cgi?id=740686

2014-12-13 16:14:49 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: Fix redundant definitions compiler warning
	  gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_init' [-Werror=redundant-decls]
	  G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);
	  gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_class_init' [-Werror=redundant-decls]
	  G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);

2014-12-13 16:04:40 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: No need to get the parent class in class_init, G_DEFINE_TYPE does that for us

2014-12-13 16:01:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: Use G_DEFINE_TYPE instead of a custom get_type() function

2014-12-12 08:32:15 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: fix spelling of word in comment

2014-12-12 14:59:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasepayload: fix indentation

2014-12-12 14:59:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix indentation

2014-12-12 14:56:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix broken refcounting in unit test
	  The set_format vfunc does not pass ownership of the caps
	  to the decoder, so we mustn't unref the caps there.
	  gst_event_new_caps() does not take ownership of the caps
	  passed, so we must unref the caps afterwards.
	  Fixes leaks when running test in valgrind in 1.4 branch.

2014-12-12 10:02:43 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	  video: Update disted orc source files

2014-12-12 10:01:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  Revert "video-converter: Fix compiler warning because of missing prototype of non-static function"
	  This reverts commit 406f32a9468c837a4d71f988de10dc2198a8edc9.
	  The problem was apparently that my video-orc.h was not updated and did not
	  include the prototype for that function. Only a "make clean" caused it to
	  be regenerated.

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

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warning because of missing prototype of non-static function
	  video-converter.c:838:1: error: no previous prototype for function
	  '_custom_video_orc_matrix8' [-Werror,-Wmissing-prototypes]

2014-12-09 22:47:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: do not use fixed caps on source pad
	  decoders can change the caps on their source pads, so they don't
	  use fixed caps. Having fixed caps can cause renegotiation issues.

2014-12-09 22:46:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not use fixed caps on source pad
	  decoders can change the caps on their source pads, so they don't
	  use fixed caps. Having fixed caps can cause renegotiation issues.

2014-12-11 13:45:38 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Do not mix up stream type when getting stream combiner element
	  We were always returning the video stream combiner whatever stream type
	  combiner was wanted.

2014-12-10 13:23:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: always unref the combiner sinkpad when removing the srcpad
	  Create a function to do the pad cleanup of the GstSourceCombine struct
	  and use it to not forget to also cleanup the sink pad and fix a memory
	  leak.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741198

2014-12-10 16:42:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: make RGB pack/unpack faster
	  Avoid all the merging and splitting and use a pair of shifts and or

2014-12-11 01:53:15 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add GST_VIDEO_DECODER_CAST macro
	  It's used in some macros already, so let's make it exist.

2014-11-25 13:31:48 +0100  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: No remove child if destroyed.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740730

2014-12-08 18:53:35 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/test-reverseplay.c:
	  reverse-play: fix seek to end when starting reverse
	  Start reverse playback by actually seeking to the end of
	  the file.

2014-12-06 21:02:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: set bits and format after conversion
	  Update the current format, bits and pstride.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741187

2014-12-05 22:09:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: free dither_lines
	  Avoid a memory leak

2014-12-05 18:16:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* configure.ac:
	  Bump ORC requirement to 4.22.1
	  We now depend on git commit f1cfa5, "orcc: allow setting custom
	  backup function"

2014-12-05 14:51:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: use custom backup function
	  Use the new orc feature to set a custom backup function.

2014-12-05 12:18:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: improve matrix8 function
	  Avoid using a constant.
	  Avoid doing saturated adds, results are not supposed to overflow here.
	  Rework the C backup function a little in preparation for custom backup
	  functions in ORC.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741015

2014-11-28 15:06:27 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Push pending events before sending EOS.
	  Segments are added to the pending events, and pushing a segment
	  is mandatory before sending EOS.
	  + Adds a test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740853

2014-11-27 05:53:20 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix seeking before the first frame.
	  The previous code was setting keytarget to target
	  to make sure the keyframe found for each pad was
	  indeed before the target.
	  Then if target == keytarget, it assumed a keyframe had been
	  found, which was not the case if target was before the first frame
	  in the file.
	  This patch checks that a keyframe was indeed found, and if not
	  seeks to 0, without bisecting again.
	  Assuming default gst qa assets in $HOME/gst-validate
	  seek_before_first_frame.scenario:
	  description, seek=true, handles-states=true
	  pause, playback-time=0.0
	  seek, playback-time=0.0, start=0.0, flags=accurate+flush
	  seek, playback-time=0.0, start=0.01, flags=accurate+flush
	  seek, playback-time=0.0, start=0.1, flags=accurate+flush
	  GST_DEBUG=*theoradec*:2 gst-validate-1.0 playbin \
	  uri=file://$HOME/gst-validate/gst-qa-assets/medias/ogg/vorbis_theora.0.ogg \
	  --set-scenario seek_before_first_frame.scenario
	  https://bugzilla.gnome.org/show_bug.cgi?id=741097

2014-10-08 08:54:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Only check sinks which are in >= GST_STATE_READY
	  Otherwise we endup with bogus caps intersection (from the pad template
	  caps and not from what the actual hardware/device supports)
	  https://bugzilla.gnome.org/show_bug.cgi?id=738131

2014-12-03 10:15:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix chroma resampling check
	  Decide if we need chroma resampling by checking if we have a progressive
	  or interlaced chroma resampler.

2014-12-03 10:14:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only do dithering when needed
	  Only do dithering when one of the quantizers is > 1.

2014-12-02 15:58:00 -0500  Chad <crh184@psu.edu>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Use gst_util_uint64_scale_int_round()
	  Using gst_util_uint64_scale_int() causes slight drift
	  which accumulates over time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741045

2014-12-02 13:39:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstvideo.def:
	  defs: update defs file

2014-12-02 11:51:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	  videoconvert: add dither-bits option
	  Fix the dither option.
	  Add a new option to set the quantizer

2014-12-02 11:48:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add where orc functions could go
	  Add the disabled orc functions in #if 0 lines for when we can enable
	  them.

2014-12-02 11:40:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-dither.c:
	  video-converter: add dithering
	  Use the new dither object to perform dithering.
	  Add option to select dithering method.
	  Add option to quantize to a specific value

2014-12-02 11:39:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add palette when needed

2014-12-02 11:32:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-dither.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video.h:
	  video-dither: add video dither helper object
	  Add a new object that implements various dithering methods.

2014-12-01 22:28:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tools/gst-play.c:
	  gst-play: do not set system's volume to 100% by default
	  Only change the volume if requested

2014-12-01 09:50:24 +0100  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Use EPIPE instead of ESTRPIPE if the latter does not exist
	  NetBSD does not have ESTRPIPE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740952

2014-11-28 14:28:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggmux.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/video-converter.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tools/gst-discoverer.c:
	  Don't compare booleans for equality to TRUE and FALSE
	  TRUE is 1, but every other non-zero value is also considered true. Comparing
	  for equality with TRUE would only consider 1 but not the others.

2014-11-16 15:54:56 +0100  Thibault Saunier <tsaunier@gnome.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	* win32/common/libgstpbutils.def:
	  encodebin: Add a way to disable caps renegotiation for output stream format
	  In some cases, the user might want the stream outputted by encodebin to
	  be in the exact same format during all the stream. We should let the
	  user specify when this is the case. This commit add some API in the
	  GstEncodingProfile to determine whether the format can be renegotiated
	  after the encoding started or not.
	  API:
	  gst_encoding_profile_set_allow_dynamic_output
	  gst_encoding_profile_get_allow_dynamic_output
	  https://bugzilla.gnome.org/show_bug.cgi?id=740214

2014-11-28 13:31:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: remove libs/video and videoconvert test from valgrind blacklist
	  Seem to work fine.

2014-11-28 13:29:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: don't run orc/* tests under valgrind
	  They just seem to blow up for some reason that needs investigating.

2014-11-28 13:11:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagmux.c:
	  tagmux: fix criticals when there are no tags at all

2014-11-21 01:47:35 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/test-reverseplay.c:
	  test-reverseplay: Use uridecodebin for input
	  Work with any installed URI handler
	  Add some more debug output

2014-11-28 10:27:28 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Mapping a frame with inconsistent values between GstVideoMeta and GstVideoInfo is a bug
	  It will cause the frame to be initialized with inconsistent values that then
	  later can cause crashes or any other kind of interesting and hard to debug
	  bugs.

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

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

2014-11-27 15:28:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: make use of x offset when unpacking overlay image pixels
	  Now that it's implemented we can use it, which is a minor
	  optimisation when the image to overlay gets cropped on the
	  left.

2014-11-27 15:04:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: sprinkle some 'restrict' keywords in pack/unpack functions
	  In cases where we just call orc directly this is somewhat
	  superfluous, but let's do it anyway for consistency. In
	  other cases the compiler can hopefully use this to optimise
	  memory access a little.

2014-11-27 13:01:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle x offset in unpack
	  Add support for x offset in almost all unpack methods.
	  Fix naming of source and dest pixels.
	  Add const to source pixels.

2014-11-27 10:51:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: improve unpack i420
	  unpack_i420 does not need extra code to handle odd widths, the orc code
	  already handles it fine.

2014-11-27 09:45:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: use old property name
	  Unbreak ABI by changing to the old property name again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740798

2014-11-25 13:39:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'
	  Before we were setting them to PAUSED and (much) later connecting to
	  their source pad caps notify signal.
	  There was a race where that demuxer was pushing a caps and later a buffer
	  on its source pad when we were not even connected to its source pad caps notify
	  signal leading to decodebin missing the information and not keeping on
	  building the pipeline on CAPS event thus the demuxer was posting an ERROR
	  (not linked) message on the bus. This need to be done for 'simple
	  demuxers' because those have one ALWAYS source pad, not like usual demuxers
	  that have several dynamic source pads.
	  A "simple demuxer" is a demuxer that has one and only one ALWAYS source
	  pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740693

2014-11-25 16:46:50 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Take STREAM_LOCK before sending sticky events.
	  There was a race where:
	  1) we would put the element to PAUSED
	  2) It would get data sent to it from upstream
	  3) It would thus send caps
	  3) caps_notify_cb would continue autoplugging
	  4) caps would flow downstream, the last pad would get exposed
	  5) we were still not done sending the sticky events
	  Taking the stream lock on the new element's sinkpad and only
	  releasing it when sticky events have all been sent prevents
	  the caps from reaching the source pad of the element before
	  we're all set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740694

2014-08-06 19:31:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: detect mp4 common file format variant
	  Used e.g. by UltraViolet.

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

	* ext/alsa/gstalsasrc.c:
	  alsasrc: debug message fixes
	  In the same vein as 74e9640a.

2014-11-25 17:42:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scale: combine adds when max_taps equals combine size
	  When the amount of pixels/lines matches the amount we can combine,
	  combine the adds and multiplies and do the scale as a separate
	  operation.

2014-11-25 17:25:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: combine scaling operations
	  Combine add and scale of multiple lines/pixels to reduce the amount of
	  read and writes to temporary memory.

2014-11-25 14:45:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gsttimeoverlay.c:
	* ext/pango/gsttimeoverlay.h:
	  timeoverlay: add "time-line" property
	  So we can also show running time or stream time, not just the
	  buffer time stamps.

2014-11-25 11:54:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: add property to do scaling after gamma-decode

2014-11-25 11:28:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: add more scaling filters
	  Adjust the filter parameters so that they use the same number of taps
	  and method as the old ones.
	  Add some new filters

2014-11-25 10:36:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: remove print

2014-11-25 10:32:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: improve variable taps
	  Improve quality of variable taps on all methods by reusing the lanczos
	  parameters where possible.

2014-11-25 09:11:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: Fix lanczos parameters for variable taps
	  when using variable taps and when we are limiting the number of taps,
	  recalculate the lanczos parameters to match the clamped value.
	  Set the max number of taps to 128

2014-11-25 11:38:34 +0300  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: Reset mute property of the sink to playsink's value when setting up the audio chain
	  Otherwise the following can happen:
	  1. set mute=true
	  2. play media1 (Ok)
	  3. play media without audio (audiochain removed)
	  4. play media2 (audiochain created, mute=*false*)
	  https://bugzilla.gnome.org/show_bug.cgi?id=740675

2014-11-25 11:38:34 +0300  Andrei Sarakeev <sarakusha@gmail.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: fix typo in header file
	  https://bugzilla.gnome.org/show_bug.cgi?id=740675

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

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for audio/x-audible

2014-11-25 01:02:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improve 'audible' audio typefinder a little
	  Don't return NEARLY_CERTAIN just based on 4 bytes.
	  Also change media type to audio/x-audible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=715050

2013-11-23 11:36:43 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: add audio/audible typefinder
	  https://bugzilla.gnome.org/show_bug.cgi?id=715050

2014-06-16 11:46:18 +0200  Branislav Katreniak <bkatreniak@nuvotechnologies.com>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Change the log messages in xrun_recovery() from DEBUG to WARNING
	  xrun_recovery() runs when there is an error
	  https://bugzilla.gnome.org/show_bug.cgi?id=740615

2014-11-24 12:47:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep track of required temp lines
	  Make a small object to hold a pool of allocated temp lines.
	  Keep track of how many temp lines each conversion stage needs and use
	  this to allocate just enough temp lines from the temp lines object. from
	  the temp lines object.

2014-11-24 12:45:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: use err line in fastpath
	  Use the error line for temporary storage in the fastpath so that we
	  don't have to allocate any other temp lines.

2014-11-22 21:51:33 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: don't complain about PTS != DTS on keyframes
	  It is valid for streams with b-frames
	  https://bugzilla.gnome.org/show_bug.cgi?id=740556

2014-11-21 16:06:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: handle mixed interlaced
	  When dealing with mixed interlaced, setup a scaler and chroma-resampler
	  for both interlaced and progressive frames and switch between them
	  depending on the interlace mode of the input frame.

2014-11-21 16:04:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Cleanup options parsing
	  Cleanup option parsing
	  Add some debug

2014-11-21 15:59:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: there is no need to apply x offset to temp lines

2014-11-21 15:58:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: ensure both fields have the same number of taps

2014-11-21 11:15:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the options a little
	  Rework the options a little to make it nicer to set defaults.

2014-11-21 11:12:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	  video-resampler: add option to limits taps
	  Add an option to limit the number of taps to use in automatic mode. The
	  problem is that for lanczos, we might use more taps than what we can
	  handle with the current precision.
	  Rework the other options a little to make it nicer to set defaults.

2014-11-20 18:20:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update orc files

2014-11-20 15:53:23 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstvideo.def:
	  win32: Update defs file

2014-11-19 21:18:04 +0900  Hyunjun Ko <zzoonis@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: fix warning on param name mismatch
	  https://bugzilla.gnome.org/show_bug.cgi?id=740013

2014-11-18 00:04:59 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/test-reverseplay.c:
	  tests: Add reverse playback verification test
	  Plays a requested URI forward to EOS, then backward and
	  checks that the same timestamp range(s) are covered.

2014-11-12 15:23:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Operate in a zero-latency mode if drop-only is set to TRUE
	  There's no reason why we would have to wait for the next buffer to decide
	  whether to output the current one or not. We just have to check if the
	  current one is earlier than our expected next time, which is the previous
	  frame timestamp plus the expected frame duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740018

2014-11-19 14:38:03 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Use correct enum, GstVideoFormat instead of GstFormat

2014-11-19 13:25:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix size check
	  Add some debug, fix size check that decides what scaling to do first and
	  when to do conversion.

2014-11-19 12:53:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid primaries conversion when asked
	  Don't do conversion between primaries when the option is disabled.
	  Only do some matrix code when needed.

2014-11-19 12:41:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: add a note about subsampled formats
	  Add a note about gst_video_info_set_format() and interlaced formats.

2014-11-19 12:05:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-info.c:
	  video-info: handle interlaced size correctly
	  Refactor GstVideoInfo init, make function to set default colorimetry.
	  Call fill_planes after we configure the GstVideoInfo with parameters
	  from the caps.
	  The size of the chroma planes for interlaced vertically subsampled
	  formats needs to be rounded up to 2, we have 2 fields with each
	  the same anount of chroma lines.

2014-11-19 12:04:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	  video-color: return FALSE on unparsable colorimetry

2014-11-19 09:40:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle unpack interlaced subsampled formats
	  For interlaced vertically subsampled formats the check for even lines
	  needs to take into account the two fields.

2014-11-19 09:39:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlaced shift

2014-11-19 09:30:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep a small backlog of lines
	  Allow lines to jump backwards slightly, usefull for interlaced content.

2014-11-19 09:28:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: Fix interlaced chroma resampling
	  Use the interlaced flag to select the right resampler.

2014-11-18 16:36:08 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	  video: add some more debuging

2014-11-18 16:35:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlacing some more
	  Use the right phase.
	  Take the right lines from interlaced content.

2014-11-18 12:53:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: fix dither method

2014-11-18 12:52:27 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix some leaks
	  And remove some unused fields.

2014-11-18 12:20:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add support for gamma and primaries
	  Keep only 1 structure with all matrix information.
	  Add structure to hold gamma information.
	  Add more options to control gamma, primaries and color matrix handling.
	  Add functions to compute transformations to and from XYZ and use this
	  to convert between primaries.
	  Merge gamma into the convert to and from RGB stage.
	  Fix border val.
	  Simplify the fastpath table, remove unused fields, add some more checks.

2014-11-18 11:09:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video-color: add method to get primaries info

2014-11-18 11:08:10 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-info.c:
	  video-color: fix default 601 primaries

2014-11-18 11:06:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlaced taps setup

2014-11-14 09:15:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  video-color: make sRGB colorimetry the default for RGB

2014-11-13 12:03:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: split YUV to and from RGB conversions
	  Prepare for doing full gamma corrected conversion and scaling by first
	  splitting the conversions from and to RGB into separate steps.
	  split scaling in downscaling and upscaling steps to be performed before
	  and after conversion respectively.

2014-11-13 12:02:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't convert too much
	  because we do conversion after downscaling we only need to convert the
	  smallest width.

2014-11-13 12:00:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add orc splat functions to draw border

2014-11-05 21:52:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: Fix segfault when overlay outside the frame"
	  This is not correct. overlay->silent is a property and we
	  should not just flip the property forever because one text
	  we render is outside of the frame. The next one might not
	  be, the positioning properties can be changed after all.
	  The lower layers should handle clipping, and now do.
	  This reverts commit 1cc311156cc3908d1d9888fbcda67305fc647337.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-05 21:46:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: segfault when xpos >= video size"
	  This is not right, even if it might avoid a crash. We don't
	  want to just set xpos/ypos to 0 in those cases. Clipping
	  should be done properly, see bug #739281 for that.
	  This reverts commit 900d0267d511e9553eec44d948d7e33ead7dc903.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-16 23:26:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: minor optimisation
	  Only need to run matrix on those pixels which
	  will actually be used.

2014-11-16 19:28:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/icles/Makefile.am:
	* tests/icles/test-overlay-blending.c:
	  tests: make overlay blending test slightly less boring

2014-11-16 16:34:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix clipping of overlay images on the left
	  Fix clipping of images that are partially left of the video
	  surface, they would get clipped on the right side instead of
	  the left side, because the video unpack functions currently
	  ignore the x offset parameter. Work around that until that
	  is implemented.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-16 16:31:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix allocation of temp src line for wide sources
	  Fix allocation of temporary source line buffers for source
	  images that are wider than the video overlay surface.

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

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/test-overlay-blending.c:
	  tests: add visual overlay composition blending test
	  Shows visual result of blending a logo on top of
	  a video surface, esp. when the logo is partially
	  outside of the video surface and needs to be
	  clipped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

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

	* tests/check/libs/video.c:
	  tests: fix leak in video unit test

2014-11-10 16:36:35 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix blending of rectangles partially or fully outside of the video
	  In case of overlay being completely or partially outside
	  the video frame, the offset calculations are not right,
	  which resulted in the overlay not being displayed as
	  expected, or crashes due to invalid memory access.
	  When the overlay rectangle is completely outside,
	  we need not render the overlay at all.
	  For partial display of overlay rectangles, src_yoff
	  was not being calculated, hence it was always clipping
	  the bottom half of the overlay, By calculating the
	  src_yoff, now the overlay is clipped properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-10 12:12:42 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* tests/check/libs/video.c:
	  tests: video: add video blend test
	  Add test to check rendering of overlays of different sizes
	  that are completely or partially outside the video surface.
	  Once the overlay is blended to the video, verify if the
	  position of the blended overlay is as expected, by comparing
	  the pixels of the blended video with the expected values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-15 23:15:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update to git

2014-11-15 23:13:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsrc.c:
	* gst/playback/gstplaybin2.c:
	  docs: fix some gtk-doc warnings
	  Deprecated entities found in documentation for xyz:Long_description
	  .

2014-11-12 09:57:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: take offset into account when unpacking
	  When we can directly take the input line from the source frame when
	  unpacking, also take into account the x offset.

2014-11-12 09:57:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add some notes

2014-11-11 16:19:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  defs: update defs and docs

2014-11-11 16:11:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* tests/check/libs/video.c:
	  video-color: add gamma encode/decode functions
	  Add functions to encode and decode gamma.
	  Add unit test to check that encode and decode are eachothers inverse
	  and that the limits are respected.

2014-11-10 14:53:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  test: add scaling test
	  Sort pack and unpack performance measurements

2014-11-10 12:01:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-orc: update disted file
	  and disable one failing function

2014-10-24 17:08:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/Makefile.am:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_fill_borders.h:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	* tests/check/Makefile.am:
	  videoscale: port to new API

2014-11-10 11:40:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: use faster saturating conversions
	  saturating conversions are generally faster.

2014-11-07 15:45:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-chroma: add ORC version of UP_H2_CS
	  It is however slower than the C version and thus disabled.

2014-11-09 14:44:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for Apple Core Audio Format
	  https://bugzilla.gnome.org/show_bug.cgi?id=739840

2014-11-09 12:53:32 +0100  Peter G. Baum <peter@dr-baum.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: recognize Apple Core Audio Format
	  (CAF) Specification 1.0
	  https://bugzilla.gnome.org/show_bug.cgi?id=739840

2014-11-09 10:47:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  capsfilter-renegotiation: Use assertions from libcheck for more information on failures

2014-11-07 12:06:10 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* tests/check/libs/video.c:
	  video-chroma: ORCify 2x vertical upsampling
	  Make an ORC version of the 2x vertical upsampling code.
	  Improve unit tests, test chroma up and down sampling.
	  memset buffer in conversion to make valgrind happy.

2014-11-06 14:14:22 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gsttcpserversink.c:
	  tcpserversink: Don't leak a `GSocket` and a `GInetSocketAddress`
	  when accepting a connection.
	  Discovered by `make check-valgrind` with the new `socketintegrationtest`.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739544

2014-11-03 01:08:27 +0000  William Manley <will@williammanley.net>

	* tests/check/Makefile.am:
	* tests/check/pipelines/.gitignore:
	* tests/check/pipelines/tcp.c:
	  tests: Add TCP pipelines test
	  There don't seem to be any unit tests for the socket handling elements.  As
	  I am about to attempt some refactorings I've added some basic tests which
	  exercise some of the happy-paths in tcpclientsrc, tcpserversrc,
	  tcpserversink and tcpclientsink.  They should let me know if I've caused
	  serious breakage.
	  They are far from exhaustive but are sufficient for me to have caught a few
	  memory-leaks in the existing code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739544

2014-11-06 18:18:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: add video conversion test
	  Go through all conversions and make a list of performance.

2014-11-06 18:13:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: use h-cosited chroma for HD video by default

2014-11-06 18:09:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp lines

2014-11-06 16:29:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video-orc: update disted files

2014-11-06 16:18:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: ORCify 8<->16 conversion

2014-11-06 15:30:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: unpack into the destination when needed
	  Make sure we write into the destination line when we can propose the
	  dest allocator.

2014-11-06 15:29:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add more debug

2014-11-06 15:01:27 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update disted orc files

2014-11-06 13:08:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc.orc:
	* tests/check/libs/video.c:
	  video-chroma: optimize chroma subsampling a little
	  Combine multiplies in 4x filters.
	  Rename conversion functions to make them nicer in orc.
	  Add ORC versions for various downsampling algorithms
	  Add unit test chroma resampler

2014-11-06 10:43:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: make pack/unpack test
	  Make a more complete pack/unpack test, check if the image after
	  pack/unpack has the same color and precision, and has correctly
	  duplicated subsampled pixels.

2014-11-06 10:42:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: get the correct number of video formats
	  Make a method to get the number of formats (including the last one).

2014-11-06 09:44:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: update some docs and add a FIXME(2.0)

2014-11-06 09:38:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add range extension to BGR_10XE format

2014-11-06 09:34:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix pack of 4:2:0 formats
	  When packing 4:2:0 formats, we need to take the chroma from the even
	  lines, for the odd lines we only take luminance.

2014-11-06 09:32:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix range extension of UYVP
	  We need to shift the top 6 bits to the lower 6 bits

2014-11-06 09:28:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: do h subsampling after v subsampling
	  We only need to do the horizontal subsampling on 1 line if we do it
	  after vertical subsampling and we also avoid doing vertical subsampling
	  on unused pixels.

2014-11-06 09:39:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: dist header file needed for ABI checks on powerpc32
	  Fixes 'make check' on debian powerpc32 buildbot:
	  libs/libsabi.c:95:26: fatal error: struct_ppc32.h: No such file or directory

2014-11-05 04:34:44 +0900  Danny Song <danny.song.ga@gmail.com>

	* tests/check/elements/adder.c:
	  test : fix leaks in adder unit test
	  https://bugzilla.gnome.org/show_bug.cgi?id=739640

2014-11-05 11:54:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep separate lines with border
	  Make separate with a border around them so that we can avoid a memcpy.

2014-11-05 11:52:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: avoid memcpy when not needed

2014-11-05 11:51:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: pass output line correctly

2014-11-04 09:30:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the converter to allow more optimizations
	  Rework the converter, keep track of the conversion steps by chaining the
	  cache objects together. We can then walk the chain and decide the
	  optimal allocation pattern.
	  Remove the free function, we're not going to need this anytime soon.
	  Keep track of what output line we're constructing so that we can let the
	  allocator return a line directly into the target image when possible.
	  Directly read from the source pixels when possible.

2014-11-04 11:03:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix temp line allocation
	  We need to allocate the templine with the amount of pixels we are going
	  to handle, which we only know for the vertical resampler when we are
	  asked to resample.

2014-11-04 11:02:49 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix taps in interlaced mode

2014-11-04 11:01:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix phases in interlaced mode

2014-11-04 09:29:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix v_2tap_u16

2014-11-03 16:18:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add extra pixels for the border
	  We need extra pixels for the border.

2014-11-03 15:36:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for 16bits formats
	  Add scaler functions for 16 bits formats.
	  Rename the scaler functions so that 16bits versions don't look too
	  weird.
	  Remove old unused h_2tap functions
	  Fix v_ntap functions, it was using 1 tap too little.

2014-11-03 15:33:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Add support for 16 bits formats
	  Rework the way we track the current state of the video through the
	  different conversion phases and use this to make sure we use the right
	  format and pstride where needed.

2014-10-22 13:37:40 +0100  William Manley <will@williammanley.net>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  docs: gst_dmabuf_allocator_alloc: Improve documentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=739545

2014-11-03 10:07:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: comment out unused function
	  A faster version of 4tap horizontal scaling causes segfaults in ORC
	  presumably because it uses too many registers so disable it to avoid
	  crashing in the ORC tests.

2014-11-02 21:45:30 +0100  Andreas Frisch <fraxinas@opendreambox.org>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: return available factory CAPS instead of ANY on CAPS query
	  https://bugzilla.gnome.org/show_bug.cgi?id=739536

2014-11-03 08:12:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Fix compiler warning
	  video-scaler.c:151:58: error: implicit conversion from enumeration type
	  'GstVideoScalerFlags' to different enumeration type
	  'GstVideoResamplerFlags' [-Werror,-Wenum-conversion]
	  gst_video_resampler_init (&scale->resampler, method, flags, out_size,
	  ~~~~~~~~~~~~~~~~~~~~~~~~                             ^~~~~

2014-11-01 20:08:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: Do not use deprecated gtk-doc 'Rename to' tag
	  GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to
	  rename-to annotation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739514

2014-11-01 14:58:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video: fix some g-i / gtk-doc warnings

2014-11-01 14:47:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup functions
	  Fixes build without orc.

2014-11-01 14:28:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-blend.c:
	  video: add video blend helper functions to docs
	  I don't think those were ever meant to be made public,
	  but they are, so we might as well document them.

2014-11-01 13:14:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: ORCify vertical ntap function

2014-11-01 12:58:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: handle 4tap interlaced

2014-10-31 16:53:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video-orc: update dist files

2014-10-31 16:49:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add ORC optimized ntap horizontal scalers

2014-10-29 16:28:28 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/icles/playback/test.c:
	* tests/icles/playback/test2.c:
	* tests/icles/playback/test4.c:
	  tests/playback: quit from main loop
	  Listen for eos and error signal to quit main loop.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739346

2014-10-29 16:26:07 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/icles/playback/test2.c:
	* tests/icles/playback/test4.c:
	  tests/playback: correct state change checking
	  Correct the test apps check if result of state change is not failure as the
	  state change can happen async
	  https://bugzilla.gnome.org/show_bug.cgi?id=739346

2014-10-31 22:52:43 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update disted orc files for new functions.
	  Fixes the build when building without ORC

2014-10-31 11:07:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: align offsets to subsampling
	  Only apply an offset that is a multiple of the subsampling. To handle
	  arbitrary offsets in the future, we need to be able to chroma-resample
	  part of the borders.

2014-10-31 10:38:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp output lines

2014-10-31 10:34:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add alignment checks
	  Some of the ORC functions need specific alignment

2014-10-31 10:33:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix offset check

2014-10-30 18:41:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: also chroma up/downsample when scaling

2014-10-30 18:40:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp input lines correctly

2014-10-30 23:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix build without orc
	  https://bugzilla.gnome.org/show_bug.cgi?id=739433

2014-10-30 17:30:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add border color

2014-10-30 16:57:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add support for src/dest regions
	  Add support for cropping the source and placing the converted image
	  into a rectangle in the destination frame.
	  Add an option to add a border and border color.

2014-06-10 09:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: update output segment stop time to match clipped samples
	  This will let oggmux generate a granpos on the last page that properly
	  represents the clipped samples at the end of the stream.

2014-06-05 14:50:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: push an updated segment stop time when we know it
	  When encoding, libvorbis will tell us how many samples are encoded
	  in the buffer it returns. This number may be less than the maximum
	  of samples in the block, if this is the last packet. In we have no
	  segment end time, we set it to the end time of that last sample to
	  tell downstream that the buffer contains less samples.

2014-06-05 14:54:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: set correct granpos on last page when samples are clipped
	  Samples may be clipped at the end, and this is conveyed by a
	  granulepos that's smaller than it would otherwise be. Use the
	  segment stop time to detect this, and calculate the right
	  granulepos.

2014-06-05 11:26:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: fix last buffer timestamp when samples are clipped
	  The end of a stream can be clipped by setting the granulepos of
	  the last page to a lower value that it otherwise would be.

2014-10-30 14:48:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: fix test

2014-10-03 12:42:46 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: error out on failure to copy
	  This should not really fail, but let's check return value
	  anyway as it guards against future changes.
	  Coverity 1135731

2014-10-03 12:28:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: add a const where appropriate

2014-10-03 12:08:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: remove unneeded test
	  We've already bailed out if we have less than 5 bytes.
	  Coverity 1226441

2014-10-30 11:33:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  Update libgstvideo.def for resampler -> video_resample renaming

2014-10-30 11:46:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add more ORC functions
	  Add the old ORC functions for nearest and linear. Label them as Low
	  quality because they are not as accurate but ORC lacks opcodes to
	  express this for now.

2014-10-30 11:43:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: rename resampler to video-resampler
	  Prefix the resampler with video-. It we would like to reuse the
	  resampler for audio later, we can copy/move it and deprecate this
	  one.

2014-10-29 17:38:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: remove color range argument
	  We just need to clip to the format limits, if there is extra headroom in
	  the range we can use that without problems.

2014-10-29 17:14:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstvideo.def:
	  defs: update defs

2014-10-29 16:20:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add ORC optimized versions
	  Add ORC optimized versions of 2 and 4tap vertical scaling. Provide
	  a high quality 12 bits and a low quality 6 bits version.

2014-10-29 16:13:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add precision to make_s16_taps

2014-10-29 13:19:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: copy config fields
	  When setting a new config, copy all the fields into our own config and
	  not only the ones we know about.

2014-10-29 13:17:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	  resampler: make offset/phase/n_taps uint32
	  Make various resizer fields uint32 so that we can use them in ORC
	  functions later.

2014-10-27 11:59:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't convert too much
	  Always convert the smallest width.

2014-10-27 10:13:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	* tests/check/libs/video.c:
	  resampler: make shift easier to use

2014-10-26 05:58:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	* gst-libs/gst/video/video-converter.c:
	  resampler: add parameters to cubic filter
	  Improve cubic filter and add parameters. Switch to mitchell filter
	  by default.

2014-10-24 16:51:37 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* tests/check/libs/video.c:
	  video-scaler: add extra options

2014-10-24 16:42:11 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: define some options

2014-10-24 16:23:53 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	  resampler: add some options

2014-10-24 15:42:31 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	  resampler: limit max number of taps
	  Don't use more taps than the input size.

2014-10-24 15:28:22 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add scaling support
	  Add scaling support for the video-converter object

2014-10-24 15:25:33 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video-scaler: add video scaler helper object
	  Add a video scaler object build on top of the resampler. It has
	  implementation to deal with interlaced video as well as horizontal and
	  vertical scaling functions.

2014-10-24 13:01:12 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	  video: add generic resampler
	  Add an object that can generate a set of resample filter coefficients.

2014-10-24 12:11:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the generic converter function
	  Use a LineCache object to track and process lines between unpack,
	  upsample, convert, downsample and pack stages. This simplifies the
	  main core processing function a lot and allows for future additions
	  easily.
	  Add support for interlaced formats in chroma up and downsampling.

2014-10-24 11:45:13 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst/videoconvert/gstvideoconvert.c:
	  video-convert: swap src and dest
	  It is more natural and consistent with other uses.

2014-10-24 11:35:31 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: fix typo

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

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

2014-10-23 14:41:13 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: segfault when xpos >= video size
	  When the xpos is given as greater than or equal to the video size,
	  we get a segfault, due to improper condition.
	  Hence adding proper conditions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984

2014-10-23 14:38:07 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: segfault when xpos >= video size
	  When the xpos is given as greater than or equal to the video size,
	  we get a segfault, due to improper condition.
	  Hence adding proper conditions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984

2014-10-26 21:31:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/app/.gitignore:
	  examples: add new appsink example to .gitignore

2014-10-26 11:04:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: fix the autoplugging of parser elements"
	  This reverts commit 2b0d3927410ae24e6b0fce100bd4ebbbe805a66f.
	  This breaks cases where an actual second parser is required after the parser,
	  e.g. to do timestamp corrections.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-26 11:04:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Fix locking"
	  This reverts commit aa94d5dc9aa6ef381da6b60a67f218117c662958.

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

	* tests/check/elements/playbin-complex.c:
	  tests: fix playbin-complex test on big endian

2014-10-24 13:04:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/struct_ppc32.h:
	  tests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32
	  Also see https://bugzilla.gnome.org/show_bug.cgi?id=695276

2014-10-24 12:26:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/adder.c:
	  tests: fix adder check on big-endian

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

	* android/rtsp.mk:
	* gst-libs/gst/rtsp/.gitignore:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsp-marshal.list:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	  rtsp: use generic marshaller

2014-10-23 11:22:35 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Make GstBaseTextOverlay::font-desc readable

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

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

2014-10-21 13:30:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix locking
	  The chain mutex needs to be locked when looking at chain->elements. Move code
	  around a bit to require only one lock() and unlock().

2014-10-21 12:58:41 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix the autoplugging of parser elements
	  If there are two parser elements available for the same media format,
	  then decodebin is autoplugging an extra capsfilter and parser irrespective
	  of caps and rank. So restrict the decodebin from autoplugging multiple parser
	  elements back to back in adjacent positions with in a single DecodeChain
	  for the same media format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

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

	* README:
	* common:
	  Automatic update of common submodule
	  From 6e75498 to a8c8939

2014-10-21 14:43:30 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: assertion error
	  timestamp_offset is being declared as an int64 variable,
	  for which the min
	  value of G_MININT64 is -9223372036854775808
	  Changing the minimum and maximum limit for the offset variable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738568

2014-10-13 00:03:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: optimize the code a bit by avoiding unnecessary string comparisons
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-13 00:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix typo in comment
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-01 15:04:09 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: call watch notify before freeing any watch resources
	  This gives control to the notify function allowing it to finish other
	  watch related functionality.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737752

2014-10-20 15:31:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Fix gst_app_sink_pull() docs to transfer full for the return value
	  Also we get a GstSample, not a GstBuffer here.

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: use gslice for typefine data
	  Also use our free function in the failure case.

2014-10-13 15:58:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix some leaks in error code path
	  Fixes test_encodebin_sink_pads_nopreset_static
	  running under valgrind.

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

	* Makefile.am:
	* common:
	  tests: parallelise 'make valgrind'
	  Use $(MAKE) instead of 'make' inside the Makefile,
	  otherwise the make will run as if -j1 had been
	  specified and complain about the job server not
	  being available, and with $(MAKE) in inherits the
	  parent make's settings it seems.
	  Upgrade common submodule for parallel check-valgrind.

2014-10-03 12:57:52 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: allow more channel_masks
	  Allow partial valid channel masks.
	  Set channel mask to 0 for non-valid channel masks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733405

2014-10-03 12:54:17 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/audio/audio-channels.c:
	  audio-channels: allow partially valid channel_mask
	  Since WAVEFORMATEXTENSIBLE allows to have more channels than
	  bits in the channel mask we should allow this, too, to avoid
	  loss of information.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733405

2014-10-13 22:24:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: should post DECODE errors and not ENCODE
	  Fix error code for audio decoder

2014-10-10 18:49:29 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  videoblend: Avoid assigning a negative value to a guint
	  There are some few but certain conditions where it is possible for the
	  dest_width to be smaller than x. So we check this before assigning a negative
	  value to src_width, which is a unsigned and would be promoted to a number that
	  can segfault videoblend.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738242

2014-10-10 10:05:19 +0530  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix segfault when overlay outside the frame
	  When the textoverlay is set outside the video frame by deltax or deltay the
	  calculation segfaults, but it is also  unnecessary since it doesn't need to be
	  displayed. So we should clip the text.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738242

2014-10-10 17:32:41 -0400  Olivier Crête <olivier.crete@ocrete.ca>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: Rename clock-base/seqnum-base to timestamp-offset/seqnum-offset
	  To match how they were renamed elsewhere.

2014-10-10 12:14:17 +0300  Heinrich Fink <hfink@toolsonair.com>

	* gst/playback/gstplaysink.c:
	  playsink: Use correct property enum value for video-filter property installation

2014-10-08 16:50:52 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: remove FIXME about NV21 support
	  NV21 is already supported so removing FIXME about adding support for it.

2014-10-08 11:26:24 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add gradient pattern
	  Makes a gradient between background and foreground color.

2014-10-06 15:17:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: improve 4x downsampling coefficients

2014-10-06 22:13:00 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst/audioresample/gstaudioresample.h:
	  audioresample: remove unused variables
	  https://bugzilla.gnome.org/show_bug.cgi?id=738026

2014-10-07 05:50:56 +0900  Danny Song <danny.song.ga@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Remove leftover #define from 0.10
	  https://bugzilla.gnome.org/show_bug.cgi?id=738018

2014-10-07 12:10:42 +0400  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only emit the drain signal for the main decode chain, not any subchains
	  https://bugzilla.gnome.org/show_bug.cgi?id=738064

2014-10-06 10:15:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Free factories array when delaying autoplugging due to non-final caps

2014-10-06 10:11:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  videoconverter: Free the converter config in free()

2014-10-02 21:20:48 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst/playback/gstdecodebin2.c:
	  decodebin: unref decode pad after usage
	  https://bugzilla.gnome.org/show_bug.cgi?id=737757

2014-10-04 23:09:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Stop storing if we received EOS
	  This was never reset when going from PAUSED->READY and resulted
	  in encoders being not reusable after EOS. They just rejected any
	  buffer because they received EOS in their previous life.
	  The flag wasn't used anywhere except for rejecting buffers after
	  EOS, and this is now handled by GstPad directly.

2014-10-02 00:14:03 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* ext/vorbis/gstvorbisdeclib.c:
	  vorbisdec: don't reorder streams with channels count greater than eight
	  vorbis_reorder_map is defined for eight channels max. If we have more
	  than eight channels, it's the application which shall define the order.
	  Since we set audio position to none, we just interleave all the channels
	  without any particular reordering.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737742

2014-03-04 16:51:11 +0200  Andres Gomez <agomez@igalia.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Removed setting "iradio-mode" property in the source element
	  The "iradio-mode" property used to have a default FALSE value in HTTP
	  source elements but now it should default to TRUE or just do not exist
	  as a property so it is not really needed to set it any more in
	  uridecodebin.
	  Apart from that this code could've never worked as uridecodebin looks for a
	  string-typed iradio-mode property, but it's a boolean in all sources.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725383

2014-10-02 02:46:58 +1000  Jan Schmidt <jan@centricular.com>

	* docs/design/part-stereo-multiview-video.markdown:
	  design: Add a proposal for handling stereoscopic 3D and multiview

2014-10-01 11:16:30 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: release frame in finish_frame when no output state is configured
	  Otherwise, frame is leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737706

2014-09-25 17:32:32 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add orc optimized matrix8 function
	  Add an ORC implementation of the matrix8 function.
	  Regenerate video-orc-dist.[ch]

2014-09-29 19:45:22 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audio: Fix up a comment in GstAudioBaseSink
	  Rewrote the comment to not be PulseAudio-specific.

2014-09-27 20:05:38 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/video/Makefile.am:
	  video: Make sure to link against libm

2014-09-27 15:58:51 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	  xvimagesink: get rid of unnecessary private struct for pool

2014-09-27 15:53:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	  ximagesink: get rid of unnecessary private struct for pool
	  This is not exposed as API after all.

2014-09-24 20:38:31 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: Trivial comment for unhandled MPEG-2 payloading case
	  The spec mentions a version of the MPEG-2 frame with a base frame and
	  extension frame. I don't have IEC 13818-3 to figure out what that is,
	  and don't see any references in search results, so it's a FIXME for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-24 20:11:49 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: Fixes for MPEG-2 LSF IEC61937 payloading
	  The low sample frequency case for MPEG-2 is <=12kHz (the 32kHz number
	  applies to MPEG-1).
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-17 17:40:04 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: correct condition for MPEG case.
	  Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-26 18:14:11 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video: improve YUV -> RGB conversion
	  Reorganize orc instructions to free up some registers.
	  We can reuse the ORC code to implement the generic AYUV->ARGB matrix.

2014-09-26 16:35:51 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrcorc.orc:
	  videotestsrc: storel is better then copyl
	  It is better to use storel to splat the variable into the destination.
	  ORC doesn't know when a variable is last written to so it can't yet optimize
	  away the copy operation.

2014-09-26 15:00:12 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/vs_lanczos.c:
	  videoscale: avoid recalculating values
	  Avoid recalculating values used multiple times as base of index. Plus some style
	  fixes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737400

2014-09-26 09:14:51 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	  videoscale: support lanczos method for NV formats
	  Support lanczos scaling method for NV12 and NV21 formats.
	  Scale the 'Y' plane and scale 'NV' plane.
	  Implementation for submethods - int16, int32, float and double
	  https://bugzilla.gnome.org/show_bug.cgi?id=737400

2014-09-25 15:19:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup files

2014-09-24 16:19:30 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* win32/common/libgstvideo.def:
	  video: convertor -> converter

2014-09-24 15:49:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-convertor.c:
	* gst-libs/gst/video/video-convertor.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/Makefile.am:
	* gst/videoconvert/gstcms.c:
	* gst/videoconvert/gstcms.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.h:
	* tests/check/Makefile.am:
	* win32/common/libgstvideo.def:
	  video: move videoconvert code to video library
	  Move the conversion code used in videoconvert to the video library
	  and expose a simple but generic API to do arbitrary conversion. It can
	  currently do colorspace conversion but the plan is to add videoscale to
	  it as well.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732415

2014-09-24 11:04:15 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst/videoconvert/videoconvert.c:
	* win32/common/libgstvideo.def:
	  video-color: add gst_video_color_matrix_get_Kr_Kb()
	  Move the function to get the color matrix coefficients from
	  videoconvert to the video library.

2014-09-23 14:14:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: compensate for segment restart with clock's time_offset
	  When playing chained data the audio ringbuffer is released and
	  then acquired again. This makes it reset the segbase/segdone
	  variables, but the next sample will be scheduled to play in
	  the next position (right after the sample from the previous media)
	  and, as the segdone is at 0, the audiosink will wait the duration
	  of this previous media before it can write and play the new data.
	  What happens is this:
	  pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0
	  it will have to wait the length of 698 samples before being able to write.
	  In a regular sample playback it looks like:
	  pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0
	  In this case it will write to the next available position and it
	  doesn't need to wait or fill with silence.
	  This solution is borrowed from pulsesink that resets the clock to
	  start again from 0, which makes it reset the time_offset to the time
	  of the last played sample. This is used to correct the place of
	  writing in the ringbuffer to the new start (0 again)
	  https://bugzilla.gnome.org/show_bug.cgi?id=737055

2014-09-21 13:16:43 +0200  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: add missing annotation for gst_video_buffer_pool_new()
	  https://bugzilla.gnome.org/show_bug.cgi?id=737072

2014-09-23 23:12:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoscale/vs_4tap.c:
	  videoscale Use stride instead of width in more places

2014-09-19 12:31:49 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Use width instead of stride in buffer offset calculation
	  https://bugzilla.gnome.org/show_bug.cgi?id=736944

2014-09-23 11:56:33 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: reshuffle code in error handling
	  Move the assert to the error handling block at the end of the function so the
	  the logging is still triggered. Reword the logging slightly and add another
	  comment to hint what went wrong.
	  Fixes #737138

2014-09-22 20:15:13 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: log the timestamps if we are unhappy about them
	  When complaining about the DTS!=PTS on keyframes log the actualy timestamps.

2014-09-22 10:42:47 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	  tests: add orc test for videoconvert

2014-09-22 10:40:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Fix format string compiler warning
	  gst-play.c:92:28: error: format string is not a string literal
	  [-Werror,-Wformat-nonliteral]
	  len = g_vasprintf (&str, format, args);
	  ^~~~~~

2014-09-19 14:58:20 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/examples/overlay/gtk-videooverlay.c:
	  example/overlay: Specify minimum gdk version
	  Avoids deprecation warnings (such as for gtk_widget_set_double_buffered()
	  which became deprecated from 3.14)

2014-09-19 18:29:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: add --quiet option to suppress output

2014-09-05 13:49:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Do not fail the negotiation if query fails
	  The allocation query failure doesn't mean that the negotiation
	  has failed as the element can allocate buffers itself.
	  Instead, only fail if the pads are flushing and the allocation
	  query failed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735844

2014-09-18 15:45:43 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Added NV support for 4Tap resize
	  https://bugzilla.gnome.org/show_bug.cgi?id=736845

2014-09-18 12:29:37 +0400  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't leak input-selector sinkpads
	  https://bugzilla.gnome.org/show_bug.cgi?id=736861

2014-09-18 12:39:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Simplify code a bit

2014-09-17 14:34:25 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:18:49 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:11:21 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:08:17 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 12:17:27 +0200  Ognyan Tonchev <ognyan@axis.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder: extend flush_events test to check for event leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=736788

2014-09-17 12:17:53 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't leak events
	  https://bugzilla.gnome.org/show_bug.cgi?id=736788

2014-09-16 13:32:52 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: do not leak uid after parsing TOC select event
	  https://bugzilla.gnome.org/show_bug.cgi?id=736739

2014-09-17 10:51:59 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: correct the condition for irap flag
	  https://bugzilla.gnome.org/show_bug.cgi?id=736779

2014-09-16 21:42:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Add audio/videoconvert in front of the audio/video-filters
	  audioresample and videoscale is something the application will have to do if
	  required, but we can at least help here by adding the
	  audioconvert/videoconvert elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735748

2014-09-16 01:07:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Don't ref buffers twice when mapping

2014-09-16 00:41:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  app: Add FIXME comment for making the instance/class structs private

2014-09-15 21:51:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.h:
	  appsrc: fix recent ABI breakage caused by GstAppSrc structure size increase
	  Also fixes 'make check'.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728379

2014-09-15 16:23:57 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not leak pool and allocator in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=736679

2014-09-12 14:41:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-12 14:39:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-frame.h:
	  video-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
	  This makes sure that the buffer is not reffed another time when
	  storing it in the GstVideoFrame, keeping it writable if it was
	  writable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-12 14:27:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Unref buffers before calling the transform_frame functions
	  GstVideoFrame has another reference, so the buffer looks unwriteable,
	  meaning that we can't attach any metas or anything to it
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-05 09:54:10 -0700  Garg <aksg86@gmail.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Fix deadlock caused by holding object lock while calling clock functions
	  Issue:
	  During a PAUSED->PLAYING transition when we are rendering an audio buffer in AudioBaseSink
	  we make adjustments to the sink's provided clock i.e. fix clock calibration using the external
	  pipeline clock, within "gst_audio_base_sink_sync_latency function inside gstaudiobasesink.c".
	  For the calibration adjustment we need to get the sink clock time using "gst_audio_clock_get_time".
	  But before calling "gst_audio_clock_get_time" we acquire the Object Lock on the Sink. If sink is
	  a pulsesink, "gst_audio_clock_get_time" internally calls "gst_pulsesink_get_time" which needs to
	  acquire Pulse Audio Main Loop Lock before querying Pulse Audio for its stream time using
	  "pa_stream_get_time". Please see "gst_pulsesink_get_time in pulsesink.c".
	  So the situation here is we have acquired the Object lock on Sink and need PA Main Loop Lock.
	  Now Pulse Audio Main Thread itself might be in the process of posting a stream status
	  message after Paused to Playing transition which in turn acquires the PA Main loop lock and
	  needs the Object Lock on Pulse Sink. This causes a deadlock with the earlier render thread.
	  Fix:
	  Do not acquire the object Lock on Sink before querying the time on PulseSink clock. This is
	  similar to the way we have used get_time at other places in the code. Acquire it after the
	  get_time call. This way PA Main loop will be able to post its stream status message by
	  acquiring the Sink Object lock and will eventually release its Main Loop lock needed for
	  gst_pulsesink_get_time to continue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736071

2014-09-04 11:56:50 +0200  Nicola Murino <nicola.murino@gmail.com>

	* tests/examples/app/Makefile.am:
	* tests/examples/app/appsink-src2.c:
	  appsrc: Add example that shows gst_app_src_push_sample() usage

2014-09-05 11:14:51 +0200  Nicola Murino <nicola.murino@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  appsrc: Add push_sample() convenience function for easy appsink -> appsrc use
	  https://bugzilla.gnome.org/show_bug.cgi?id=728379

2014-09-11 22:19:05 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvcontext.h:
	  xvimagesink: only try to set XV_ITURBT_709 port attribute if it exists
	  Don't try to set port attribute that's not advertised by the
	  adaptor. Fixes videotestsrc ! xvimagesink aborting with
	  X Error of failed request:  BadMatch (invalid parameter attributes)
	  Major opcode of failed request:  151 (XVideo)
	  Minor opcode of failed request:  13 ()
	  on intel HD4600 graphics with kernel 3.16, xserver 1.15,
	  intel driver 2.21.15.

2014-09-11 16:58:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: protect buffering message handling
	  Use the object lock to avoid concurrent processing which leads
	  to small disasters (assertions or crashes)

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

	* ext/opus/gstopusdec.c:
	  Fix up one-element lists in template caps

2014-09-09 11:37:26 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: ignore timeout in session request header
	  The timeout parameter is only allowed in a session response header
	  but some clients, like Honeywell VMS applications, send it as part
	  of the session request header. Ignore everything from the semicolon
	  to the end of the line when parsing session id.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736267

2014-03-28 13:02:54 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin: filter out buffering messages when switching uri
	  When switching URI from about-to-finish, playbin starts decoding the new
	  URI and the queue2 inside uridecodebin starts emitting buffering messages
	  immediately. However, the queue(s) inside playsink still have buffers to
	  play and the pipeline doesn't need to pause for buffering, so we should
	  not send those buffering messages up to the application, otherwise there
	  is an audible glitch caused by pausing the pipeline for a very short time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727255

2014-07-08 12:37:41 -0400  Kipp Cannon <kipp.cannon@ligo.org>

	* gst/audioresample/resample.c:
	  audioresample: don't skip input samples
	  when downsampling, the output buffer can be filled before all the input
	  samples are consumed.  this is correct:  when downsampling, several input
	  samples are needed for each output sample, so when only a small number of
	  input samples are available the number of output samples produced can be 0.
	  the resampler, however, was discarding those extra input samples instead of
	  clocking them into its filter history for the next iteration.  this patch
	  fixes this by removing the check that the output buffer is full.  the code
	  now always loops until all input samples are consumed, and relies on the
	  calling code to have provided a suitably sized location for the output.
	  note that there are already other checks in place in the calling code to
	  ensure that this is the case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732908

2013-01-31 13:49:00 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: get framerate from previously parsed video info

2013-01-31 13:47:35 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: do not ask for a bufferpool when checking for composition meta

2014-09-04 15:06:31 +0200  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: schedule reconfigure on source pad when negotiation fails
	  The source pad might be flushing while negotiating, resulting in
	  set_caps or the ALLOCATION query failing. In this case set the
	  reconfigure flag on the source pad so that negotiation is retried on the
	  next buffer.

2013-01-31 15:38:18 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: just forward the seek event to sink pads like other events
	  https://bugzilla.gnome.org/show_bug.cgi?id=735844

2014-09-04 12:13:45 +0200  Nicola Murino <nicola.murino@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: remove unneeded cairo transparence setting
	  he code here:
	  http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1554
	  should make transparent the box that contains the text, I think this code is
	  not correct, it should be:
	  if (overlay->want_shading) {
	  double alpha = overlay->shading_value / 255.0;
	  cairo_paint_with_alpha (cr, alpha);
	  }
	  however I think this code could be removed, we already do a shaded background,
	  why shade the box behind the text with cairo too? only one shading is needed so
	  we must shade with cairo or with methods like these:
	  http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1642
	  not both
	  https://bugzilla.gnome.org/show_bug.cgi?id=736028

2014-09-02 13:10:34 +0200  Nicola Murino <nicola.murino@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Make shading_value a property
	  https://bugzilla.gnome.org/show_bug.cgi?id=735879

2014-09-03 15:23:26 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: GstStructure refcount critical message
	  s3 is not being initialized when run in a loop
	  and the same was being freed, which resulted in the crash
	  https://bugzilla.gnome.org/show_bug.cgi?id=735952

2014-09-02 15:37:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also include the raw caps in the error message, not just the human readable description

2014-09-02 12:59:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Include codec description for missing plugins in the error message
	  If we had plugins and an error occurred we only include the error message
	  caused by this, otherwise we will include the codec description as generated
	  from the caps.
	  This allows to detect which exact codec was missing instead of getting a
	  generic "no suitable decoders found" error message.

2014-09-01 15:23:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/elements/textoverlay.c:
	  tests: textoverlay: add test to reproduce fakesink scenario
	  Adds a new test to textoverlay to make sure it can properly handle
	  elements that have ANY caps but fail to add the overlay meta in
	  the allocation query.
	  This test verifies that textoverlay won't use the caps features even
	  knowing that the overlay meta is accepted when querying the downstream
	  caps because it also needs downstream to confirm by putting the meta
	  in the allocation query.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735800

2014-09-01 12:38:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: properly fallback to non-overlay caps
	  When downstream claims to accept the overlay meta but fails to
	  provide it in the allocation query, properly fallback to setting
	  a new caps without the overlay meta as that is not going to be used.
	  Only do this if the original caps doesn't have the overlay already,
	  otherwise there isn't much that can be done.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735800

2014-09-01 15:06:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't set segment.base in pad_submit_packet()
	  Setting segment.base in the segment sent from gst_ogg_demux_handle_page() is
	  enough to ensure that chained oggs are played corretly (see bgo#706569).
	  Tweaking the base in gst_ogg_pad_submit_packet() as well result in delays when
	  playing a file with start != -1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735808

2014-09-01 12:28:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Don't hold any mutexes while calling negotiate
	  It's not done in any other code calling negotiate and will cause deadlocks
	  as it is sending events and queries in the pipeline.
	  Specifically this pipeline was deadlocking:
	  gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink

2014-08-29 14:00:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: accumulate base time
	  Base time should be accumulated so non flushing seeks have the expected base.
	  Not accumulating result in segments appearing as "too late" and so are not
	  played by the sink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735509

2014-08-29 19:15:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: remove code that can't be reached
	  If this code could ever be reached, it would leak
	  memory (CID 1231978), but gst_caps_get_features()
	  never returns NULL, so that can't happen.

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

	* gst/encoding/gstencodebin.c:
	  encoding: remove assignment that's no longer needed
	  CID 1231980

2014-07-23 21:25:24 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	  riff: Recognize RF64 as RIFF file
	  https://bugzilla.gnome.org/show_bug.cgi?id=735631

2014-08-27 13:45:57 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Protect readsrc, writesrc and controllsrc with a mutex
	  Fixes a crash when controlsrc, readsrc or writesrc are modified from
	  gst_rtsp_source_dispatch_read/write and gst_rtsp_watch_reset at the
	  same time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735569

2014-08-28 17:13:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: setcaps() always returns TRUE and the return value is unused
	  Change it to a void return value. The caps are forwarded afterwards via
	  gst_pad_event_default() and not inside this function.
	  CID 1226477

2014-08-28 17:06:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix broken boolean expression
	  We can seek with end_type==NONE and end_type==SET && end_position=-1. The
	  check for end_type!=NONE made the second condition impossible.
	  CID 1226440

2014-08-28 17:00:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix broken boolean expression
	  We can seek with end_type==NONE and end_type==SET && end_position=-1. The
	  check for end_type!=NONE made the second condition impossible.
	  CID 1226439

2014-08-25 20:59:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Include information from the error messages of tried but failed elements in the missing plugin errors

2014-08-25 16:22:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Initialize local variables for every retry

2014-08-25 15:15:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove error case that resulted in two error messages
	  We already send one in gst_decode_bin_expose() for this case. Only
	  if we're unable to typefind the caps another error message is needed.

2014-08-24 22:36:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: tighten checks for 'freeform mp3' a little
	  Freeform mp3s typically have bitrates higher than the
	  otherwise max allowed rate. Prevents misdetection of
	  some truetype font files as mp3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732923

2014-08-25 13:14:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't ignore ::start/stop return values

2014-08-18 13:04:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-plugins-base.spec.in:
	  spec: add gst-device-monitor-1.0 to RPM .spec file
	  https://bugzilla.gnome.org/show_bug.cgi?id=734944

2014-08-14 16:57:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: only intersect with the filter at the end
	  Otherwise we might change some capsfeatures from ANY to the specific
	  value from the filter and do not filter those out in case the
	  sink doesn't support them
	  https://bugzilla.gnome.org/show_bug.cgi?id=734822

2014-08-15 13:31:53 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Set 'processing = FALSE' when done discovering SYNC
	  This avoids a race where we would get new tag but we are already
	  prerolled and analyzing results.
	  It is the way it is supposed to be handled as stated in comment:
	  "If preroll is complete, drop these tags - the collected information is
	  possibly already being processed and adding more tags would be racy"

2014-08-14 17:21:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* win32/common/libgstvideo.def:
	  gstvideo: add missing entry to win32 .def
	  gst_video_guess_framerate

2014-08-14 23:53:16 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add gst_video_guess_framerate() function
	  Takes a nominal frame duration and returns a standard
	  FPS if it matches closely enough (< 0.1%), or else
	  calculates a framerate that'll do.

2014-08-15 01:04:45 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	  video: Various simple docs fixes

2014-08-08 20:01:20 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Reset last_timestamp_out on new segment
	  Reset last_timestamp_out when applying the output segment
	  change, to avoid decoder confusion over new timestamp timelines when
	  a seamless segment change happens.
	  Move some locks/unlocks to later when they're actually needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734617

2014-07-14 12:29:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: handle group switching for deadend group
	  Gracefully handle switching groups that all pads are deadend.
	  This can happen when quickly switching programs on mpegts as the
	  output is unaligned it can happen that not enough data was accumulated at
	  parsers to generate any buffers, causing the stream to receive EOS before
	  any data can be decoded.
	  To handle this scenario, the _expose function now also gets if there is
	  any next group to be exposed along with the list of endpads. If there are
	  no endpads and there is another group to expose it will switch to this next
	  group and then retry exposing the streams.
	  Also, the requirement to only switch from the chain that has the endpad had
	  to be modified to care for when the drainpad is NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=733169

2014-07-11 18:51:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: consider all deadend pads as drained
	  Otherwise when switching out a group with a deadend pad it will block
	  as it would be waiting for EOS on a deadend that already got one
	  https://bugzilla.gnome.org/show_bug.cgi?id=733169

2014-08-12 13:41:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix caps negotiation filter

2014-08-13 14:28:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Make sure to intersect raw caps with our converter caps
	  Otherwise we end up allowing video/x-raw with arbitrary caps features that are
	  not handled by our converters.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734683

2014-08-12 23:18:57 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't drain and flush on SEGMENT events.
	  As was done for the base video decoder in commit 695675, don't
	  flush out the decoder on a new SEGMENT event. Segment events
	  may be a new segment, but are also often segment updates for
	  the current segment where the old data should be kept. For new
	  segments, a STREAM_START event will already trigger a drain, but
	  make sure to flush any remaining partial data then as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734666

2014-08-11 10:15:14 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add NV21 support
	  https://bugzilla.gnome.org/show_bug.cgi?id=734650

2014-08-11 18:21:26 +0200  Matthieu Crapet <mcrapet@gmail.com>

	* tests/icles/playback/decodetest.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test5.c:
	  tests: fix decodebin signal used in icles/playback/ decodetest, test and test5
	  Since release 1.1.4, "new-decoded-pad" no longer exists.

2014-08-08 12:46:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	* tests/check/elements/textoverlay.c:
	  basetextoverlay: rework caps negotiation
	  Make textoverlay negotiate caps more correctly.
	  1) Check what caps we received in the video-sink
	  2) If it already has the overlay meta -> use it directly
	  3) If it doesn't, textoverlay try adding the overlay meta and using it,
	  if downstream doesn't support it, just use what is received in the
	  video-sink
	  4) Check if the allocation query also supports the meta to enable
	  really using it
	  Before it wasn't really doing renegotiation of any kind, just
	  re-checking if it should use the overlay meta or not
	  Also had to update the caps in the test as memory:SystemMemory seems
	  to be required when you use a caps feature otherwise intersection/subset
	  checks will fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733916

2014-08-07 17:35:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: always intersect with the filter caps
	  Avoids returning values that upstream can't produce
	  https://bugzilla.gnome.org/show_bug.cgi?id=733916

2014-07-30 16:59:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebin: delay missing encoder error as passthrough is still possible
	  Set up a fakesink with a pad probe to replace the missing encoder to detect
	  if encoding was really required and only error out in this case. Otherwise
	  just let passthrough branch work.
	  This delays the error posting from the set_state function to when buffers
	  are really flowing. Unit test updated accordingly
	  https://bugzilla.gnome.org/show_bug.cgi?id=650652

2014-08-08 14:08:19 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Unref pad template caps after usage
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517

2014-08-11 10:57:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove buffering special casing for adaptive streaming demuxers
	  They output smaller buffers now and we should be able to handle the buffering
	  limits like in every other situation now.

2014-08-07 10:44:03 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't set decoding timestamps on raw video
	  https://bugzilla.gnome.org/show_bug.cgi?id=733720

2014-08-07 18:10:41 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: In reverse playback, flush the output queue after decoding each keyframe chain
	  This fixes the reverse playback scenario when upstream is not fully
	  parsing the stream and does not send every keyframe chain separately
	  with the DISCONT flag on the keyframe.
	  To explain this, let's suppose we have this stream:
	  0 1 2 3 4 5 6 7 8
	  K     K     K
	  In most circumstances, the upstream parser will chain in the
	  decoder the buffers in the following order:
	  6 7 8 3 4 5 0 1 2
	  D     D     D
	  In this case, GstVideoDecoder will flush the parse queue every time
	  it receives discont (D) and we will eventually get in the output queue:
	  (flush here) 8 7 6  (flush here) 5 4 3 (flush here) 2 1 0
	  In case the upstream parser doesn't do this work, though,
	  GstVideoDecoder will receive the whole stream at once and will flush
	  the parse queue afterwards:
	  0 1 2 3 4 5 6 7 8
	  D
	  During the flush, it will look backwards for keyframes and will
	  decode in this order:
	  6 7 8 3 4 5 0 1 2
	  This is the same order that it would receive from upstream if
	  upstream was parsing and looking for the keyframes, only that now
	  there is no flushing of the output queue in between keyframes,
	  which will result in the output queue looking like this:
	  2 1 0 6 5 3 8 7 6
	  This will confuse downstream obviously and will play incorrectly.
	  This patch forces the decoder to flush the output queue every time
	  it picks a new keyframe to decode, so it will end up decoding 6 7 8
	  and then flushing before picking 3 for decoding, so the output will
	  get 8 7 6 before 6 5 3 and the video will play back correctly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734441

2014-08-10 17:30:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: use pkg-config to detect x11 and xv libs
	  AC_PATH_XTRA macro unnecessarily pulls in libSM and libICE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731047

2014-08-10 17:27:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimage: fix crash when outputting debug log
	  Can't print a GstMemory via GST_PTR_FORMAT, it will crash
	  inside GObject checking if it's a GObject, and we can't
	  check generically whether it's a derived GstMemory type,
	  as boxed types don't allowe derivation.

2014-08-09 14:24:59 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/opus/gstopusheader.c:
	  opus: Improve annotation of internal function
	  https://bugzilla.gnome.org/show_bug.cgi?id=734543

2014-08-09 14:14:48 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Mark caps argument as not being transferred
	  https://bugzilla.gnome.org/show_bug.cgi?id=734540

2014-08-09 14:20:32 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Improve annotation of internal function
	  https://bugzilla.gnome.org/show_bug.cgi?id=734541

2014-08-06 13:41:46 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/check/elements/appsrc.c:
	* tests/examples/app/appsink-src.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/audio/volume.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/stress-videooverlay.c:
	* tests/icles/test-textoverlay.c:
	  tests: Add missing unrefs of objects after use
	  Unreffing the objects returned by gst_bin_get_by_name() and
	  gst_pipeline_get_use() were missing in several tests, so add these.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734359

2014-08-06 13:22:56 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Unref peer pad after use in error case
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734350

2014-08-06 10:07:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Some minor fixes and cleanup

2014-08-06 09:59:32 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Make caps set action queued together with buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=729760

2014-08-01 15:00:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Keep a reference to the playsink sinkpads
	  Otherwise playsink might get shut down without us noticing
	  that our pad references are gone now.
	  Probably fixes https://bugzilla.gnome.org/show_bug.cgi?id=733165

2014-07-30 20:53:53 +0300  Mohammed Sameer <msameer@foolab.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: don't unset DISCONT flag
	  Unsetting DISCONT flag means we need to copy the buffer. This copy operation
	  mandates that all GstMemory should be copy-able which is not always the case
	  https://bugzilla.gnome.org/show_bug.cgi?id=727409

2014-07-31 18:40:59 +0200  Edward Hervey <edward@collabora.com>

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

2014-07-31 16:09:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  check: Fix include path of rtp checks
	  Fixes make distcheck

2014-07-30 15:23:39 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: discoverer: Always set the pipeline back to NULL after an error
	  Otherwize the pipeline would be in an wrong state and on the next
	  iteration any kind of error could happen
	  Everytime an error happens in a pipeline the application has to set the
	  pipeline back to NULL instead of READY.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733976

2014-07-29 14:20:42 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: add missing 'time' word to debug message
	  It prints the buffers, bytes and time limits, but 'time' was missing
	  from the string.

2014-07-28 16:56:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Pass through NO_PREROLL state change returns
	  Fixes playback of live pipelines.

2014-07-28 16:55:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Pass through NO_PREROLL state change returns
	  Fixes playback of live pipelines.

2014-07-26 14:52:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: fix 'attempt to unlock mutex that was not locked' in error code path
	  Fixes playbin unit test with latest GLib.

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Don't delay set_format
	  This prevent implementing allocation query, as the format need to be
	  known in order to determin the size and number of buffers needed.
	  Note: This may lead to few regressions that will need fixing
	  https://bugzilla.gnome.org/show_bug.cgi?id=732288

2014-07-23 19:51:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't unref caps for which we don't own a reference... get one first
	  https://bugzilla.gnome.org/show_bug.cgi?id=733615

2014-07-23 12:36:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Go asynchronously from READY to PAUSED
	  We now add all our elements to uridecodebin *after*
	  GstBin::change_state(READY->PAUSED), so we need to post async-start
	  and async-done messages ourselves if we want to work async.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733495

2014-07-23 12:27:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Go asynchronously from READY to PAUSED
	  We now add all our elements to uridecodebin *after*
	  GstBin::change_state(READY->PAUSED), so we need to post async-start
	  and async-done messages ourselves if we want to work async.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733495

2014-07-21 15:54:05 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: Pretty-print topology tags
	  Call the code used in properties for topology tags too.
	  Side-effect achieved: more tags printed, buffers (e.g. images) shortened.

2014-07-21 13:53:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-discoverer.c:
	  discoverer: Fix code style a bit
	  if (...)
	  one_line;
	  else if (...) {
	  many_lines;
	  } else
	  one_line;
	  looks a bit confusing.

2014-07-21 13:48:31 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: prettier image tag printing
	  Rather than dumping the serialized sample value, the code now
	  prints the number of bytes in the buffer, then the caps in a
	  human-readable format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733482

2014-07-10 12:39:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Handle CAPS events immediately instead of delaying them
	  https://bugzilla.gnome.org/show_bug.cgi?id=733147

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle CAPS events immediately instead of delaying them
	  https://bugzilla.gnome.org/show_bug.cgi?id=733147

2014-07-15 17:34:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/playbin.c:
	  playbin: Fix unit test for last change
	  It will successfully asynchronously go to PAUSED now and
	  later fail.

2014-07-15 17:23:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Create new sources after chaining up to the parent class
	  Otherwise we start the new sources already before the parent class
	  got ready to start.

2014-07-15 17:20:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Create new sources after chaining up to the parent class
	  Otherwise we start the new sources already before the parent class
	  got ready to start.

2014-07-10 16:26:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/playbin-complex.c:
	  playbin-complex: Change template name from %d to the more common %u

2014-07-10 16:24:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Link Parser/Converter directly and already connect to pad-added and other signals before setting elements to PAUSED
	  otherwise we're going to
	  a) start Parser/Converter before they are linked to their capsfilter,
	  breaking their negotiation of a proper stream format
	  b) start demuxers without having connected to their pad-added signals. We
	  miss pads and in the worst case don't link any pads at all

2014-07-10 12:51:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send sticky events to the new element after setting it to PAUSED
	  ... and if this fails for whatever reason we skip the element and instead
	  try with the next element. This allows us to handle elements that fail
	  when setting caps on them by just skipping to the next alternative element.

2014-07-10 12:50:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only link elements further after setting them to PAUSED
	  They might fail to go to PAUSED, and when connecting them further
	  we might already expose their srcpads on decodebin if we're unlucky.
	  This prevents us to handle failures going to PAUSED gracefully.

2014-07-10 12:22:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove ERROR message filter after we set the element to PAUSED
	  This allows us to catch more errors gracefully and switch to an alternative
	  element instead.

2014-07-10 12:17:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only continue autoplugging once the pad has final caps
	  If the caps query returned us fixed caps this doesn't mean yet
	  that these caps are actually complete (fields might be missing).
	  It allows to do us some decisions, but the selection of the next
	  element should be delayed as only complete caps allow proper selection
	  of the next element.

2014-07-10 12:03:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Consider the caps after the capsfilter after parsers for autoplugging
	  Otherwise we might try to continue autoplugging e.g. for a specific
	  stream-format although the parser could convert to something else, thus giving
	  us potentially less options for decoders.

2014-07-21 00:17:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: fix missing plugin description for missing elements
	  CID: 1226445

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

	* configure.ac:
	  Back to development

=== release 1.4.0 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.4.0

2014-07-19 16:27:43 +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/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-18 21:19:03 -0400  Youness Alaoui <kakaroto@kakaroto.homelinux.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Fix memory leak with callback notify not being called in dispose
	  https://bugzilla.gnome.org/show_bug.cgi?id=733386

2014-07-19 12:29: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/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

2014-07-18 16:01:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Add example for using encoder presets with profiles
	  https://bugzilla.gnome.org/show_bug.cgi?id=733349

2014-07-18 15:46:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix typos and old API in docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=733349

2014-07-17 14:36:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix property description string
	  Spotted by Josep Torra.

2014-07-15 16:56:30 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES
	  https://bugzilla.gnome.org/show_bug.cgi?id=733207

2014-07-12 10:33:30 +0530  Arun Raghavan <arun@accosted.net>

	* gst/playback/gstplaysink.c:
	  playsink: Fix filter property getter
	  The switch-case set was incomplete.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733012

=== release 1.3.91 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.3.91

2014-07-11 11:21:05 +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/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 10:13:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* configure.ac:
	* ext/libvisual/plugin.c:
	* ext/libvisual/visual.c:
	  libvisual: Remove < 0.4 support
	  And remove the version guards that went along with it
	  https://bugzilla.gnome.org/show_bug.cgi?id=733046

2014-07-10 18:17:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Ensure _get_fd() works even for shared memory
	  Fixes regression introduced by:
	  commit b60888fd4bcacd42bb4e27fa938272d6e72c5c32
	  Author: Michael Olbrich <m.olbrich@pengutronix.de>
	  Date:   Tue May 20 11:18:56 2014 +0200
	  dmabuf: share the mapping with shared copies of the memory
	  https://bugzilla.gnome.org/show_bug.cgi?id=730441

2014-07-10 15:52:46 +0100  Philip Withnall <philip.withnall@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: Fix a double-unref in the Opus header code
	  The headers were never getting reffed when being added to the headers
	  list, which is later unreffed-and-freed by the caller (e.g.
	  gst_opus_parse_parse_frame()).
	  https://bugzilla.gnome.org/show_bug.cgi?id=733013

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

	* po/vi.po:
	  po: Update translations

2014-07-03 13:46:08 -0700  Evan Nemerson <evan@nemerson.com>

	* gst-libs/gst/sdp/sdp.h:
	  sdp: add gstmikey.h to sdp.h
	  https://bugzilla.gnome.org/show_bug.cgi?id=732709

2014-07-03 18:32:02 +0200  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/riff/riff-read.c:
	  riff: 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=732697

2014-06-20 18:02:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: parse any source data that is still available.
	  Fix gst_video_decoder_parse_available() to really parse any pending
	  source data that is still available in the adapter. This is a memory
	  optimization to avoid expansion of video packed added to the adapter,
	  but also a fix to EOS condition when the subclass parse() function
	  ultimately only needed to call into gvd_have_frame() and no additional
	  source bytes were consumed, i.e. gvd_add_to_frame() is not called.
	  This situation can occur when decoding H.264 streams in byte-stream/nal
	  mode for instance. A decoder always requires the next NAL unit to be
	  parsed so that to determine picture boundaries. When a new picture is
	  found, no byte is consumed (i.e. gvd_add_to_frame() is not called)
	  but gvd_have_frame() is called (i.e. priv->current_frame is gone).
	  Also make sure to avoid infinite loops caused by incorrect subclass
	  parse() implementations. This can occur when no byte gets consumed
	  and no appropriate indication (GST_VIDEO_DECODER_FLOW_NEED_DATA) is
	  returned.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731974
	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

2014-07-02 15:50:23 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/examples/dynamic/codec-select.c:
	  tests: codec-select: fix compilation

2014-07-02 15:49:38 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.h:
	  mikey: add more Since markers for new methods

2014-07-02 15:38:41 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: make message and payload mini-objects
	  Make the MIKEY message and payload objects miniobjects so that they have
	  a GType and are refcounted.
	  We can reuse the dispose method to clear our payload objects.
	  Add some annotations.
	  Implement a copy function for the MIKEY message.
	  Fix the unit test.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732589

2014-07-02 00:21:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/examples/dynamic/codec-select.c:
	  tests: codec-select: Plug element name memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=732593

2014-07-01 16:14:43 -0700  Evan Nemerson <evan@nemerson.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/video-tile.c:
	  docs: Assorted documentation and introspection fixes for new 1.4 API
	  https://bugzilla.gnome.org/show_bug.cgi?id=732595

2014-07-01 16:19:22 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: also allow POST before GET
	  Don't only allow GET and then POST request to setup tunneling over HTTP
	  but also allow POST and then GET.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732459

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

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  libvisual: Rename get_type() function to prevent conflicts with static linking
	  https://bugzilla.gnome.org/show_bug.cgi?id=728443

=== release 1.3.90 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.3.90

2014-06-28 10:56:36 +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/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-27 14:24:10 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: fix caps leak
	  Let go the reference to the converter caps after using it

2014-06-27 10:41:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-device-monitor-1.0.1:
	* tools/gst-device-monitor.c:
	  tools: add gst-device-monitor-1.0 utility
	  Just shows devices with basic info and exits. Or will
	  wait for more devices to show up or be removed with
	  the --follow option. It's also possible to pass filters
	  as command line arguments in the form DEVICE_CLASSES
	  or DEVICE_CLASSES:CAPS.

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

	* gst-libs/gst/audio/streamvolume.h:
	* gst-libs/gst/tag/xmpwriter.h:
	  libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST
	  Remove the macros that used them, nobody could've used them anyway.

2014-06-26 11:35:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: handle more H.264 profiles and levels.
	  Recognize H.264 Level 5.2, as exposed by modern 2160p30+ streams,
	  i.e. commonly known as 4K. Also add initial support for handling
	  Annex.G (SVC) profiles.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732269
	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

2014-06-26 04:27:31 +1000  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Bump iso mp4 typefinder to PRIMARY. Add mp4 extension hint.
	  Fixes a problem with at least one file being detected incorrectly as
	  DTS because there's DTS packets early enough in the file.

2014-06-23 01:02:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: fix vararg handling in rtpbasedepayload unit test
	  Makes it pass on 32-bit systems.

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

	* tests/check/libs/rtpbasepayload.c:
	  tests: fix vararg handling in rtpbasepayload unit test
	  Makes it pass on 32-bit systems.

2014-06-22 20:42:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Filter out ANY capsfeatures from the converter caps
	  We can't convert to ANY capsfeatures, they are only there so that we
	  can passthrough whatever downstream can support... but we definitely
	  don't want to return them to upstream.

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:07:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.3.3

2014-06-22 17:25:42 +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/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:23:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/da.po:
	* po/de.po:
	* po/hu.po:
	* po/id.po:
	* po/nl.po:
	* po/pl.po:
	* po/ru.po:
	* po/sr.po:
	* po/uk.po:
	  po: Update translations

2014-06-20 11:00:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Don't be too picky about the output frame counter
	  With most decoder libraries, and especially when accessing codecs via
	  OpenMAX or similar APIs, we don't have the ability to properly related
	  the output buffers to a number of input samples. And could e.g. get
	  a fractional number of input buffers decoded at a time.
	  Previously this would in the end lead to an error message and stopped
	  playback. Change it to a warning message instead and try to handle it
	  gracefully. In theory the subclass can now get timestamp tracking
	  wrong if it completely misuses the API, but if on average it behaves
	  correct (and gst-omx and others do) it will continue to work properly.
	  Also add a test for the new behaviour.
	  We don't change it in the encoder yet as that requires more internal logic
	  changes AFAIU and I'm not aware of a case where this was a problem so far.

2014-06-12 12:36:26 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/tcp/gsttcpserversrc.c:
	  tcpserversrc: close the server socket after accepting a connection
	  g_socket_accept() is only called once for a server socket. So
	  keeping the socket open ist just confusing possible clients.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731566

2014-06-13 10:04:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gsttcpclientsrc.c:
	  tcpclientsrc: return FLUSHING when select() is canceled
	  https://bugzilla.gnome.org/show_bug.cgi?id=731567

2014-06-12 13:23:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/tcp/gsttcpserversrc.c:
	  tcpserversrc: return FLOW_FLUSHING instead of an error when accept/select is canceled
	  Canceling the accept/select happens when the source is shut down. This is
	  not an error and the GST_FLOW_ERROR causes problems when only part of the
	  pipeline is shut down.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731567

2014-06-12 11:55:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Fix Wall to NTP conversion
	  We are scaling from a unit in microseconds to a unit in ((1 << 32) per seconds).
	  We therefore scale the microseconds values by:
	  value of a second in the target unit (1 << 32)
	  --------------------------------------------------------------
	  value of a second in the origin format (1 000 000 microsecond)

2014-06-06 12:18:49 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: allow unset seek stop time in push mode

2014-06-11 12:50:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: add streamsynchronizer to documentation

2014-06-11 12:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: add playsink element to documentation

2014-06-11 10:53:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  docs: add navigation interface to docs

2014-06-10 12:59:53 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: add send_event handler for flushing
	  Adds a send_event handling for allowing appsrc to flush its internal
	  data, allowing users to flush the pipeline without setting it to null.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724231

2014-06-09 21:05:00 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_image.h:
	  videoscale: vs_image: strides are a gsize
	  The strides that are set from the GstVideoInfo structs are
	  a gsize. Using an int can cause overflows when dealing with large
	  enough images
	  https://bugzilla.gnome.org/show_bug.cgi?id=731195

2014-06-09 19:44:56 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/video-info.c:
	* tests/check/libs/video.c:
	  video: avoid overflows when doing int operations for size
	  size is a gsize, so cast the operands to it to avoid overflows
	  and setting wrong value to the video size.
	  Includes tests.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731195

2014-06-09 10:53:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Remove unneeded check
	  running timestamps are guaranteed to be positive and valid since the
	  GstVideoEncoder base class will clip incoming buffers
	  CID #1139797

2014-06-09 10:38:53 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: add missing va_end in variadic function
	  Coverity 1139944

2014-06-06 10:35:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/libs/videodecoder.c:
	  tests: fix uninitialized variable use in video decoder test

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

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Also catch CODEC_NOT_FOUND errors and delay them until all decodebins are done

2014-06-04 17:00:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Ignore missing-plugin messages unless all decodebins post one
	  When playing RTSP streams there will be one decodebin per stream. If some of
	  them fail because of a missing plugin we should not fail completely but play
	  the supported streams at least.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730868

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: Do async-done on expose errors too

2014-05-20 12:28:15 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix checking mmap flags
	  A simple '&' is not sufficiant. With mmapping_flags == PROT_READ and
	  prot == PROT_READ|PROT_WRITE the check produces the wrong result.
	  Change the check to make sure that prot is a subset of mmapping_flags.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730559

2014-06-03 15:16:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: make gst-ident happy

2014-06-03 15:10:33 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: fix occasional crash intersecting invalid values
	  When a pipeline using alsasink and push mode upstream fails
	  to preroll, the following state will be the case:
	  - A loop upstream will be PAUSED, pushing a first buffer
	  - alsasink will be READY, pending PAUSED, because async
	  On error, the pipeline will switch to NULL. alsasink is in
	  READY, so goes to NULL immediately. It zeroes its cached
	  caps. Meanwhile, the upstream loop can cause a caps query,
	  conccurent with the state change. This will use those cached
	  caps. If the zeroing happens between the NULL test and the
	  dereferencing, GStreamer will critical down in the GstValue
	  code.
	  Since it appears that such a gap between states (PAUSED
	  and pushing upstream, and NULL downstream) is expected, we
	  need to protect the read/write access to the cached caps.
	  This fixes the critical.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=731121

2013-10-14 18:56:55 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* tests/check/libs/videodecoder.c:
	  videodecoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  + Add a testcase
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-14 18:48:08 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-14 18:45:10 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-10 18:50:17 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-10 18:48:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  audioencoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2014-06-02 12:40:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: consider all opus packets as "keyframes"
	  This lets oggdemux determine they are not delta units, and removes
	  spurious per packet warnings about being unable to determine the
	  packet's keyframeness.

2014-05-12 17:13:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Free MikeyPayload in error cases
	  CID #1212136

2014-03-16 14:27:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	* tests/check/elements/decodebin.c:
	  decodebin: aggregate buffering messages
	  Aggregate buffering messages to only post the lower value
	  to avoid setting pipeline to playing while any multiqueue
	  is still buffering.
	  There are 3 scenarios where the entries should be removed from
	  the list:
	  1) When decodebin is set to READY
	  2) When an element posts a 100% buffering (already implemented)
	  3) When a multiqueue is removed from decodebin.
	  For item 3 we don't need to handle it because this should only
	  happen when either 1 is hapenning or when it is playing a
	  chained file, for which number 2 should have happened for the
	  previous stream to finish
	  https://bugzilla.gnome.org/show_bug.cgi?id=726423

2014-05-28 10:23:24 +0100  Philip Withnall <philip.withnall@collabora.co.uk>

	* gst-libs/gst/audio/audio-format.c:
	  audio: Add a missing precondition to gst_audio_format_from_string()
	  https://bugzilla.gnome.org/show_bug.cgi?id=730874

2014-05-26 20:57:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: audiodecoder: add tests for eos after segment
	  Tests that pushing a buffer after the segment returns EOS

2014-05-26 21:24:07 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: actually return the push result in backwards playback
	  It was always returning _OK regardless of what downstream returned

2014-05-26 12:44:48 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: return EOS when segment is over
	  if a buffer is clipped by being completely out of segment, check if this
	  buffer is after the end of the segment and return EOS upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-26 12:44:38 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: return EOS when segment is over
	  if a buffer is clipped by being completely out of segment, check if this
	  buffer is after the end of the segment and return EOS upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-26 11:45:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: use new gstutils helper GstFlowCombiner
	  Fixes the handling of GST_FLOW_EOS by using the helper object
	  from gstutils that does the correct combination of flow returns.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-10 18:32:28 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Use aux vars to minimize critical region
	  This avoid dead lock between gst_audio_encoder_finish_frame() and
	  gst_opus_enc_get_property().
	  Also, now bytes var is set into protected section.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729882

2014-05-23 19:21:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: use cubic volume factor when adjusting volume
	  This is more natural and better-suited for a playback application.

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

	* configure.ac:
	  Back to development

=== release 1.3.2 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.3.2

2014-05-21 12:01:15 +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/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:50:56 +0200  Sebastian Dröge <sebastian@centricular.com>

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

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

	* tests/check/libs/video.c:
	  video: And check comparison for real

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

	* tests/check/libs/video.c:
	  video: Fix broken comparison in unit test
	  libs/video.c:540:50: error: comparison of constant 2 with boolean expression is always false
	  [-Werror,-Wtautological-constant-out-of-range-compare]
	  && !GST_VIDEO_INFO_N_PLANES (&vinfo) > 2) {
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~

2014-05-20 15:59:53 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp-transport: clarify port usage
	  Comment in the docs what the client_port and server_port fields are used
	  for in TCP mode (if the application wants to set those values).

2014-05-20 11:18:56 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: share the mapping with shared copies of the memory
	  With lots of shared memory instances (e.g. created by a RTP payloader) the
	  overhead of duplicating the file descriptor and creating extra mappings is
	  significant. To avoid this, the parent memory maps the whole region and the
	  shared copies just reuse the same mapping.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730441

2014-05-19 13:28:52 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Add read source on write socket.
	  Add a read source on write socket when lost tunnel.
	  To be able to detect when clint closes get channel.
	  This is already done in gst_rtsp_source_dispatch_write but
	  only when the queue is empty.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730368

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

	* gst/playback/gstplaysink.c:
	  playsink: Always take the playsink lock when adding or removing pad probes
	  Otherwise we might end up inside the callback without having stored
	  the probe id... then try to remove that probe (not!) from the callback
	  and wait forever for the pad to unblock.

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

	* ext/alsa/gstalsasink.c:
	  alsasink: pass correct error to g_strerror
	  The error we get is a negated errno.
	  While there, fix a couple typos in messages.

2014-05-19 11:17:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Free playlist_file string if only printing the version

2014-05-13 14:08:20 +0600  Anuj Jaiswal <anuj.jaiswal@samsung.com>

	* tools/gst-play.c:
	  audio_sink and video_sink leakage fixed
	  https://bugzilla.gnome.org/show_bug.cgi?id=730010

2014-05-13 11:51:55 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Don't use argument for local storage
	  By re-using the uri argument for storing local data, we could end up in
	  a situation where we would free uri ... which would actually be the
	  string passed in argument.
	  Instead explicitely use a local variable. Fixes double-free issues.
	  CID #1212176

2014-05-12 13:18:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: Also check the stride and offset are equal
	  gst_video_info_is_equal() was not checking if stride and offset
	  had changed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729896

2014-05-12 17:17:07 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Free data after removing it from the list
	  While it wouldn't have caused any failures (g_list_remove doesn't dereference
	  the provided pointer), it does make the code cleaner.
	  CID #1212174

2014-05-12 17:15:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Actually replace payload ...
	  This function is intented to replace the payload, let's actually do that
	  instead of putting back the same (freed) payload
	  CID #1212175

2014-05-12 17:13:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Free MikeyPayload in error cases
	  CID #1212135
	  CID #1212136
	  CID #1212137
	  CID #1212138

2014-05-10 23:50:44 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Do not try to add a feature to a caps features ANY
	  It does not makes sense and asserts

2014-05-09 15:32:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: fix leaks in error code paths
	  CID 1212133

2014-05-06 11:12:19 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Reset control_stream.
	  Reset control_stream when gst_rtsp_connection_close.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729632

2014-04-15 14:51:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Retry setting configuration with modified config
	  Buffer pool set_config() may return FALSE if requested configuration needed small
	  changes. Reget the config and try setting it again. This ensure we have a configured
	  pool if possible.

2014-05-08 17:10:26 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use downloadbuffer for download buffering
	  Use the new downloadbuffer element to implement the download buffering
	  feature
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680183

2014-05-06 13:01:32 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: push eos event when empty pad data
	  If gst_ogg_mux_queue_pads returns NULL it means we are at EOS, because we get a
	  NULL buffer and this function never sets bestpad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729315

2014-05-06 08:07:38 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	  configure: Use X11 detection macro from common
	  https://bugzilla.gnome.org/show_bug.cgi?id=729621

2014-05-06 07:51:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback-test: fix crashes when setting buffer-size
	  playbin's buffer-size property takes a gint, not a gint64,
	  so only pass the bits expected to the vararg function, or
	  the terminator might not be found, leading to crashes, esp.
	  with negative numbers.
	  Spotted by Ravi Kiran K N <ravi.kiran@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=729617

2014-05-06 07:50:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: fix indentation of playback-test

2014-05-06 08:13:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  Revert "playback-test: Set buffer-size only for non-negative size"
	  This reverts commit 07a637e2847d56d0f2b0c0ac9095bf37dd324e26.

2014-05-06 11:31:18 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Set buffer-size only for non-negative size
	  https://bugzilla.gnome.org/show_bug.cgi?id=729617

2014-05-05 23:29:44 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* win32/common/libgstpbutils.def:
	  win32: Update defs file
	  commit 622007e7db7e3d32bf8e04e673e057897b646220 added the function
	  gst_discoverer_info_get_missing_elements_installer_details (). It needs to be
	  added to the defs file.

2014-05-04 15:54:54 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: Link to ws2_32 on Windows
	  Needed for getsockname and setsockopt
	  https://bugzilla.gnome.org/show_bug.cgi?id=729514

2014-05-04 15:54:06 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	  Make X11 detection more precise
	  Don't be content with just X11/Xlib.h, check for X11/XKBlib.h as well.
	  This prevents false positives (for example, from partial X11 headers
	  installed by tcl/tk).
	  https://bugzilla.gnome.org/show_bug.cgi?id=729513

2014-05-04 15:57:35 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* tests/examples/playback/playback-test.c:
	  tests: fix printf format compiler warning in playback test on win32
	  https://bugzilla.gnome.org/show_bug.cgi?id=729515

2014-05-04 18:14:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  Add new unit test binary to .gitignore

2014-01-14 15:39:55 +0100  Thibault Saunier <thibault.saunier@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	  discoverer: Add APIs to simply get installer details for missing plugins
	  Currently the API is far from optimal and the user has to work around
	  our badly defined API to simply install missing plugins.
	  API:
	  new:
	  gst_discoverer_info_get_missing_elements_installer_details
	  deprecated:
	  gst_discoverer_info_get_misc
	  gst_discoverer_stream_info_get_misc
	  https://bugzilla.gnome.org/show_bug.cgi?id=720596

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

	* configure.ac:
	  Back to development

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

	* tests/check/Makefile.am:
	  textoverlay: Link unit test with the local version of the library, not an installed one

=== release 1.3.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.3.1

2014-05-03 17:48: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/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:22:10 +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/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

2014-05-02 19:09:59 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  rtpbasepayload: Implement reconfigure event & renegotiation without subclass
	  Implement the reconfigure event, also do correct downstream caps negotiation
	  if the subclass doesn't implementy set_caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725361

2014-05-02 19:09:44 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/libs/rtpbasepayload.c:
	  tests/check/libs/rtpbasepayload.c: Run gst-indent
	  https://bugzilla.gnome.org/show_bug.cgi?id=725361

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

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

2014-05-02 18:30:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Save the PT after fixating

2014-05-02 19:36:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspdefs: remove outdated comments

2014-05-02 15:09:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: avoid underflow in size calculation

2014-05-01 19:31:09 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not parse caps for not using it
	  Saving some cpu

2014-01-03 11:06:22 +0100  John Bassett <john.bassett@pexip.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: restrict initial random sequence number to be <= 32767
	  In order to prevent SRTP roll over counter issues the initial sequence
	  number is restricted to <= 32767. This is recommended by RFC 4568 section 6.4.

2014-05-01 15:11:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Add some more gobject-introspection annotations for bindings
	  https://bugzilla.gnome.org/show_bug.cgi?id=729123

2014-05-01 13:15:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

2014-05-01 13:08:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

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

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

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

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

2014-04-30 11:06:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: check claimed data size against available size
	  Coverity 1208773

2014-04-23 08:06:36 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Empty queue when flush.
	  Empty the watchs queue when calling
	  gst_rtsp_watch_set_flushing with flushing variabel is TRUE.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728772

2014-03-16 16:09:36 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Add more tests
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728907

2014-04-29 10:15:47 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix undefined behaviour of left-shift
	  With a small type for the color values being left-shifted, the result is
	  undefined and it could potentially overflow.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729195

2014-04-29 10:59:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstrtsp.def:
	* win32/common/libgstsdp.def:
	  win32: fix export files again
	  Revert unintended parts of d8a0927930a87a2eb60d4c98cb3fea8aed911b27

2014-04-29 11:39:18 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	* win32/common/libgstrtsp.def:
	* win32/common/libgstsdp.def:
	  Add mikey.h file

2014-04-29 09:58:21 +0200  Haakon Sporsheim <haakon@pexip.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Make caps writable before fixating
	  https://bugzilla.gnome.org/show_bug.cgi?id=729114

2014-04-29 09:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdpmessage: Add array length annotation to gst_sdp_message_parse_buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=729123

2014-04-29 08:46:02 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: fix memory leak when gst_rtp_buffer_map fails
	  Make sure rtp->data[3] is set before jumping to error path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729117

2014-04-28 18:47:06 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tools/gst-play.c:
	  gst-play: add option to supply media files from playlist file
	  https://bugzilla.gnome.org/show_bug.cgi?id=728845

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

	* gst/gio/gstgiobasesink.c:
	  giobasesink: we mustn't change the format of a query response
	  Not even in the DEFAULT case. That's bad 0.10 behaviour, no caller
	  is ever going to check the format of the response.

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

	* gst/playback/gstplay-enum.c:
	  playbin: add nick for soft colorbalance play flag to fix gst-inspect
	  Fix gst-inspect-1.0 playbin criticals when printing the
	  flags, which was caused by a missing nick name for one
	  of the flags.

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

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtphdrext.c:
	* gst-libs/gst/rtp/gstrtppayloads.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/playback/gstplaybin2.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.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-25 17:32:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gio/gstgiobasesink.c:
	  giobasesink: Implement handling of the SEEKING query

2014-04-25 11:30:37 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Plug caps leaks
	  We were returning in various places without unreffing the caps, and
	  we were also leaking (overwriting) the caps we got from _get_current_caps()
	  Spotted by Haakon Sporsheim in #gstreamer

2014-04-22 18:28:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/resample.c:
	  audioresample: Don't left-shift into the sign bit, instead use unsigned integers

2014-04-22 00:21:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: avoid adding empty strings
	  Fixes assertion with some jpeg files

2014-04-21 15:35:32 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-play.c:
	  play: Improve pipeline states
	  First set the pipeline to the PAUSED state to check if we are dealing
	  with a live pipeline or not. Then move to the desired state.
	  If we don't do this, it is possible that we receive a BUFFERING message
	  before we know that the pipeline is live and we would set the pipeline
	  to PAUSED and deadlock.

2014-04-21 15:33:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-play.c:
	  play: Update buffering state for live pipelines
	  Update the buffering variable, even for live pipelines so that we don't
	  print \n for each buffering message.

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

	* gst-libs/gst/video/video-frame.c:
	  videoframe: Initialise GstVideoFrame to zeroes if mapping fails
	  This should allow for more meaningful errors. Dereferencing NULL
	  is more useful information than dereferencing a random address
	  happened to be on the stack.

2014-04-16 11:43:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: catch buffer mapping failure
	  Might be what caused:
	  Coverity 1139734

2014-04-15 19:17:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audioresample.c:
	  audioresample: Fix memory leaks in test

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

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.c:
	  audioresample: Fix up indention

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

	* gst/audioresample/resample_sse.h:
	  audioresample: Fix out of bounds memory accesses

2014-04-15 13:57:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Make static caps actually static to fix a memory leak

2014-04-15 13:54:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videotestsrc.c:
	  videotestsrc: Fix memory leak in test

2014-04-15 13:48:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/encodebin.c:
	  encodebin: Fix memory leak in test

2014-04-15 13:48:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Free preset name in finalize

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

	* ext/ogg/gstoggmux.c:
	  oggmux: Clear Ogg streams before initing them
	  They might've been inited before, in which case we leak
	  memory when initing them again without clearing.

2014-04-15 13:03:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audioconvert.c:
	  audioconvert: Fix leaks in unit test

2014-04-15 11:55:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder/decoder: Fix memory leaks in the tests

2014-04-15 11:53:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Actually allocate enough memory for 64 bits, not just 32 bits
	  Also fix a memory leak.

2014-04-15 11:43:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audioencoder.c:
	  audioencoder: Fix memory leaks in unit test

2014-04-15 10:29:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/rtp.c:
	  rtp: Fix GBytes memory leak in test

2014-04-12 07:10:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: add stats property
	  Add a stats property that holds a structure with all the current
	  values of the depayloader.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=646577

2014-04-12 06:43:24 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: update docs

2014-04-12 06:27:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: add current timestamp and seqnum offset to stats
	  Expose the current timestamp and seqnum offset in the stats
	  See https://bugzilla.gnome.org/show_bug.cgi?id=646577

2014-04-11 10:24:10 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/pango/gsttextrender.c:
	* ext/pango/gsttextrender.h:
	  textrender: push segment event after caps event
	  Fixes warning "Sticky event misordering, got 'segment' before 'caps'".

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

	* ext/ogg/gstoggstream.c:
	  oggstream: use G_GUINT64_CONSTANT instead of ll suffix
	  Thanks slomo for pointing out it's not standard.

2014-04-10 15:55:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/xvimage/xvcontext.c:
	  xvimage: remove dead code
	  matching_attr can not be NULL here, we've tested that away a few
	  lines beforehand.
	  Coverity 1139655

2014-04-10 15:51:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: bail out on unsupported caps
	  This avoids using uninitialized data (and properly rejects caps).
	  Coverity 1139898

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: remove pointless checks for data being NULL
	  It was already checked in an early out, and as it's only
	  incremented for at most the size of the passed buffer, it
	  can only become NULL in an address wraparound.
	  While there, don't cast away const on a pointer.
	  Coverity 1139845

2014-04-10 13:34:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: consider "no demuxer" case to not have dynamic pads
	  This fixes a possible NULL dereference.
	  Coverity 1195146

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

	* gst/encoding/gstencodebin.c:
	  encodebin: guard against gst_pad_get_peer returning NULL
	  If it does, the pad may be leaked if it's a request pad, though.
	  Coverity 1139799

2014-04-10 13:26:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: guard against pathological NULL dereference
	  Coverity 1139798

2014-04-10 12:32:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioresample/resample.c:
	  audioresample: reject 0 denominator when creating resampler
	  Coverity 1195140, 1195139, 1195138

2014-04-10 12:14:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video-overlay-composition: guard against NULL pointer dereference on error
	  If gst_video_overlay_rectangle_apply_global_alpha is called with
	  a rectangle with unsuitable alpha, expanding the alpha plane will
	  fail, and thus lead to dereferencing a NULL src pointer. It's not
	  certain this will happen in practice, as the function is static
	  and callers might ensure suitable alpha before calling, but there
	  is no apparent explicit such check.
	  Add prologue asserts for proper alpha to explicitely prevent this.
	  Coverity 1139707

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

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: fix texture_type memcpy size
	  Coverity 1139589, 1139588

2014-04-10 11:19:26 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdpmessage: fix multi statement macros
	  Wasn't playing nice with an if statement below.
	  Coverity 1139767

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

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: guard aginst overflow
	  An audio CD may contain about a tenth of the samples 32 bit can
	  represent, so it doesn't seem likely this will be hit in practice.
	  Coverity 1139805

2014-04-10 12:30:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: descriptions: default to systemstream=false for partial video/mpeg caps
	  Assume systemstream=false for video/mpeg caps where that field
	  is missing.

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

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: avoid possible sample count overflow
	  At 48 kHz, 2<<31 samples is reached before 13 hours so it
	  sounds plausible this would be hit.
	  Coverity 1139800, 1139801

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

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix comparison to unset timestamp
	  Also rejects negative timestamps that aren't GST_CLOCK_TIME_NONE.
	  Coverity 1139797

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

	* ext/ogg/gstoggstream.c:
	  oggstream: fix a few left shifts operations on 32 bits cast to 64 bits
	  This should not cause any actual bug since Theora and Daala have
	  a maximum shift of 31, and a packet duration of 2^31 seems very
	  implausible. But it fixes:
	  Coverity 1139804, 1139803, 1139802

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

	* ext/ogg/gstoggstream.c:
	  oggstream: remove NULL test after dereference
	  And add NULLness asserts at top of function. The only call
	  to this passes local variable pointers, so non NULL.
	  Coverity 206375

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

	* ext/ogg/gstoggmux.c:
	  oggmux: test for failure to return tag
	  It should really not happen unless the tag list it corrupt,
	  but the API returns a failure code so we may as well use it.
	  Coverity 1139595

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not dereference NULL pad in warning message
	  Coverity 1197695

2014-04-10 09:18:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-event.c:
	  video-event: Update the running times in the force-keyunit events from the pad offsets

2014-04-09 16:03:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: In adaptive streaming mode, only have a fixed buffer limit for the non-buffering multiqueue

2014-04-09 11:02:00 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: add missing va_end in variadic function
	  Coverity 1139944

2014-04-08 15:43:50 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: guard against address parse errors.

2014-03-25 17:11:34 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/adder/gstadder.c:
	  adder: rework the logic to check if eos has to be sent.
	  Checking the size available was incorrect, and the infos
	  for per-pad EOS are available.
	  Same logic as audiomixer.
	  fixes: https://bugzilla.gnome.org/show_bug.cgi?id=727025

2014-04-08 12:46:21 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: parse channels field from compressed audio caps
	  Also parse channels as an optional field in the caps for compressed
	  audio formats.

2014-04-06 22:26:20 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Consider all caps for overlays, not just the first.
	  Check all supported caps on the overlay video pad, not just the
	  first of (possibly) many.

2014-04-05 13:25:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	  tools: update gst-play-1.0 man page

2014-04-02 07:20:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not deactivate the bufferpool, just unref
	  Videodecoder does late renegotiation, it will wait for the next
	  buffer before renegotiating its caps and bufferpool. It might happen
	  that downstream element switched from passthrough to non-passthrough
	  and sent a reconfigure upstream (that caused this renegotiation).
	  This downstream element will ask the video sink below for the bufferpool
	  with an allocation query and will get the same bufferpool that
	  videodecoder is holding, too.
	  When renegotiating, if videodecoder deactivates its bufferpool it
	  might be deactivating the bufferpool that some element downstream
	  is using and cause the pipeline to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727498

2014-02-24 11:17:05 -0500  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: clip start samples to match clipped start time
	  Clock slaving can clip start time to zero, giving us a shorted
	  duration than we originally got. To keep in sync, we must then
	  discard the samples falling before that zero timestamp.
	  This possibly fixes random distortion caused by constant PA
	  underflows which are never resynced.

2014-04-04 17:36:04 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: Fix the KEMAC payload
	  The KEMAC payload actually needs to have subpayloads and the key should
	  go into the KEY_DATA subpayload. Add support for subpayloads and
	  implement the KEY_DATA payload.
	  Add some pointers to the conversion functions that allow us to add
	  encryption and decryption later.

2014-04-04 02:14:50 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Drop reference to any source element in NULL state
	  Drop the reference instead of waiting for either finalize(), or
	  for a new source when reused. Everyone else already forgot about
	  the old source.

2014-04-01 10:38:23 +0200  Göran Jönsson <goranjn@axis.com>

	* win32/common/libgstrtsp.def:
	  rtspconnection: Added gst_rtsp_watch_set_flushing to list.
	  Added gst_rtsp_watch_set_flushing to list in file
	  libgstrtsp.def

2014-03-30 18:26:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Always drain the decoder after a discont group in reverse playback mode

2014-03-30 17:54:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Flush the decoder once per discont group, not once per keyframe

2014-03-30 17:54:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle reverse playback with multiple GOPs per discont group properly
	  baseparse will reverse each GOP for us already, so the segment events can
	  be after our keyframe. Make sure to get it and all other relevant sticky
	  events before starting to decode.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Log event types of events that are pushed downstream

2014-03-27 20:15:01 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: In reverse playback mode we need to finish the subclass after passing all frames to it

2014-03-28 09:32:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: add flush method
	  Add a method to set/unset the flushing state that makes _wait_backlog()
	  unlock.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=725898

2014-03-27 16:43:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: only extrapolate alpha mask for 32-bit depth
	  Instead of passing bogus alpha mask values when there's no alpha.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727188

2014-03-25 11:14:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: fix return values of g_return_*

2014-03-25 11:07:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptransport: UDP is also default for SAVP and AVPF

2014-03-20 12:29:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	  docs: add MIKEY docs

2014-03-15 18:46:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/Makefile.am:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: add MIKEY parsing helpers
	  MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
	  parameters between a sender and a receiver in a secure way.
	  This library implements a subset of the features, enough to implement
	  RFC 4567, using MIKEY in SDP and RTSP.

2014-03-16 17:04:44 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix minor memory leaks in error handling
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726642

2014-03-16 17:06:02 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix connection_poll()
	  * Only check for conditions we are interested in.
	  * Makes no sense to specify G_IO_ERR and G_IO_HUP in condition, they
	  will always be reported if they are true.
	  * Do not create timed source if timeout is NULL.
	  * Correctly wait for sources to be dispatched, context_iteration() is
	  not guaranteed to always block even if set to do so.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726641

2014-03-20 09:18:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: add pt and ssrc to stats

2014-03-16 08:34:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	  tests: decodebin: port old decodebin2 test for parser and decoder linking
	  They were in the old decodebin2.c tests file and were never ported.
	  Now we can get rid of decodebin2.c

2014-03-16 17:00:38 +0100  Arun Raghavan <arun@accosted.net>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* tests/examples/playback/playback-test.c:
	  playback: Add video-/audio-filter properties
	  This provides an audio-filter and video-filter property to allow
	  applications to set filter elements/bins. The idea is that these will
	  e
	  applied if possible -- for non-raw sinks, the filters will be skipped.
	  If the application wishes to force the application of the filters, this
	  can be done by setting the new flag introduced on playsink -
	  GST_PLAY_FLAG_FORCE_FILTERS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-16 18:38:25 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  Revert "playback: Add video-/audio-filter properties"
	  This reverts commit fb8fdedb4f4649aa33700bbc720131c1678df49f.

2014-03-15 16:05:22 +0100  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playback: Add video-/audio-filter properties
	  This provides an audio-filter and video-filter property to allow
	  applications to set filter elements/bins. The idea is that these will be
	  applied if possible -- for non-raw sinks, the filters will be skipped.
	  If the application wishes to force the application of the filters, this
	  can be done by setting the new flag introduced on playsink -
	  GST_PLAY_FLAG_FORCE_FILTERS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-15 20:21:32 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Silence a compiler warning
	  Cast the argument into (const char *) on W32, as winsock2 expects it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=726433

2014-03-15 11:24:23 +0100  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix documentation for what the audio chain looks like
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-11 21:58:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update plugin docs and remove old properties and signals
	  Re-generate .args and .signals file from scratch so that
	  old signals that no longer exist (such as the 'new-decoded-pad'
	  signal on decodebin) no longer show up in the documentation.

2014-03-11 22:15:13 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: set a group-id on the stream-start event
	  Set a default group-id to fix a warning printed by the sink.

2014-03-11 17:39:54 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	  Add new header file

2014-03-06 12:59:08 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggmux: implement vp8 granulepos function
	  Add an extra function to the oggstream map to inform it about
	  the incoming buffers. This way oggmux can keep a count on the
	  vp8 invisible frames and calculate the granulepos correctly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722682

2014-03-05 16:34:42 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggmux: create vp8 header data if not provided in caps
	  vp8 stream header shouldn't be assumed to be provided in caps always
	  as this would repeat the same code in all demuxers/encoders. Instead,
	  make oggmux generate them if they are not supplied.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722682

2014-03-06 13:55:17 +0100  Göran Jönsson <goranjn@axis.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtspconnection: gst_rtsp_watch_wait_backlog
	  New method that wait until there is room in backlog queue.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725898

2014-03-06 13:50:27 +0100  David Svensson Fors <davidsf@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: GstRTSPWatch func for tunnel GET response
	  Add a callback in GstRTSPWatch where the response to HTTP GET for
	  tunneled connections can be modified.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725878

2014-03-06 15:34:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspdefs: add RFC 4567 headers and status code
	  This new Header and status code is used for SRTP

2014-03-07 17:09:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Buffer up to 5 seconds in multiqueue buffering mode
	  2 seconds might be too small for some container formats, e.g.
	  MPEGTS with some video codec and AAC/ADTS audio with 700ms
	  long buffers. The video branch of multiqueue can run full while
	  the audio branch is completely empty, especially because there
	  are usually more queues downstream on the audio branch.

2014-03-06 22:37:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Keep the number of buffers after an adaptive streaming demuxer lower
	  Usually these buffers are multiple seconds large, and having a maximum
	  of 5 buffers in the multiqueue there can use a lot of memory. Lower
	  this to 2 for adaptive streaming demuxers.

2014-03-06 22:28:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Simplify adaptive streaming demuxer code a bit

2014-03-06 17:49:09 +0000  Adrien Schwartzentruber <adrien.schwartzentruber@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: demote debug WARNING to LOG for variable framerate video input
	  No need why we need to warn about that, it's perfectly allowed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725837

2014-01-30 15:41:49 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* tests/check/Makefile.am:
	* tests/check/elements/textoverlay.c:
	  tests: add textoverlay passthrough with composition feature unit tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=721953

2014-01-23 12:20:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: basetextoverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
	  https://bugzilla.gnome.org/show_bug.cgi?id=721953

2014-01-23 12:19:13 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/video/video-overlay-composition.h:
	  video-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION

2014-03-04 16:51:58 +0200  Andres Gomez <agomez@igalia.com>

	* REQUIREMENTS:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.signals:
	  docs: Removing GnomeVFS left bits
	  gnomevfs was removed time ago but there are still some left bits.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725658

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: lower H.263 typefinder max probability
	  The typefinder returns LIKELY for as little as one possible
	  sync and no bad sync (not even taking into account how much
	  data was looked at for that). It's generally just not fit
	  for purpose, so should just not return anything like LIKELY
	  at all ever, even more so since it only recognises one out
	  of ten H263 files, and likes to mis-detect mp3s as H263.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700770
	  https://bugzilla.gnome.org/show_bug.cgi?id=725644

2014-03-02 11:58:58 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Call closed() when GET is closed in tunneled mode
	  This patch adds read source on the write socket in tunneled
	  mode and we get a callback when client disconnects the GET
	  channel.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725313

2014-03-02 12:58:21 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/video/video-format.c:
	  videoformat: Remove duplicate/incorrect section
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

2014-03-02 12:54:08 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/video/video-format.c:
	  docs: Add annotations for return values
	  Rephrase and clarify some return value descriptions
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

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

	  docs: Fix argument and annotation typos
	  * colorbalance: Fix misspelled annotation
	  * rtsp: Replace incorrectly documented function argument
	  * sdp: Escape @ character to avoid gtk-doc warning
	  * video-*: Add missing annotation colon
	  * videodecoder/video-color: Fix function argument typos
	  * videoutils: Remove unknown annotation field
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

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

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

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

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

2014-02-20 20:01:30 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin: improve autoplug_query_caps return
	  Makes autoplug_query_caps return
	  downstream_caps + intersect_first(filter_caps, element_caps)
	  https://bugzilla.gnome.org/show_bug.cgi?id=724828

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

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

2014-02-26 11:43:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix build with older GLib versions
	  The gio/gnetworking.h header is only available since glib 2.36
	  https://bugzilla.gnome.org/show_bug.cgi?id=725206

2014-02-26 11:45:24 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Add missing include
	  https://bugzilla.gnome.org/show_bug.cgi?id=725206

2014-02-21 14:01:37 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: improve gst_play_sink_convert_bin_getcaps return
	  If we have the peer caps and a caps filter, return peer_caps +
	  intersect_first (filter, converter_caps) instead of
	  intersect_first (filter, peer_caps + converter_caps) and preservers
	  downstream caps preference order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724893

2014-01-31 00:06:18 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/rtp-basepayloading.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  tests: Refactor RTP basepayloading test into pay/depay parts
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723328

2014-01-31 00:19:16 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Let caps event also configure seqnum-offset
	  Previously the sequence number kept track of by GstRTPBasePayload would
	  only be set when going from READY to PAUSED state. This meant that a
	  downstream element that attempted to configure a basepayloader by
	  setting seqnum-offset e.g. in its sinkpad's caps template would have
	  trouble configuring the basepayloader. The reason was that the caps
	  event which arrives with the desired value for seqnum-offset did not
	  arrive at the basepayloader until caps negotiation took place,
	  significantly later than the transition from READY to PAUSED.
	  The result after this patch is that the default value for the
	  seqnum-offset property, or later set values for this property, will take
	  effect when going from READY to PAUSED like before. In addition the an
	  arriving caps event will also affect the basepayloaders configured
	  sequence number as the event arrives.

2014-01-31 00:18:35 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Fix payload type property boundary value
	  The payload type field in an RTP packet header is 7 bits wide, hence the
	  boundary values ought to be 0x00 and 0x7f, not the previously stated
	  values 0x00 and 0x80.

2014-01-31 00:06:30 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Fix typos in comments

2014-02-21 19:28:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideopool.c:
	  docs: add GstVideoPool to docs

2014-02-21 09:53:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: If we have a demuxer without dynamic srcpads, just assume no-more-pads
	  Otherwise we will wait until the multiqueue after the demuxer will
	  overrun, which is clearly not needed then.

2014-02-21 09:43:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also make sure to not duplicate an element factory after a group
	  If we are using an adaptive stream demuxer, which outputs a non-container
	  stream, we are putting another multiqueue after the *parser* following
	  the adaptive stream demuxer. We do not want to add another instance of
	  the same parser right after this multiqueue.

2014-02-20 15:38:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: During pre-rolling always use the auto-preroll limits on multiqueues
	  Even if we're buffering in the multiqueues.

2014-02-20 15:37:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Pass through the seekability information when setting multiqueue limits

2014-02-20 15:36:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: During exposing of pads don't set the multiqueue limits multiple times to different values
	  Instead just set them once in the very end to the correct values.

2014-02-20 15:07:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only enable multiqueue buffering once we're pre-rolled
	  Otherwise we will emit buffering messages not just from the last
	  multiqueue but also from previous multiqueues... confusing the
	  application with different percentages during pre-rolling.

2014-02-20 15:02:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Make sure that we always have a second multiqueue for adaptive streaming demuxers
	  For adaptive streaming demuxer we insert a multiqueue after
	  this demuxer. This multiqueue will get one fragment per buffer.
	  Now for the case where we have a container stream inside these
	  buffers, another demuxer will be plugged and after this second
	  demuxer there will be a second multiqueue. This second multiqueue
	  will get smaller buffers and will be the one emitting buffering
	  messages.
	  If we don't have a container stream inside the fragment buffers,
	  we'll insert a multiqueue below right after the next element after
	  the adaptive streaming demuxer. This is going to be a parser or
	  decoder, and will output smaller buffers.

2014-02-19 10:21:16 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Always use buffering in multiqueue for adaptive streams

2014-02-19 10:06:13 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Only add a queue2 for buffering for non-adaptive streaming streams

2013-02-06 08:46:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: pass on the buffering property for adaptive streams
	  Adaptive streams should download its data inside the demuxer, so
	  we want to use multiqueue's buffering messages to control the
	  pipeline flow and avoid losing sync if download rates are low;
	  https://bugzilla.gnome.org/show_bug.cgi?id=707636

2014-02-21 19:07:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  tests: add new unit tests to .gitignore

2014-02-19 13:54:17 +0100  Ognyan Tonchev <ognyan@axis.com>

	* tests/check/Makefile.am:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: New unit test
	  See https://bugzilla.gnome.org/show_bug.cgi?id=724720

2014-02-19 13:53:06 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Remove read child source when POST is disconnected
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724720

2014-02-19 16:10:25 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* win32/common/libgstrtsp.def:
	  defs: update for new rtspconnection symbols

2014-02-19 01:55:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: allow file to go until the end in push mode
	  When seeking back to original state after duration seeks, let
	  upstream know that we want the whole file, including the last
	  byte that wasn't requested on the duration seeks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724633

2014-02-19 23:54:59 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: remove unused instance variable event
	  It is never set to anything

2014-02-16 17:39:35 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: allow specifying a certificate database
	  Two new functions have been added,
	  gst_rtsp_connection_set_tls_database() and
	  gst_rtsp_connection_get_tls_database(). The certificate database will be
	  used when a certificate can't be verified with the default database.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724393

2014-02-16 23:55:17 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: get rid of superfluous whitespaces

2014-02-18 20:48:57 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/encodebin.c:
	  encodebin: simplify tests
	  Also use the profile helper for the ogg profile here.

2014-02-18 13:08:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-info.c:
	  video: Fix NV12_64Z32 default offset and size
	  This was a regression introduced by f52fd7a68, where we started using
	  the stride to encode the dimensions in tiles. This patch simply updates
	  offset and size calculation as described in the documentation,
	  part-mediatype-video-raw.txt.

2014-02-18 15:02:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Keep inputselector around until we release its pads
	  Otherwise there's an interesting race condition when we destroy
	  the inputselector (actually it will be destroyed later when its state
	  change message gets destroyed) and afterwards release its sinkpad.
	  This is the code path when the last channel is removed from the
	  input selector.
	  Gave this warning sometimes, for chained oggs or whenever else
	  we change decode groups:
	  GStreamer-CRITICAL **: Padname '':sink_0 does not belong to element inputselector0 when removing

2014-02-18 10:42:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: never do mixing for 1->1 channel conversions
	  MONO and NONE position are the same, for example, but in
	  general there isn't much to do here for such a conversion.
	  Fixes problem in audioconvert, which would end up using
	  a mixmatrix when converting between different mono format
	  because it thinks MONO positioning is different from
	  unpositioned channels, which is not the case in this
	  special case. The mixmatrix would end up being 0.0 so
	  audioconvert would convert to silence samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724509

2014-02-18 10:32:46 +0000  Rafał Mużyło <galtgendo@o2.pl>

	* gst-libs/gst/audio/audio-info.c:
	  audio: map channels=1,channel-mask=0 to MONO instead of NONE
	  Fixes problem in audioconvert, which would end up using
	  a mixmatrix when converting between different mono format
	  because it thinks MONO positioning is different from
	  unpositioned channels, which is not the case in this
	  special case. The mixmatrix would end up being 0.0 so
	  audioconvert would convert to silence samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724509

2014-02-16 21:24:29 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/encodebin.c:
	  encodebin: refactor tests
	  Add a new test to demo how to get missing plugin message.
	  Split some tests that unneccesarily munge unrelated checks into one test.

2014-02-16 15:32:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Only remove the complete text chain if the text pad goes away
	  If the text pads does not go away we just set the overlay to silent, which
	  allows us to immediately re-enable subs later again. However before this
	  change we also released the streamsynchronizer text pads, which deadlocked
	  because there was still dataflow going on. Just do this only if we remove
	  the complete chain.
	  https://bugzilla.gnome.org/show_bug.cgi?id=683504

2014-02-14 20:16:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/Makefile.am:
	* tools/gst-play.c:
	  tools: gst-play: add volume control

2014-02-13 16:03:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: properly flush when seeking at the beginning
	  Reset all internal status when collect pads forwards a flush-stop
	  from the pads to be able to start the stream again.

2014-02-12 17:34:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Don't leak pad references

2014-02-02 23:59:36 +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=723492

2014-02-11 16:35:45 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: First try to get the pad's current caps, then query caps
	  The caps query might give us ANY caps while the pad has fixed caps
	  configured currently.

2014-02-10 16:33:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix memory leak in autoplugging code
	  We should not leak element factories ideally.

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

	* tests/check/elements/playbin-complex.c:
	  playbin: Fix memory leak in unit test

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

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Remove unused function

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

	* gst-libs/gst/audio/gstaudiosrc.h:
	  audiosrc: Fix typo in docs
	  We read *from* the audio device, not to it.

2014-02-08 20:08:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/opus.c:
	  opus: Remove unused variable from unit test

2014-02-08 17:11:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix compiler warning in unit test
	  error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'

2014-02-08 17:11:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videoconvert.c:
	  videoconvert: Fix compiler warning in unit test
	  error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'

2014-02-08 17:07:15 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Fix types for comparisons
	  Storing a 64 bit integer in a 32 bit integer and then checking
	  for the error cases might not be ideal.
	  error: comparison of constant -9223372036854775808 with
	  expression of type 'guint' (aka 'unsigned int') is always true

2014-02-08 17:02:27 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggmux.h:
	  oggmux: Fix typo in header include guard
	  clang does not like this.

2014-02-08 17:01:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsaplugin.c:
	  alsa: Make clang happy with our g_strdup_vprintf() wrapper

2014-02-07 15:33:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: allow seeking outside of the range
	  For download buffer, allow seeking outside of the already downloaded
	  area.

2014-02-07 02:09:10 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: use correct segment for text
	  video time uses the 'segment' and the text time should use
	  the 'text_segment'.
	  If different segments are used for video and text it would
	  lead to out of sync video/subtitles.

2014-02-04 14:31:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/rtp.c:
	  check: add some more checks
	  Add header and payload length check in case of CSRCs.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=723196

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

	* tests/examples/seek/jsseek.c:
	  jsseek: Add missing HAVE_X check
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723507

2014-02-04 13:55:49 +0100  Eric Trousset <etrousset@awox.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Forward TIME seeks upstream too, maybe upstream can handle that
	  https://bugzilla.gnome.org/show_bug.cgi?id=723597

2014-01-31 23:27:03 +0100  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/gstaudiometa.c:
	  docs: doc fixes for audio library
	  Add sections docs for audiometa. Fix sections docs for audiochannels. Remove old
	  mixerutil section.

2014-01-31 13:40:36 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: ensure having caps when setting the buffer pool config
	  It happens if downstream does not propose a buffer pool.
	  GST_DEBUG=2 gst-launch-1.0 videotestsrc ! fakesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=723271

2014-01-30 21:18:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Support non-ASCII tags
	  By calling setlocale() to get us multi-byte/UTF-8 support.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723164

2014-01-28 14:28:27 +0100  Bastien Nocera <hadess@hadess.net>

	* tools/gst-discoverer.c:
	  gst-discoverer: Support non-ASCII tags
	  By calling setlocale() to get us multi-byte/UTF-8 support.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723164

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

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

2014-01-29 13:58:07 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: push pending events before eos
	  Push any pending events downstream before pushing eos

2014-01-29 12:33:21 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/audioencoder.c:
	  tests: audioencoder: add tests analogous to the videoencoder ones

2014-01-29 12:32:16 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: push pending events and tags before EOS
	  if there are tags or events pending and an EOS is received, push those
	  events and tags before the EOS.

2014-01-28 15:25:05 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videoencoder.c:
	  tests: videoencoder: check that tags are pushed before eos
	  Check that if a new tag event is received right before eos it
	  is pushed before the eos

2014-01-28 15:30:35 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: push tags and events before eos
	  if any tags or events are pending, push them before pushing eos

2014-01-28 15:06:39 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/videoencoder.c:
	  tests: videoencoder: basic videoencoder base class test
	  Adds a single test for video encoding

2013-11-26 01:13:45 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Do cosmetic changes to rtptime calculations
	  * Change running time type to guint64
	  * Use GST_CLOCK_TIME_NONE() to check for invalid timestamps
	  * Name variables so ns-based and hz-based timestamps are evident
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-28 00:40:38 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Expose running-time of payloaded stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=719415

2014-01-22 17:47:02 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Improve documentation for perfect-rtptime
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-16 16:58:43 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Fix typos in documentation for properties
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-28 00:19:07 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: make it possible to register multiple handlers for autoplug-select
	  Change the way autoplug-select is accumulated so that it's possible to have
	  multiple handlers. The handlers keep getting called as long as they keep
	  returning GST_AUTOPLUG_SELECT_TRY.
	  One practical example of when this is needed is when hooking into playbin's
	  uridecodebin, which is perhaps not very elegant but the only way to influence
	  which streams playbin autoplugs/exposes.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723096

2014-01-16 21:49:59 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtp-basepayloading.c:
	  rtpbasepayload: Add statistics property
	  This property allows for an atomically retrieved set of properties that
	  can e.g. be used to generate RTP-Info headers.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719415

2013-07-26 15:44:28 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Drop hardcoded list of media suitable for download buffering
	  Discussion on IRC indicated that the main reason for this list was to
	  prevent demuxers that can trigger a lot of seeking from using
	  progressive buffering using queue2 (which due to being seekable triggers
	  that behaviour).
	  However given that upstream can indicate seeks are possible but should
	  be avoided via a scheduling query, this extra whitelisting shouldn't be
	  necessary for well-behaved demuxers.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704933

2014-01-24 12:19:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: tweak the scoring algorithm
	  Make a little table of conversions and manually score them. Use this
	  info to define better weights for the scoring algorithm.
	  give separate scores for doing changes and the impact of the change,
	  This allows us to avoid conversion when we can but still allow fairly
	  lossless changes.
	  The old code did not penalize GRAY conversions, PAL conversions were
	  punished too low and depth conversions too high.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722656

2014-01-23 10:45:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: don't crash on NULL resamplers
	  Make dummy resamplers for all cases and only execute the horizontal
	  resampler instead of crashing.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=722742

2014-01-21 11:21:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: make _get_time more threadsafe
	  We call the _get_time function from the provided clock and we don't lock
	  the sink object for performance reasons. Make sure we only read and
	  check variables once so that they don't change while we are executing
	  the code.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720661

2014-01-20 16:11:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/resample.c:
	  audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2

2014-01-20 15:44:09 +0100  Antoine Jacoutot <ajacoutot@gnome.org>

	* gst/audioresample/resample.c:
	  audioresample: Fix build on x86 if emmintrin.h is available but can't be used
	  On i386, EMMINTRIN is defined but not usable without SSE so check for
	  __SSE__ and __SSE2__ as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=670690

2014-01-20 10:30:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Initialize Qt variables

2014-01-20 09:46:15 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/overlay/qt-videooverlay.cpp:
	  examples: Port Qt examples to Qt5

2014-01-18 19:22:12 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Fix G726 caps creation
	  https://bugzilla.gnome.org/show_bug.cgi?id=720995

2014-01-18 00:18:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: minor docs fix
	  Can use a custom main context as well if needed.

2014-01-18 13:54:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: Add API to get the currently pending frame size for parsing
	  https://bugzilla.gnome.org/show_bug.cgi?id=719890

2014-01-18 21:20:51 +0900  Wonchul Lee <chul0812@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Remove unnecessary assignment
	  Remove duplicated assignment
	  https://bugzilla.gnome.org/show_bug.cgi?id=722491

2014-01-18 13:31:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Insert decoders without GstAVElement information between the other decoders
	  Otherwise they would be preferred over all decoders independent
	  of their ranks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722316

2014-01-18 13:12:16 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Only put parsers and sinks first, not all non-decoders
	  https://bugzilla.gnome.org/show_bug.cgi?id=722316

2014-01-17 11:08:32 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: plug a few leaks
	  Remove leaks of caps and events references

2014-01-17 10:17:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: plug leak when frames are released on subclass stop
	  They end up stored in the 'pending_events' list and should be
	  freed after calling stop

2014-01-17 15:10:42 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Handle CLOCK_LOST message
	  It is necessary for playbin gapless playback when switching
	  between audio-only and video-only files for example.

2014-01-16 16:32:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: handle ACCEPT_CAPS query correctly
	  We can accept a caps when one of the downstream peers can accept the
	  caps. This is not the same as checking a subset of the getcaps
	  result because parsers might accept broader caps than what their getcaps
	  function returns (See https://bugzilla.gnome.org/show_bug.cgi?id=677401).
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330

2014-01-14 13:02:28 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add another test for negotiation with gap event
	  Check that even if the subclass doesn't call set_output_format, the base
	  class should use upstream provided caps to fill the output caps that is
	  pushed before the gap event is forwarded, otherwise it ends again fixating
	  the rate and channels to 1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 13:05:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: copy rate and channels from input before fixating output caps
	  For default caps generation when handling gap events that are sent
	  before any buffer, try to use caps that are closer to what upstream
	  provided to avoid fixating rate or channels to 1 as default.
	  So there are the steps:
	  1) Try to set rate, channels and channel-mask from upstream if provided
	  2) Fixate the rate and channels to the default rate and channels from
	  audio lib
	  3) Fixate the caps just to be sure everything is fixed
	  4) If no channel-mask was provided and channels > 2, use a default
	  channel-mask (taken from audioconvert code)
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 23:07:34 +0100  Holger Kaelberer <hk@getslash.de>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: don't recreate xvcontext
	  A xvcontext can be created early in gst_xvimagesink_set_window_handle().
	  In this case don't recreate, i.e. overwrite it in gst_xvimagesink_open().
	  Otherwise XEvents won't be handled in the xevent listener thread.
	  Fixes a regression when setting the window handle on the sink in
	  the very beginning before changing its state.
	  https://bugzilla.gnome.org/show_bug.cgi?id=715138

2014-01-14 12:05:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix broken seeking reading the whole file
	  A change in gst_ogg_demux_do_seek caused oggdemux to wait for
	  a page for each of the streams, including a skeleton stream if
	  one was present. Since Skeleton only has header pages, that
	  was never going to end well.
	  Also, the code was skipping CMML streams when looking for pages,
	  so would also have broken on CMML streams.
	  Thus, we change the code to disregard Skeleton streams, as well
	  as discontinuous streams (such as CMML and Kate). While it may
	  be desirable to consider Kate streams too (in order to avoid
	  losing a subtitle starting near the seek point), this may be
	  a performance drag when seeking where no subtitles are. Maybe
	  one could add a "give up" threshold for such discontinuous
	  streams, so we'd get any page if there is one, but do not end
	  up reading preposterous amounts of data otherwise.
	  In any case, it is important that the code that determines
	  the amount of streams to look pages for remains consistent with
	  the "early out" conditions of the code that actually parses
	  the incoming pages, lest we never decrease the pending counter
	  to zero.
	  This fixes seeking on a file with a skeleton track reading all
	  the file on each seek.
	  https://bugzilla.gnome.org/show_bug.cgi?id=719615

2014-01-13 15:14:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: use an adaptive chunksize for performance reasons
	  Ogg data is read chunk by chunk, and the chunk size used was
	  originally taken from libvorbisfile. However, this value leads
	  to poor performance when used on an Ogg file with large pages
	  (Ogg pages can be close to 64 KB).
	  We can't just use a larger chunk size, since this will decrease
	  performance on small page streams, so we use an adaptive scheme
	  where the chunk size is twice the largest page size we've seen
	  so far in the stream. For "typical" Ogg/Vorbis, this gives us
	  almost the same chunk size (a bit lower), and this lets us get
	  better performance on streams with large pages.

2014-01-13 20:47:02 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: avoid parsing caps event if it is not used
	  Saves some cpu

2014-01-13 20:44:23 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: make sure caps is set before forwarding gap event
	  Before trying to generate a default fixated caps when handling a gap
	  event, make sure that the same strategy that is used when handling
	  a buffer has been attempted. Otherwise audiodecoder will ignore
	  upstream caps settings such as rate and channels and will likely
	  end with a caps with channels=1 and rate=1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-13 19:40:49 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: check that negotiation works buffers and gaps
	  Adds 2 tests to verify that output caps are the expected value, reusing
	  input structure values for both buffers and gaps
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-13 16:33:11 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add basic playback test for audio decoder
	  Simple test that just check that audio decoding works as expected
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 13:17:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/videooverlay.c:
	  videoverlay: Don't mention gconf elements and add a sentence about playbin/playsink
	  playbin/playsink now implement the video overlay interface

2014-01-13 16:28:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: add new API to .def file

2014-01-13 16:29:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: only copy chroma_site when known
	  Only overwrite the chroma-site if we have a valid value in the reference
	  format.

2014-01-13 16:20:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: don't interpolate chroma in I420 -> RGB
	  Don't try to interpolate the chroma samples, the used algorithm only
	  works for horizontal cositing. Let's switch to a faster and safer
	  version until we handle chroma siting correctly in the fastpaths.

2014-01-13 12:16:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideoutils.c:
	  videoutils: add some debug

2014-01-08 19:43:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Add new sections introduce for tile format
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-08 19:42:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/Makefile.am:
	  video: Generate types for tile enumeration
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-08 19:41:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-tile.h:
	  video: Don't use extra plane and componenent for tile format
	  Instead of using extra plane, we encode the number of tiles in x and y in the stride of
	  each planes (i.e. y_tiles << 16 | x_tiles) and introduce tile_mode, tile_width and
	  tile_height into GstVideoFormatInfo structure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:36:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* tests/check/elements/videoscale.c:
	  video: rename NV12T -> NV12_64Z32
	  Is a bit more descriptive and allows us to add more tiled types
	  later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:29:09 +0100  Nicolas Dufresne <nicolas.dufresne at collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: scale vertical tiles based on subsampling
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:18:08 +0100  Nicolas Dufresne <nicolas.dufresne at collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix tiled pixel stride
	  Pixel stride is per component, not per plane. We get the tile mode from
	  the pixelstride of the TILE component.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-26 17:40:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  format: improve docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 16:22:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/elements/videoscale.c:
	  tests: fix videoscale test for NV12T
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 16:06:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-frame.c:
	  video-format: fix off-by-one for tiled coordinates
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 15:22:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-tile.h:
	  video-tile: improve docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:57:30 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: use shifts when possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:23:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix copy of tiled formats
	  Add code to copy tiled planes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:11:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-tile.c:
	* gst-libs/gst/video/video-tile.h:
	  video-tile: add tile mode and helper functions
	  Move the tile helper functions to their own file. Make it possible to
	  make other tiling modes later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-20 21:27:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: add NV12T support
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-19 16:11:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  Add tiled color format support
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-13 15:32:23 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix typo in the docs

2014-01-11 01:14:19 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: check that segment events are not dropped
	  Adds a test that simulates a scenario where the first buffers after
	  a segment can't be decoded and the decoder asks for those frames
	  to be released. The videodecoder base class should make sure that
	  the events attached to those first buffers are pushed even if the
	  buffers aren't going to be.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721835

2014-01-11 01:24:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not lose events when dropping frames
	  Events must be persisted after a frame is dropped to avoid
	  losing obligatory information for the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721835

2014-01-08 11:29:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add test for reverse playback
	  Checks that buffers are pushed backwards in reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=721666

2014-01-06 20:53:15 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: use new segment earlier for reverse playback
	  For reverse playback, the segment event will only be pushed when
	  the first buffer is actually pushed. But for decoding frames and storing
	  those into the list to be pushed the output_segment.rate value is used
	  to determine if it is forward or reverse playback.
	  In case a previous segment event (or none) is in use it will mistakenly
	  think it is doing forward playback and push the buffers immediatelly and
	  try to clip buffers based on an old segment (or an uninitialized one, leading
	  to an assertion)
	  This patch fixes this by copying the segment earlier if on reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=721666

2014-01-10 14:24:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix unit test breaking on duration query
	  The new switch caused breaks to not break of the main switch
	  anymore, causing fall through.

2014-01-10 15:06:23 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	  videoconvert: Update disted orc files once again

2014-01-10 11:17:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: add dot file dumping for pipeline graph debugging

2014-01-10 11:17:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: don't leak GAP events

2014-01-10 09:53:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: do not set TIME duration when asked for another format
	  This fixes asserts in pipelines such as:
	  gst-launch-1.0 videotestsrc num-buffers=1000 ! x264enc ! h264parse ! \
	  matroskamux name=mux ! filesink location=test.mkv

2014-01-10 09:21:08 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	  videoconvert: Update disted orc files

2014-01-09 18:12:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: rework YUV->RGB fastpaths
	  Rework the orc code to be around 10% faster and support arbitrary matrices.
	  Pass the matrix parameters to the YUV->RGB functions to make them work
	  for all matrices. This enables more and faster fastpath conversions.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=721701

2014-01-09 18:08:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	  videoconvert: fix I420 to BGRA fast-path some more
	  Calculate alpha value differently so that we can avoid running out
	  of registers.

2014-01-08 16:20:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	  videoconvert: remove unused code

2014-01-03 15:24:29 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  riff: Add G726 ADPCM support
	  https://bugzilla.gnome.org/show_bug.cgi?id=720995

2014-01-07 22:04:20 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add check for serialization of events
	  Tests that events are properly serialized with buffers, also checks
	  that the usual events are sent (stream start, caps, segment and eos).

2014-01-07 16:28:18 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add simple playback test
	  Add a simple playback test that makes sure that video decoder pushes
	  buffers in the same order it receives and that it respects the
	  set timestamps and durations

2014-01-07 15:01:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstrtsp.def:
	  defs: update for new symbols

2014-01-07 14:46:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptransport: calculate default lower transport
	  Add an internal method to calculate the default lower transport whan it
	  is missing.

2014-01-07 14:31:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add method to get media-type from transport
	  Add a method to make a media-type from the transport. Deprecate the old
	  method that only used the mode.
	  Based on patch from Aleix Conchillo Flaqué <aleix@oblong.com>
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720219

2014-01-07 11:51:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add GType for Profile
	  See https://bugzilla.gnome.org/show_bug.cgi?id=720696

2014-01-05 23:35:52 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add support of BWF RF64  a 64bit wav variant
	  Detect and describe the RF64 Broadcast Wave Format.
	  Fixes #519220

2014-01-05 21:39:52 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff-read.h:
	* win32/common/libgstriff.def:
	  riff: remove new parse_ncdt api again
	  This chunk is avi specific, no need to expose this as public api.

2014-01-04 22:30:17 +0100  Stefan Sauer <ensonic@users.sf.net>

	* win32/common/libgstriff.def:
	  win32: export new riff api

2014-01-04 21:54:10 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-read.c:
	  riff: fix indentation messup from previous commit

2014-01-04 21:31:07 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff-read.h:
	  riff: add support for nikon tags
	  Nikon cameras store metadata in a custom format. Add parsing of the chunk and
	  extract some initial data.
	  API: gst_riff_parse_ncdt()
	  Fixes #636143

2014-01-03 02:18:20 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Avoid unnecessary configuration
	  Port a change from audiobasesink from def07410, to ignore setcaps
	  when the caps don't actually change, and avoid a reconfiguration
	  and reset of the ringbuffer in that case.

2013-11-15 14:17:03 +0000  William Grant <wgrant@ubuntu.com>

	* configure.ac:
	  configure: Prevent the NEON check in configure from passing under aarch64.
	  The test verifies that the NEON C intrinsics work, but the rest of the
	  codebase uses lots of direct ARMv7 NEON assembly. The same intrinsics
	  work in A64, but the assembly is slightly different.
	  Prevent the check from passing so that we don't use this where it won't
	  work.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712367

2013-12-31 10:17:55 +0100  Stéphane Cerveau <scerveau@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add id3 tag
	  Add id3 tag for wavparse
	  https://bugzilla.gnome.org/show_bug.cgi?id=721241

2013-12-31 09:37:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  Revert "test-effect-switch: Change one of the pad blocks to and idle probe"
	  This reverts commit 40fe5dcc84ff2cc7dbe0112d7830a33fd764d4e1.
	  Using an idle probe here is not ideal because we'll send an EOS event
	  from the application thread... which might block for quite some time.
	  Go back to a block probe.

2013-12-30 19:48:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Always set pixel-aspect-ratio and interlace-mode in the fixed caps
	  Otherwise our caps will not be compatible with elements that require a
	  1/1 pixel-aspect-ratio or progressive video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721103

2013-12-30 19:40:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  test-effect-switch: Don't put two format fields into the first capsfilter

2013-12-30 19:12:53 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  test-effect-switch: Change one of the pad blocks to and idle probe
	  Just because we can.

2013-12-30 17:30:15 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Add missing break statement
	  And do a minor cleanup
	  COVERITY CID 1139753

2013-12-30 14:30:23 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: add two chunk-ids for samples instruments
	  Wav files can have 'smpl' and 'inst' chunks.

2013-12-30 13:46:34 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Fix array read
	  nbchannels ranges from 1 to 8, therefore use '- 1' to get the proper
	  array value.

2013-12-30 13:33:00 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Remove useless assignement
	  Was already set before

2013-12-26 17:47:46 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  gstrtpbasepayload: use the session's suggested ssrc after a collision, if the session provides one
	  Conflicts:
	  gst-libs/gst/rtp/gstrtpbasepayload.c

2013-12-10 15:19:14 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstrawcaps.h:
	  playback: add ANY caps features to default audio/video raw caps
	  Allows elements using audio/video caps features to be used by playbin.

2013-12-30 10:53:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video-info: Properly initialize the info structures in set_format()
	  And don't assume in other code that set_format() preserves any fields at
	  all. These assumptions were already made here for fields that were changed
	  by set_format().

2013-12-30 10:14:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video-info: Initialize the complete struct to 0 in the beginning
	  Instead of only initializing some parts in some code paths. Also
	  makes it easier to use the reserved bits of the structs later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720810

2013-12-27 14:29:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: increase max payload size to 4000 bytes
	  1275 is the maximum size of a frame, but the encoder may return
	  up to 3 frames, and we need a few extra bytes for TOC, etc. We
	  use 4000, which is a bit more, and suggested in the libopus docs.

2013-12-20 19:48:06 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Bunch of cosmetic/grammar fixes

2013-12-20 18:58:43 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Retarget FIXME to 2.0
	  Properly fixing this one would break API.

2013-12-20 18:54:39 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiobase*: Drop trailing withespaces

2013-12-20 18:53:13 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Break some too long lines

2013-12-20 18:41:59 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Add FIXME for times in NSECONDS
	  Timebase is in nanoseconds pretty much everywhere else

2013-12-26 23:21:45 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Choose a default initial caps before sending GAP
	  If there are no caps from the audio decoder when handling a GAP
	  event - as when one is received right at the start on a DVD without
	  initial audio - then choose any default caps for downstream and
	  then send the GAP, so the audio sink has a configured format in
	  which to start the ringbuffer.
	  Also, make the audio sink reject a GAP without caps with a clearer
	  error message.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=603921

2013-12-26 17:41:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add more profiles
	  Add support for Feedback profiles

2013-12-25 10:45:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix plane copy for index plane
	  Move the code to handle the index plane in the _copy_plane.

2013-12-24 01:20:25 +0000  Lionel Landwerlin <llandwerlin@gmail.com>

	* gst-libs/gst/video/colorbalance.c:
	  colorbalance: add missing annotation for list_channels()
	  https://bugzilla.gnome.org/show_bug.cgi?id=720999

2013-12-23 14:54:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: Fix I420 to BGRA fast-path alpha setting
	  This fast-path was adding 128 to every component including
	  alpha while it should only be done for all components except
	  alpha. This caused wrong alpha values to be generated.
	  Also remove the high-quality I420 to BGRA fast-path as it needs
	  the same fix, which causes an additional instruction, which causes
	  orc to emit more than 96 variables, which then just crashes.
	  This can only be fixed in orc by breaking ABI and allowing more
	  variables.

2013-12-22 22:33:26 +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-22 22:07:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  tests: make git ignore new test binary

2013-12-20 18:06:25 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Always reset last_align
	  Should be done for all the reset_sync() cases. Not
	  only for the READY to PAUSED one.

2013-12-20 18:02:42 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Reset last_align to 0, not -1
	  This is the expected behavior in READY -> PAUSED

2013-12-20 17:58:43 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Always reset avg_skew on _reset
	  Only case in which it wasn't (READY to PAUSED) should
	  have had this value reseted too.

2013-12-20 17:10:44 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Retarget FIXME to 2.0
	  Properly fixing this one would break API

2013-12-20 15:13:54 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Factor out reset sync routine

2013-12-20 01:06:33 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Drop dead _sink_async_play() code

2013-12-20 01:03:14 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Break some too long lines

2013-12-20 00:09:22 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Cosmetics, grammar/spelling
	  - Drop repeated 'yet' from debug msg
	  - Drop repeated 'to' from param desc
	  - Some spelling

2013-12-20 08:41:45 -0500  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video: Initialize all {audio|video}info fields
	  Fixes "Unitialized Scalar Variable" issues reported by Coverity.
	  Has the added advantage of detecting whether somebody *does* use those
	  fields (ending up with a invalid address).
	  https://bugzilla.gnome.org/show_bug.cgi?id=720810

2013-12-19 17:41:31 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Refactor alignment computation for clarity

2013-12-18 15:52:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/subparse.c:
	  subparse: Add unit test for LRC subtitles

2013-12-18 15:24:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Add support for parsing LRC subtitles
	  https://bugzilla.gnome.org/show_bug.cgi?id=678590

2013-12-18 15:07:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse: Add typefinder for LRC subtitles

2013-12-10 13:54:28 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	  sdp: parse encryption key field
	  * gst-libs/gst/sdp/gstsdpmessage.c: parse encryption key field (k).
	  https://bugzilla.gnome.org/show_bug.cgi?id=720215

2013-12-17 18:04:33 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: add typefinder and descriptions for audio/x-xi
	  xi files can be read by libsndfile.

2013-12-17 18:03:40 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  descriptions: longer version of two audio codec descriptions

2013-12-17 17:25:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Document usage of GST_VIDEO_FORMAT_ENCODED
	  This must only ever be used in caps in combination with a non-system
	  memory GstCapsFeatures, and where it does not make sense to specify
	  any of the other video formats. Examples of this would be in gst-vaapi.

2013-12-17 17:23:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  Revert "video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED"
	  This reverts commit 5fcdabd907ca45595b64131bbae0ea963e259a7c.
	  Instead of making it impossible to use the ENCODED format we should
	  just document that it must not be used for capsfeature-less caps.
	  Also this commit broke API/ABI.

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Release the allocator on hard resets

2013-12-16 15:53:41 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: release buffer pool and allocator on full reset
	  It allows to release the buffer pool sooner (i.e. when going
	  to GST_STATE_READY). Previously it was released in finalize.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=720389

2013-12-15 21:01:42 -0800  Todd Agulnick <todd@agulnick.com>

	* gst-libs/gst/audio/audio-format.c:
	* sys/xvimage/xvimagesink.c:
	  Some compiler warning fixes to satisfy XCode compiler
	  https://bugzilla.gnome.org/show_bug.cgi?id=720513

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

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Read image-type from the GstSample info struct
	  But for backwards compatibility keep reading it from the caps and only
	  use the info struct if the caps don't contain the image-type.

2013-12-13 14:36:41 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: gst_video_decoder_release_frame() is available since 1.2.2

2013-12-13 10:06:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: allow parse-launch strings for audio and video sink

2013-12-12 13:42:59 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: change SSRC on GstRTPCollision event
	  Change our SSRC and update the caps when we receive a GstRTPCollision
	  event from downstream.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711560

2013-12-12 13:06:30 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: implement src_event function
	  Add a srcpad event handler and call the src_event vmethod.

2013-12-11 16:49:35 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED
	  GST_VIDEO_FORMAT_ENCODED was added to support *extracting* video-related
	  information (like width, height, framerate,...) from caps.
	  It is __NOT__ intended to be used as a format field on video/x-raw caps.

2013-12-10 00:13:55 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/check/Makefile.am:
	* tests/check/libs/rtp-basepayloading.c:
	  tests: Add test for rtpbasepayload/-depayload
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720162

2013-12-10 00:56:07 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtpbuffer: Allow subbuffering of empty buffers
	  See https://bugzilla.gnome.org/show_bug.cgi?id=720162

2013-12-09 16:34:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix indention

2013-12-09 16:33:40 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add sink_query() src_query() virtual functions
	  Based on the videodecoder change by Nicolas Dufresne and applied
	  here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720103

2013-11-27 16:39:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add sink_query() src_query() virtual
	  https://bugzilla.gnome.org/show_bug.cgi?id=720103

2013-12-09 13:55:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-kb.c:
	  tools: play: fix compiler warning on windows

2013-12-06 19:27:04 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideoutils.h:
	  videocodecframe: Correct function name in doc

2013-12-06 16:23:46 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Remove gst_video_encoder_set/get_discont
	  They've never existed outside the header file.

2013-12-04 01:08:13 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* docs/design/Makefile.am:
	  docs: add missing files for distribution
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720015

2013-12-05 16:17:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: handle the RESYNC flag
	  Also resync when a buffer with the RESYNC flag is seen.

2013-12-05 14:39:57 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audiodec/enc: clear reconfigure flag if negotiate succeeds
	  So that it avoids to send an allocation query twice.
	  One from an early call to gst_audio_encoder_negotiate from a
	  subclass, then one from gst_audio_encoder_allocate_output_buffer.
	  Which means that previously gst_audio_encoder_negotiate was not
	  clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684

2013-12-05 14:31:25 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodec/enc: clear reconfigure flag if negotiate succeeds
	  So that it avoids to send an allocation query twice.
	  One from an early call to gst_video_encoder_negotiate from a
	  subclass, then one from gst_video_encoder_allocate_output_frame.
	  Which means that previously gst_video_encoder_negotiate was not
	  clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684

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

	* ext/opus/gstopusdec.c:
	  opusdec: Require caps to be set before any data processing

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

	* ext/theora/gsttheoradec.c:
	  theoradec: Use new gst_video_decoder_set_needs_format() API

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Use FALSE instead of 0

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: Add API to allow subclasses to specify that they needs caps before any buffers

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Return not-negotiated if we don't have caps when the first buffer arrives
	  Otherwise things like filesrc ! jpegenc ! fakesink just crash with
	  a segmentation fault because subclasses expect caps to be there.

2013-12-04 19:24:08 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: no fallback to segment start for reverse playback
	  See https://bugzilla.gnome.org/show_bug.cgi?id=709965

2013-12-05 00:27:14 +0900  Justin Joy <justin.joy.9to5@gmail.com>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix trivial memory leak in debug statement
	  gst_element_get_name() requires the caller to g_free() the return value
	  https://bugzilla.gnome.org/show_bug.cgi?id=719850

2013-12-02 20:35:04 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: use segment start as fallback ts if no other available
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=709965

2013-12-01 12:37:52 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  videodecoder: add new API to docs and defs

2013-11-26 20:50:33 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: make _release_frame external API
	  ... so subclasses can release a frame all the way (also from frame list)
	  without having to pass through _finish_frame or _drop_frame.
	  The latter may not be applicable, or may or may not have already
	  been called for the frame in question.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=693772

2013-11-26 20:51:58 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix spelling error in debug message

2013-11-29 17:30:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: copy sticky events

2013-11-29 17:26:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: copy sticky events

2013-11-29 13:32:55 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/theora/gsttheoraparse.c:
	  theoraparse: Fix event handling
	  Send CAPS event before any SEGMENT events or any other events
	  that must come in order after the CAPS event.

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

	* tools/gst-play.c:
	  tools: gst-play: quit on Q or Esc key

2013-11-28 16:22:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gsttcpserversink.c:
	  tcp: fix compilation with MSVC
	  error C2440 at line 165 of gsttcpserversink.c
	  type cast error: cannot convert from GSocket* to GstMultiSinkHandle

2013-11-28 11:25:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: activate ghost pad before targetting
	  Activate the decodebin2 pad before setting the target. This makes sure
	  that the events are copied.

2013-11-21 22:54:42 +1100  Matthew Waters <ystreet00@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: add GstVideoGLTextureUploadMeta buffer pool option
	  allows configuration of whether GstVideoGLTextureUploadMeta is
	  added to buffers resulting from a buffer pool.  This is sperate
	  to the caps feature in that an element may want to add the upload
	  meta itself rather than allowing the buffer pool to.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712798

2013-11-26 12:29:30 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: error out if no frames are decoded before eos
	  Raise an error in case no frames are decoded before EOS and we
	  have input, meaning that data was received but it was somehow invalid.
	  Based on the videodecoder change, merged here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-26 12:20:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Allow using -1 for infinite tolerated errors
	  Allows using -1 to make audiodecoder never post an error message
	  after decoding errors.
	  Based on the videodecoder change, merged here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-26 12:03:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix visualizations if no visualization plugin was set
	  https://bugzilla.gnome.org/show_bug.cgi?id=712280

2013-10-29 14:40:23 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: error out if no frames are decoded before eos
	  Raise an error in case no frames are decoded before EOS and we
	  have input, meaning that data was received but it was somehow invalid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-10-29 14:11:51 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: allow using -1 for infinite tolerated errors
	  Allows using -1 to make videodecoder never post an error message
	  after decoding errors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-24 14:38:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-kb.h:
	* tools/gst-play.c:
	  tools: play: implement seeking via console in interactive mode
	  Arrow left and right to seek back of forward.

2013-11-24 14:33:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: fix endless loop on unhandled keys
	  When debugging output is not enabled.

2013-11-24 13:49:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: add keyboard controls for next/previous item in list
	  Make the '>' and '<' keys skip to the next or previous item in
	  the playlist.

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

	* tools/Makefile.am:
	* tools/gst-play-kb.c:
	* tools/gst-play-kb.h:
	* tools/gst-play.c:
	  tools: play: add --interactive switch and basic keyboard handling
	  Only pause/play with spacebar for now.

2013-11-23 11:25:28 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefinder for OpenEXR

2013-11-21 21:33:59 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: avoid descending output timestamps
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712796

2013-11-22 21:00:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: add --shuffle command line option

2013-11-21 16:34:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	  tests: add unit test for samiparser issue
	  https://bugzilla.gnome.org/show_bug.cgi?id=712805

2013-11-21 22:04:46 +0900  Jihyun Cho <jihyun.jo@gmail.com>

	* gst/subparse/samiparse.c:
	  subparse: fix null pointer access in sami parser
	  https://bugzilla.gnome.org/show_bug.cgi?id=712805

2013-11-21 15:19:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  subparse: g_memmove() is deprecated
	  Just use plain memmove(), g_memmove() is deprecated in
	  recent GLib versions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712811

2013-11-18 19:27:14 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/icles/input-selector-test.c:
	  tests: fix input-selector-test
	  Update for pad template name changes.

2013-11-18 16:03:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsrc.c:
	  tests: fix appsrc test with latest GLib version
	  With the latest GLib, g_source_remove() complains about not finding
	  the timeout source with the given ID here, since it was already
	  destroyed by returning FALSE from the timeout callback. Also return
	  FALSE from the bus watches when we don't want to be called any more.

2013-11-16 13:06:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoraparse.c:
	* gst/app/gstapp.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/videorate/gstvideorate.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  docs: remove old 0.10 Since markers
	  They're just confusing.

2013-11-16 12:29:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	  docs: cosmetic since marker fixes

2013-11-16 15:24:48 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: also set output buffer DTS

2013-11-14 01:53:31 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix identification of some MPEG files
	  Make sure we begin by peeking at MPEG2_MAX_PROBE_LENGTH
	  bytes.
	  Fixes:
	  https://bugzilla.gnome.org/show_bug.cgi?id=678011

2013-11-13 20:12:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Fix gst_rtp_buffer_ext_timestamp() with clang 5 on iOS/ARM
	  The bitwise NOT operator is not defined on signed integers.
	  Thanks to Wim Taymans for finding the cause.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711819

2013-11-12 18:58:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/streamsynchronizer.c:
	  tests: fix race in streamsynchronizer test
	  Wait for thread to exit before starting to free the
	  to_push list, otherwise thread might check the final
	  to_push->next node only after we've freed it already.

2013-11-11 14:10:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: try to negotiate the buffer pool even though there is no o/p format
	  We could have allocation query before caps event and even without caps inside
	  the query. In such cases , the downstream can return a bufferpool object with
	  out actually configuring it. This feature is helpful to negotiate the bufferpool
	  with out knowing the output video format. For eg: some hardware accelerated
	  decoders can interpret the o/p video format only after it finishes the decoding
	  of one buffer at least.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687183

2013-11-07 15:03:34 +0000  Tom Greenwood <tcdgreenwood@hotmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Fix deadlock that may occur when multiple threads access appsrc at once
	  https://bugzilla.gnome.org/show_bug.cgi?id=711550

2013-11-04 09:55:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: accumulate buffers in adapter
	  Accumulate buffers in an adapter instead of appending them because append causes
	  a lot of memcpys.
	  Keep track of the last tagsize and accumulate enough data before attempting to
	  parse more data.
	  This patch implements a minimal amount of changes in order to not change the
	  behaviour. We should really rewrite the tag handling and trimming using
	  the adapter API instead of merging and trimming into a buffer.

2013-11-06 12:16:31 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/adder.c:
	  adder: Free consistency checker instance in test_live_seeking test

2013-11-06 12:01:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/adder.c:
	  adder: Release some request pads properly in the unit test

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

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

2013-11-04 11:34:38 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: fix build after last commit
	  Add a forward declaration for my_g_string_append_printf that specifies
	  G_GNUC_PRINTF. Turn off indent on it as it drives gst-indent crazy.

2013-11-04 11:17:30 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: fix -Wformat-nonliteral warning

2013-11-03 15:57:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audio.c:
	  audio: Add unit test for filling memory with silence samples

2013-11-03 12:23:12 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: Update ORC dist files

2013-11-03 12:22:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/gstaudiopack.orc:
	  audio-format: Use ORC for filling memory with silence samples

2013-11-01 17:02:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstrtsp.def:
	  rtspconnection: Add new API to the docs and .def file

2013-11-01 16:43:56 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: Fix indention in header

2013-11-01 07:25:01 -0700  Aleix Conchillo Flaque <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: allow setting tls certificate validation
	  Added new functions gst_rtsp_connection_set_tls_validation_flags() to
	  allow setting the TLS certificate validation flags when establishing a
	  TLS connection.
	  A getter is also available, gst_rtsp_connection_get_tls_validation_flags().
	  https://bugzilla.gnome.org/show_bug.cgi?id=711231

2013-11-01 14:22:13 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: fix duplicate 'const' declaration warnings
	  https://bugzilla.gnome.org/show_bug.cgi?id=711258

2013-10-16 16:46:05 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstrawcaps.h:
	  playback: Add subpicture/x-dvb as raw caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=710325

2013-10-28 12:36:04 +0100  Antonio Ospite <ospite@studenti.unina.it>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix adding borders when NV12 is used
	  When the frame buffer is NV12 the borders are not added at all, fix that
	  and fill them to black.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711003

2013-10-23 16:43:32 +0100  Matthieu Bouron <matthieu.bouron@gmail.com>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: remove unneeded guint comparaison
	  https://bugzilla.gnome.org/show_bug.cgi?id=710760

2013-10-14 18:45:16 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: also filter 'framed' field when looking for same streams
	  Fixes extra streams for some mp4 files containing aac audio.

2013-10-08 21:57:11 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix copy'n'paste in comment

2013-10-10 15:56:32 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Do nothing when flushing the encoder when no caps were set
	  In case we receive a flush event before having our caps set, we will
	  end up trying to create a theora encoder even though we are not ready.
	  Avoid that situation making sure we are initialized before accepting to
	  be flushed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709858

2013-10-11 21:51:00 +0200  Stephan Sundermann <stephansundermann@gmail.com>

	* gst-libs/gst/video/navigation.c:
	  navigation: Add missing out parameter annotations to GstNavigation
	  https://bugzilla.gnome.org/show_bug.cgi?id=709938

2013-10-10 14:09:19 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* tests/examples/overlay/qtgv-videooverlay.cpp:
	  examples/overlay: handle the case when xvimagesink is not found
	  So that ximagesink can have a chance to be found.
	  In qtgv-videooverlay.

2013-10-10 14:01:44 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	  examples/overlay: unref sink only when found
	  In gtk-videooverlay and qt-videooverlay examples.

2013-10-07 14:52:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	  encodebin: Handle changes in encoding_profile::restriction during playback
	  There are cases where we want to change the restrictions caps during
	  playback, handle that in encodebin.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709588

2013-10-08 17:07:02 +0200  Takashi Iwai <tiwai@suse.de>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Add channel map API support
	  The initial support for the new ALSA chmap API.
	  Just translate the current chmap to GstAudioChannelPosition during the
	  setup.  No function to specify the channel map manually yet, so still
	  impossible to assign any non-standard positions or to configure in a
	  different order even if the hardware allows.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709755

2013-10-08 16:02:46 +0200  Takashi Iwai <tiwai@suse.de>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Don't clear need_reorder flag too early
	  gst_audio_ring_buffer_set_channel_positions() checks whether the given
	  positions are identical with the current setup and returns
	  immediately if so.  But it also clears need_reorder flag before this
	  comparison, thus this flag might be wrongly cleared if the function is
	  called twice with the same channel positions.
	  Move the flag clearance after the check.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709754

2013-10-08 16:13:58 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* tests/check/elements/videotestsrc.c:
	  videotestsrc: improve test for backwards playback
	  Improve test by checking that timestamps are decreasing

2013-10-08 16:10:54 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* tests/check/elements/videotestsrc.c:
	  videotestsrc: implement duration query
	  Add duration query to videotestsrc, it can answer this query when
	  the num-buffers property is set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709646

2013-06-07 16:32:23 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* tests/check/elements/videotestsrc.c:
	  tests: test videotestsrc in reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=701813

2013-10-08 00:08:34 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: implement reverse playback
	  Decrement the n_frames counter when doing reverse playback to
	  have timestamps and offsets reducing instead of increasing
	  https://bugzilla.gnome.org/show_bug.cgi?id=701813

2013-10-08 09:13:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't overflow in bytes<->time conversion
	  fps_n and _d values can be large and this can overflow a uint. Also fix
	  copy'n'paste mistake in comments.

2013-10-07 22:52:27 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: filter 'parsed' field when checking for same caps
	  We're checking the caps to see if we got more caps details after a parser got
	  plugged. This will also have a flipped 'parsed' field. If the field was already
	  present before the parse the match will fail. Add a function that will do the
	  check while excluding this field.

2013-10-07 22:51:46 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't shadow local variables

2013-10-07 22:51:04 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: early return when we have no streams

2013-10-07 22:49:52 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: also log stream-id

2013-10-07 18:53:18 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix quark-mismatch for toc and stream-id
	  Seems like a copy'n'paste from 15ee41df.

2013-10-05 21:01:53 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: report depth for video
	  This was returning 0 in all cases. Use the data from GstVideoFormatInfo instead.

2013-10-04 13:57:51 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Map buffer as READWRITE if the buffer and memory is writable
	  and only use the input buffer as temporary buffer in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709408

2013-09-30 21:46:10 +0200  Hans Månsson <hansm@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Connect to proxy if specified
	  Reference: https://bugzilla.gnome.org/show_bug.cgi?id=708880

2013-10-03 19:52:58 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tools/gst-discoverer.c:
	  discoverer: extract helper to print common stream info
	  Save some lnes of code by using a helper for common stream info.

2013-10-02 11:27:41 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: extract some common code
	  Extract code to make a GstDiscovererInfo. Extracts code that sets StreamInfo.

2013-10-02 15:02:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: If the visualisation is changing and reconfiguration is pending, do it all during reconfiguration
	  Otherwise we will have two pad blocks that want to use the same mutex
	  and block each other via the streamlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709210

2013-10-02 13:06:03 +0200  Edward Hervey <edward@collabora.com>

	* win32/common/libgstpbutils.def:
	  win32: Update defs file

2013-10-02 12:26:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  pbutils: Add codec-utility funtions to support H265
	  https://bugzilla.gnome.org/show_bug.cgi?id=708921

2013-10-01 23:17:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	  descriptions: Add description for H.265

2013-09-24 15:51:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefind function for H265
	  https://bugzilla.gnome.org/show_bug.cgi?id=708680

2013-09-24 16:47:52 -0700  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: make sure elements are in null before disposing
	  If a pipeline fails to preroll, it might happen that the sinks are
	  put into READY state from playbin's sink activation, but they are never
	  set to playsink, so they aren't being managed by a GstBin and will keep
	  their READY state until they are unreffed, leading to a warning.
	  Prevent this by always forcing them to NULL when deactivating a group
	  https://bugzilla.gnome.org/show_bug.cgi?id=708789

2013-09-28 13:19:02 +0200  Johannes Dewender <gnome@JonnyJD.net>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Don't consider trailing data tracks for MusicBrainz disc id calculation
	  MusicBrainz removes trailing data tracks from releases on the server
	  and also for the calculation of the MusicBrainz Disc ID.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708991

2013-09-23 11:35:43 +0200  David Svensson Fors <davidsf@axis.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: check if acquired in set_timestamp
	  Also use GST_OBJECT_LOCK when accessing object data in set_timestamp.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702230

2013-09-15 21:48:43 +0200  MathieuDuponchelle <mathieu.duponchelle@epitech.eu>

	* gst/adder/gstadder.c:
	  adder: Don't take channel mask in consideration in mono or stereo
	  This could cause negotiation to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708633

2013-09-27 22:41:28 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: clip buffer before pushing it
	  https://bugzilla.gnome.org/show_bug.cgi?id=708953

2013-09-27 22:40:28 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/audio/audio.c:
	  audio: change buffer timestamp when clipping even if data hasn't been trimmed
	  https://bugzilla.gnome.org/show_bug.cgi?id=708952

2013-09-27 22:53:43 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add entry for text/x-raw
	  https://bugzilla.gnome.org/show_bug.cgi?id=708954

2013-09-25 19:29:24 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add MPEG 2 AAC description
	  https://bugzilla.gnome.org/show_bug.cgi?id=708773

2013-09-25 15:17:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: do big correction for large drift
	  If we are using skew slaving and we drift more than twice the allowed amount, do
	  a big correction to get back on track more quickly.

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

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

2013-09-24 16:26:37 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Unset input/output_stream after freeing the GIOStream
	  watch->input_stream and watch->output_stream are owned by the GIOStream
	  and should be unset after freeing the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708689

2013-09-24 15:05:21 +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:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.2.0 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.2.0

2013-09-24 14:14:18 +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/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-24 12:47:26 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Make sure to cache context types we did not store yet
	  https://bugzilla.gnome.org/show_bug.cgi?id=708668

2013-09-24 12:10:00 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Only create writesrc when it is actually needed
	  Creating a GSource and not attaching it to a context will cause
	  a leak of it's child sources. That is why we create writesrc right
	  before attaching it to a context.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708667

2013-09-22 22:55:33 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/adder/gstadder.c:
	  adder: send pending segment out before checking for EOS
	  Otherwise there would be cases where it would not send its segment
	  out when the first collected after getting it would already yield EOS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708590

2013-09-19 17:25:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: copy offsets from metadata
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708606

2013-09-21 15:17:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: fix docs

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

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

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

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

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

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

2013-09-19 16:33:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Fix compilation if no mmap is available
	  Also #ifdef some more code paths that don't make sense without mmap.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708372

2013-09-19 12:58:53 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Switch to playing to handle live URI
	  Fixes discovery on dvb://

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

	* configure.ac:
	  Back to development

=== release 1.1.90 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/libgstallocators.def:
	  Release 1.1.90

2013-09-19 10:13:32 +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/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 20:42:55 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: If there is no PTS at all, assume it starts from the segment start
	  This is to make the multifilesrc ! pngdec case work
	  https://bugzilla.gnome.org/show_bug.cgi?id=688043

2013-09-19 09:44:47 +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/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

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

	* gst/playback/gstplaybin2.c:
	  playbin: Implement context caching for sinks that are not in playsink yet

2013-09-18 18:21:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: No need to set the GstContext on the sink before activating it
	  This is all handled by the GstBin code now.

2013-09-04 20:21:54 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  dmabuf: Make it not a singleton
	  Makes it easier to track how many users there are
	  Also make it possible to create a dmabuf struct on systems without mmap,
	  it just won't be possible to map it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707793

2013-09-13 16:01:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: check for valid payload type
	  The payload type can't be between 72 and 76 because with the marker bit set,
	  this could be mistaken for an RTCP packet then. We do a relaxed check and
	  only refuse 72-76 when the marker bit is set. The effect is that when
	  we try to map an RTCP packet as an RTP packet, we will certainly fail.

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

	* configure.ac:
	  configure: rely solely on pkg-config to find libogg and libvorbis
	  And get rid of AS_SCRUB_INCLUDES
	  https://bugzilla.gnome.org/show_bug.cgi?id=707658

2013-09-12 12:23:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: fix 4tap for RGB15 and RGB16
	  Fix component ordering, it's wrong in both the scanline and merge
	  function so it cancels eachother out and isn't really a except for
	  loss of precision of the green component.
	  Fix calculation of the filter weight

2013-09-10 17:02:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: optimize merge for RGB15 and RGB16

2013-09-10 16:55:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: remove redundant MAX
	  The checks above make it inpossible for the value to be smaller than
	  what we check against with the MAX call.

2013-09-12 09:42:36 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder/decoder: Mark pads as requiring reconfiguration again if negotiation fails
	  Otherwise we might end up in non-optimal configuration, especially
	  when a flush happened during reconfiguration.

2013-09-12 09:35:00 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodecoder/videoencoder: Mark pads as requiring reconfiguration again if negotiation fails
	  Otherwise we might end up in non-optimal configuration, especially
	  when a flush happened during reconfiguration.

2013-09-10 21:44:33 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for TechSmith Screen Capture 2
	  https://bugzilla.gnome.org/show_bug.cgi?id=707878

2013-09-10 21:44:21 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for TechSmith Screen Capture 2
	  https://bugzilla.gnome.org/show_bug.cgi?id=707878

2013-09-06 15:36:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: check for full eos after a pad goes eos in push mode
	  After a pad is on EOS, verify if all pads are EOS and return
	  upstream, avoiding keeping the buffer flow without having more
	  data to push

2013-09-06 15:56:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: properly handle stop position at seeks in push mode
	  Store the seek stop and seqnum and properly restore them when
	  receiving the corresponding Segment from upstream. Also fixes
	  seqnum for converted seek events.

2013-09-10 16:16:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: fix RGB15 masks

2013-09-10 16:06:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: simplify YUYV and UYVY linear scaling
	  Simplify the code and make it handle odd width

2013-09-10 16:05:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: small cleanups
	  Use BLEND macro
	  Fix NV12 corner case

2013-09-10 16:03:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: fix RGB15 masks

2013-09-10 12:18:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: simplify nearest scaling
	  Round the accumulator to avoid later checks
	  Remove some bound checks that would never trigger
	  Fix odd width scaling

2013-09-10 11:31:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_image.c:
	  videoscale: pick nearest line in scaling
	  Use rounding to pick the nearest line instead of rounding down.

2013-09-03 17:27:37 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/tags.c:
	  tag: id3: encapsulate ID3V2 blob frames in GstSample
	  id3mux and id3v2mux expect GST_TAG_ID3V2_FRAME type to be stored in a
	  GstSample and not a buffer, which is also needed because we can't
	  attach extradata/caps to buffers any more. These are private tags
	  no one should be poking at, and also the extra info is missing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707765

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

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: fix and improve raw video format description strings
	  Mark terms such as "planar", "packed", and "palettized" as
	  translatable, and re-arrange strings a bit to make them
	  better suited for translation.
	  Also fix bug in yuv descriptions, one plane is packed, more
	  is planar (or semi-planar).
	  https://bugzilla.gnome.org/show_bug.cgi?id=707789

2013-09-09 15:52:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/video.h:
	  docs: fix some doc blocks

2013-08-21 23:54:49 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: implement transform_meta virtual method.
	  If tags of the meta only contain "video", let it be copied.

2013-08-21 23:56:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video.h:
	  video/audio: #define metadata strings.
	  For instance "orientation" becomes GST_VIDEO_ORIENTATION_METADATA.

2013-09-07 19:14:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  tools: play: set playbin to NULL state on error to flush messages
	  Just flushing the bus doesn't work here for some reason, so set
	  playbin to NULL state, which seems to clear all error state and
	  makes sure we do play the next playable song and don't pick up
	  'ghost' error messages from previous files on the bus.

2013-09-06 23:17:44 +0200  Loïc Minier <lool@dooz.org>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playback: fix docs of convert-sample action signal
	  convert-sample returns a GstSample, not a GstBuffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707660

2013-09-06 13:28:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: fix build without orc or older or versions
	  ./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_unpack_NV24'
	  ./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_pack_NV24'

2013-09-06 12:44:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: disable fastpath for odd width on some formats

2013-09-06 12:43:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix NV24 pack/unpack function
	  We can't reuse the NV12 functions, we need to make new ones.

2013-09-06 12:42:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle odd width in more pack/unpack functions

2013-09-05 18:33:28 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-format.c:
	  video-format: minor pack_YVYU optimisation
	  Re-use already calculated line offset.

2013-09-05 17:46:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: flush pending lines on odd height

2013-09-05 17:22:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add additional width/height constraints
	  Some of the fastpath function can only work with aligned widht/height
	  so make sure we check this as well when choosing a fastpath.
	  Add fastpath for I420/YV12 -> BGRx

2013-09-05 17:06:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix chroma offsets

2013-09-05 16:25:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: don't convert too much with odd width

2013-09-05 16:15:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix unpack functions for odd formats

2013-09-05 15:02:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: clean up pack/unpack functions

2013-09-05 14:12:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle odd width in various pack functions

2013-09-05 12:44:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: don't overrun the arrays on UYVP

2013-09-05 11:05:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: handle lines in one go
	  Handle odd heights in 1 go when no vertical subsampling is used.

2013-09-05 11:04:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix height round down

2013-09-04 17:34:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: also allocate temp lines in fastpath
	  Some of the fastpath functions need tmplines, so make sure we allocate some in
	  the fastpath too.
	  This avoids SEGFAULTs with odd heights.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=663248

2013-09-04 17:21:23 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	  Update specfile with latest changes

2013-09-04 15:07:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add more fastpaths
	  Also reuse the I420 code for YV12 because it can handle the swapped UV fields
	  just fine.

2013-06-10 16:06:21 +0100  Alex Ashley <alex.ashley@youview.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Added "dash" and "avc3" fourCC codes to qt_type_find.
	  This commit adds detection of the "dash" and "avc3" compatible brands
	  in qt_type_find.
	  Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
	  structure for fragmented MP4 called "avc3". The principal difference
	  between AVC1 and AVC3 is the location of the codec initialisation
	  data (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV
	  box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in
	  the first sample of every fragment (i.e. the first sample in each mdat
	  box).  The principal reason for avc3 is to make it easier for client
	  implementations, because it removes the requirement to insert the
	  SPS+PPS in to the decoder pipeline every time there is a representation
	  change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702004

2013-08-31 01:05:40 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=707158

2013-09-03 17:37:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: only chroma subsample when needed

2013-09-03 15:42:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix handling of chroma resample
	  Increase the number of temporary lines that we need, it is possible that the
	  up and downsampling offsets are out of phase and that we need to keep some
	  extra lines around. Also copy the unhandled output lines for the next round
	  instead of overwriting them.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706823

2013-09-03 15:41:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: improve debug

2013-09-03 00:47:18 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Check for invalid stop position before calculating a duration from it
	  https://bugzilla.gnome.org/show_bug.cgi?id=707332

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

	* configure.ac:
	  Require orc >= 0.4.18
	  Which contains important bug-fixes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698520

2013-08-30 15:19:32 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for MSS1 and MSS2 windows media formats

2013-08-30 13:51:47 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Provide correct media type for MSS1 and MSS2
	  Windows Media Video Screen (WMV Screen) are video formats that
	  specilise in screencast content. This provides a correct media type
	  for them instead of just video/x-asf-unknown.

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

	* configure.ac:
	  Back to development

=== release 1.1.4 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.1.4

2013-08-28 12:31:23 +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/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

2013-08-27 15:03:54 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix forwarding of GstForceKeyUnit events
	  Use the frame id to match the output forced keyframe with
	  the event that forced it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706885

2013-08-26 11:44:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisenc: remove unused variables

2013-08-26 11:47:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: do additional packet checks
	  Check the packet size and avoid crashing on malformed packets.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=655727

2013-08-26 11:46:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: improve bye parsing
	  It is an error to ask for a non-existing BYE SSRC, the caller should
	  check the SSRC count first.

2013-08-23 18:06:36 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix mmap counting
	  A successful gst_dmabuf_mem_map must always increment the mmap count.
	  Otherwise the first gst_dmabuf_mem_unmap will unmap the memory and all
	  other user will access unmapped memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706680

2013-08-26 08:08:32 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: implement flushing

2013-08-25 10:25:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Make sure to return TRUE if the same caps are set again

2013-08-23 19:47:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: improve fixate_format function readability even more
	  Do the flags comparisons only once and re-use the result.

2013-08-23 19:41:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: simplify fixate_format function some more
	  If we have no output format yet, any format will do. The
	  !out_info condition existed in every path, so just split
	  it our for clarity. KISS.

2013-08-23 19:05:41 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: make fixate function more readable
	  Use some variables to replace accessor macros to make code
	  a little bit mor readable.

2013-08-23 18:52:44 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: remove unnecessary deep nesting in fixate function
	  Makes it easier to read and removes two levels of indentation.

2013-08-23 19:20:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Only set the caps when they actually changed

2013-08-23 19:17:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Simplify pushing of pending events during negotiation
	  And also don't send the same caps twice.

2013-08-23 19:10:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix last commit and simplify code a lot

2013-08-23 18:51:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: If we have to lose precision, try to lose as less precision as possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=706624

2013-08-23 16:59:30 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix previous commit
	  (sorry)

2013-08-23 15:22:43 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videocoder: Don't push out identical caps
	  This avoids triggering plenty of extra code/methods/overhead downstream when
	  we can just quickly check whenever we want to set caps whether they are
	  identical or not
	  https://bugzilla.gnome.org/show_bug.cgi?id=706600

2013-08-23 15:22:05 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't push out identical caps
	  This avoids triggering plenty of extra code/methods/overhead downstream when
	  we can just quickly check whenever we want to set caps whether they are
	  identical or not
	  https://bugzilla.gnome.org/show_bug.cgi?id=706600

2013-08-22 17:33:45 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Update segment.base with the chain's start time too
	  Fixes playback of chained ogg files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706569

2013-08-22 14:18:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefinder for video/x-pva
	  https://bugzilla.gnome.org/show_bug.cgi?id=158719

2013-08-21 16:02:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  gst-play: move current playlist index along in about-to-finish

2013-08-21 15:39:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  gst-play: add --gapless mode
	  so we can test about-to-finish.

2013-08-21 12:34:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: mark DISCONT on buffer in all cases
	  Always mark discont on the input buffer when we detect a seqnum
	  discont and not only when we previously marked ourselves DISCONT.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706422

2013-08-21 11:20:28 +0100  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix syntax error

2013-08-14 16:20:45 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  tag: id3: handle publisher, interpreted-by and musical-key tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=705999

2013-08-15 11:03:47 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: add musical-key tag
	  https://bugzilla.gnome.org/show_bug.cgi?id=705999

2013-08-19 10:39:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  Revert "pbutils: allow describing unfixed caps if they share the same media type"
	  This reverts commit 065f1603b0f1d2adc8477bf1f3ebe2b154885d89.
	  This is not considered the correct solution, see:
	  https://bugzilla.gnome.org/show_bug.cgi?id=703378

2013-08-16 13:22:33 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improved and extended typefinder for module music formats
	  introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
	  https://bugzilla.gnome.org/show_bug.cgi?id=706061

2013-07-15 16:13:11 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Avoid copying the data

2013-08-17 16:58:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/icles/playback/test6.c:
	  tests: fix uridecodebin signal used in playback test6
	  "new-decoded-pad" no longer exists.

2013-08-17 16:53:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/Makefile.am:
	* tools/gst-play-1.0.1:
	  tools: add man page for new gst-play-1.0 utility
	  https://bugzilla.gnome.org/show_bug.cgi?id=553520

2013-08-14 17:04:19 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/gst-i18n-app.h:
	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-play.c:
	  tools: add simple command-line gst-play utility for testing purposes
	  Differs from a plain gst-launch-1.0 playbin uri=... pipeline in that
	  it can take multiple arguments and as such allows testing of things
	  like gapless playback, switching between different formats and the
	  like. Very minimal at this point, we'll probably want to add
	  interactive controls and more options at some point.
	  https://bugzilla.gnome.org/show_bug.cgi?id=553520

2013-08-16 13:59:35 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: fix direct includes
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 13:55:33 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/missing-plugins.h:
	  pbutils: fix direct includes
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 13:47:31 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-chroma.h:
	* gst-libs/gst/video/video-frame.h:
	  video: make direct includes work again
	  Not nice to break people's code if we can avoid it. Could
	  add a warning in the next cycle, and then require single
	  includes in the cycle after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

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

	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudiometa.h:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: make direct includes work again
	  Not nice to break people's code if we can avoid it. Could
	  add a warning in the next cycle, and then require single
	  includes in the cycle after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 14:12:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/icles/test-header-compile:
	  tests: add test-header-compile script
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 12:12:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  Revert "typefind: improved and extended typefinder for module music formats"
	  This reverts commit 4c79f35c7abc78bf4d325a8cd2059e8832ea0b34.
	  It causes some MP4 files to be detected as mod files.

2013-08-13 23:18:34 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improved and extended typefinder for module music formats
	  introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
	  https://bugzilla.gnome.org/show_bug.cgi?id=706061

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't reset too much if we're resetting because of a soft-flush
	  Fixes reverse playback with Ogg/Theora.

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

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	  theora: Use new video codec base classes' flush vfunc

2013-08-15 12:45:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't reset decoder on segment events
	  Either there was a flush before that resets everything anyway,
	  or resetting would make us lose information we might need if
	  it's just a segment update.

2013-08-15 12:44:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video{en,de}coder: Add new flush vfunc as a replacement for reset

2013-08-14 16:55:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video{en,de}coder: Revert to old ::reset() behaviour and deprecate it

2013-08-15 16:12:45 +0800  Jie Yang <yang.jie@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: ADTS/AAC, find more aac sync to select correctly
	  https://bugzilla.gnome.org/show_bug.cgi?id=691462

2013-08-14 15:43:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Don't set sink to NULL if a new one is set while the old one is still in use

2013-08-14 11:43:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/gio/gstgiobasesrc.c:
	  gio: fix printf format compiler warning

2013-08-13 20:39:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: document that "finished" and "discovered" signals are only emitted in async mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=660195

2013-08-13 17:39:34 +0200  Edward Hervey <edward@collabora.com>

	* tests/check/elements/.gitignore:
	  check: Update .gitignore

2013-08-13 17:39:25 +0200  Edward Hervey <edward@collabora.com>

	* .gitignore:
	  .gitignore: Ignore files from automake test-driver

2013-08-13 13:43:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* tests/check/elements/playbin-complex.c:
	  playbin-complex: Set fakesink as audio-sink to not use a real audio device
	  https://bugzilla.gnome.org/show_bug.cgi?id=705157

2013-08-12 13:47:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefind function for WebP image format
	  https://bugzilla.gnome.org/show_bug.cgi?id=705826

2013-08-04 01:01:25 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst/gio/gstgiobasesrc.c:
	  gio: make better use of the cached buffer
	  When playing mp3 files from a smb server, we get 64k read requests
	  that mostly overlap.  Without using the cache to partially satisfy
	  these, we send these requests straight to the server, resulting in
	  a lot more network traffic than necessary.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705415

2013-07-25 20:47:02 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Clear taglist on reception of a STREAM_START event
	  https://bugzilla.gnome.org/show_bug.cgi?id=705109

2013-07-30 17:37:43 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Clear taglist on reception of a STREAM_START event
	  https://bugzilla.gnome.org/show_bug.cgi?id=705109

2013-08-08 12:11:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Set proxy flags on the pads and use default event handler for simplicity
	  https://bugzilla.gnome.org//show_bug.cgi?id=705555

2013-08-06 15:42:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: calculate FB packet length correctly

2013-08-06 15:11:05 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Raw buffers DTS should always be CLOCK_TIME_NONE

2013-08-05 16:14:22 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: set DTS and PTS, sync on DTS

2013-08-02 20:08:29 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst/playback/gstplaybin2.c:
	  playbin: check for tags on the right combiner instance
	  The get-tags actions are not working in all cases, because the track
	  number is used to resolve the stream combiner instead of the stream
	  type.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705369

2013-08-02 16:57:43 -0700  David Schleef <ds@schleef.org>

	* tests/check/Makefile.am:
	  tests: move orc removal to distclean

2013-08-02 14:33:24 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  configure: create dir tests/check/orc
	  This is required now that subdir-objects is used, since automake
	  expects to create a .deps directory inside.

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

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

2013-08-02 11:00:06 +0200  Edward Hervey <edward@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Demote ERROR statement back to DEBUG
	  It crawled in with david's latest commit

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Revert previous commit
	  The 'hard' argument of reset changed signification after the latest
	  start/stop/reset refactoring.

2013-08-01 16:01:30 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Pass on 'hard' argument from _flush to _reset
	  When most of the code was moved from _flush() to _reset() the 'hard'
	  argument was no longer propagated.

2013-07-31 11:26:58 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add pinwheel and spokes patterns

2013-07-30 15:58:26 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: private/teletext -> application/x-teletext

2013-07-29 19:41:43 +0100  Tim-Philipp Müller <tim@centricular.net>

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

2013-07-26 15:29:05 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Prevent seeks when _SCHEDULING_FLAG_SEQUENTIAL is set
	  Don't go into pull mode when the upstream scheduling flags indicate
	  seeks should be avoided by setting GST_SCHEDULING_FLAG_SEQUENTIAL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704929

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

	* configure.ac:
	  Back to development

=== release 1.1.3 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/libgstpbutils.def:
	* win32/common/video-enumtypes.c:
	  Release 1.1.3

2013-07-29 13:36:51 +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/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:11:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't swap start/stop for negative rates in the SEGMENT query

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

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Properly implement seeking if tagdemux is driving the pipeline
	  https://bugzilla.gnome.org/show_bug.cgi?id=705062

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Implement SEGMENT query

2013-07-28 23:38:06 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/videorate/gstvideorate.c:
	  videorate: ignore GAP event
	  videorate automatically fills gaps with the previous frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705048

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

	* gst/audiorate/gstaudiorate.c:
	  audiorate: ignore GAP event
	  audiorate automatically fills gaps with silence.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705048

2013-07-28 13:52:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: Fix handling of partial writes and WOULD_BLOCK errors

2013-07-28 13:23:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: Update current time after every write
	  Each write will update the last_activity_time and otherwise we would
	  compare against a too old current time and immediately timeout because
	  current time is smaller than last activity time (overflow).

2013-07-28 13:20:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Update current time after every write
	  Each write will update the last_activity_time and otherwise we would
	  compare against a too old current time and immediately timeout because
	  current time is smaller than last activity time (overflow).

2013-07-27 12:16:15 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for teletext

2013-07-26 14:28:41 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: do not leak input caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=704926

2012-11-02 10:04:16 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Initialize GstVideoInfo in ::start()
	  Otherwise we end up with bogus values and races

2012-11-02 10:03:38 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't error on not-negotiated
	  Base classes will handle re-negotiation if needed, but emitting an
	  error message will make applications stop.

2012-09-12 12:41:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/pango/gstbasetextoverlay.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gststreamsynchronizer.c:
	  ext/gst: Ensure default query/event handlers are used
	  And in some cases, just remove our implementation that does nothing

2013-07-26 11:02:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	  appsrc: Also provide function API for current-level-bytes and integrate into the docs

2013-07-26 15:00:44 +0900  Changbok Chea <changbok.chea@lge.com>

	* gst-libs/gst/app/gstappsrc.c:
	* win32/common/libgstapp.def:
	  appsrc: Add "current-level-bytes" property
	  https://bugzilla.gnome.org/show_bug.cgi?id=704774

2013-07-25 20:03:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: add a gst_codec_utils_aac_get_index_from_sample_rate
	  It maps a sample rate to a well known AAC sample rate index.

2013-07-26 10:22:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodecoder/encoder: Call reset() always between start() and stop() and never outside

2013-07-25 14:25:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder/decoder: Call reset() before start() too

2013-07-25 11:56:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: don't detect mp3 based on just a few bits
	  Remove dodgy code that detects mp3 with as little as
	  a valid frame sync at the beginning. This was only used
	  in some unit tests in -good where there were only a few
	  bytes after the id3 tag. We now require at least two
	  frame headers.
	  Fixes mis-dection of text files with UTF-16 LE BOM as mp3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681368

2013-07-25 14:11:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	  audio/videodecoder: Rename variable in macro from dec to __dec
	  Otherwise it might shadow another variable in the outside scope
	  and cause interesting side effects.

2013-07-25 13:31:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Clean up handling of reset/flushing/start/stop

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

	* ext/theora/gsttheoradec.c:
	  theoradec: Clean up handling of reset/flushing/start/stop

2013-07-25 10:53:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: There's no point in resetting the encoder when the caps change
	  The subclass will be called with set_format() and there it can drain
	  if necessary and reset whatever is necessary. This is the same behaviour
	  as for the video decoder.

2013-07-25 10:46:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Reset internal state and segments on FLUSH_STOP
	  https://bugzilla.gnome.org/show_bug.cgi?id=656007

2013-07-25 10:42:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Refactor GstVideoEncoder::reset() handling a bit
	  Let gst_video_encoder_reset() call it as would be intuitive and
	  only call it indirectly from gst_video_encoder_drain(). Now it
	  actually makes sense.

2013-07-25 10:20:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Refactor GstVideoDecoder::reset() handling a bit
	  Let gst_video_decoder_reset() call it as would be intuitive and
	  only call it indirectly from gst_video_decoder_flush(). Now it
	  actually makes sense.

2013-07-24 09:24:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Take DTS as PTS for keyframes as a last resort if we can't calculate any PTS
	  https://bugzilla.gnome.org/show_bug.cgi?id=704193

2013-07-23 13:42:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Remove two unused variables

2013-07-23 13:38:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Remove some more unneeded segment tracking

2013-07-23 13:36:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	  playsinkconvertbin: Remove obsolete segment tracking
	  This is now all handled automatically with sticky events.

2013-07-23 12:40:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Ensure that everything in a GstSourceGroup gets the same group-id
	  Including streams from external subtitle files. If not everything implements
	  the group-ids playbin invents its own.

2013-07-23 12:35:46 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Fix handling of colorbalance element if the sink does not implement it

2013-07-23 11:13:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Improve segment handling in the custom flushing for subtitle stream switches
	  This code needs a lot more work to be improved for 1.0.

2013-07-23 11:11:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Segment events are sticky now and propagated automatically when needed

2013-07-23 09:14:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/encoding/gststreamcombiner.c:
	  streamcombiner: Proxy all sink events downstream
	  Thanks to Mathieu Duponchelle for noticing this regression
	  introduced with the last change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704706

2013-07-22 15:24:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Add support for group-id in the stream-start event

2013-07-22 15:24:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggmux.c:
	  ogg: Add support for group-id in the stream-start event

2013-07-22 13:15:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Implement grouping of streams via the group-id
	  https://bugzilla.gnome.org/show_bug.cgi?id=704427
	  https://bugzilla.gnome.org/show_bug.cgi?id=704408

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

	* gst/encoding/gststreamcombiner.c:
	  streamcombiner: Fix locking
	  We have to hold the streams-lock when iterating over all pads,
	  also the stream-lock of the pad is already locked when we receive
	  EOS.
	  Call gst_pad_event_default() for the correct default handling of
	  events.

2013-07-22 00:48:54 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/encoding/Makefile.am:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombinerpad.h:
	* gst/encoding/gststreamsplitter.c:
	  encoding: fix EOS handling in streamsplitter / combiner.
	  This commit adds a streamcombinerpad with an is_eos field.
	  When streamcombiner receives an EOS on one of its pads, it
	  forwards it all its other pads are EOS.
	  This commit also removes the notion of "stream-switching-eos".

2013-07-19 10:47:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  video-info: respect stride alignment
	  Increase the left padding so that we don't cause stride alignments later when we
	  apply the padding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=694299

2013-07-19 10:43:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  Revert "video: respect stride alignment when calculating planes offsets"
	  This reverts commit 28e1dadbfaa403679e69f8173d1aa2c7500fd556.
	  Incrementing the offset to make the plane aligned causes the image to be
	  incompatible with what Xv expects. Rather that forcing a memcpy in the
	  xvimagesink we would like to do adjust the left padding instead.

2013-07-18 14:13:33 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-info.c:
	  video: respect stride alignment when calculating planes offsets
	  https://bugzilla.gnome.org/show_bug.cgi?id=694299

2013-07-18 07:45:47 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  id3: Use debug category and show FIXMEs
	  Allows spotting faster un-parsed tags

2013-07-17 11:42:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Add docs to the region of interest meta functions

2013-07-17 09:04:47 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/subparse/samiparse.c:
	  subparse: use g_strdup() and friends
	  Fixes build issue on windows, but is also better seeing that
	  these string are going to get freed with g_free() and not free().

2013-07-15 22:27:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Put the modified time back in the time part of the segment
	  https://bugzilla.gnome.org/show_bug.cgi?id=704301

2013-07-16 18:50:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: fix videoscale test after video format addition

2013-07-16 18:42:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: remove obsolete libxml checks
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-07-16 18:30:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	  subparse: don't leak parse context for sami and qttext
	  In gst_sub_parse_dispose() parser_type will be UNKNOWN,
	  so these deinit calls were never executed. And we should
	  clean up the parser state in the downwards state change
	  anyway.

2013-05-28 16:56:28 +0900  Young-Ho Cha <ganadist@gmail.com>

	* tests/check/elements/subparse.c:
	  tests: update sami parser testcases
	  Remove libxml dependency for sami parser
	  and add more testcases.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-05-25 17:10:14 +0900  Young-Ho Cha <ganadist@gmail.com>

	* gst/subparse/Makefile.am:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	  subparse: remove libxml dependency for sami parser and re-enable sami parser
	  To celebrate 2013.gnome.asia, updated sami parser for gstreamer 1.x. :D
	  Remove conditional block for check libxml usage and
	  implement a simple html markup parser for the sami
	  parser.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-07-16 16:54:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  meta: fix ROI meta getter

2013-07-16 12:21:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't prefer decoders for which we found a matching sink
	  It doesn't make much sense.

2013-07-16 11:47:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for NV24 color format
	  This is semi-planar 4:4:4 YUV.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703259

2013-07-16 11:22:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Also consider possible converters for raw streams when selecting compatible sink/source combinations
	  https://bugzilla.gnome.org/show_bug.cgi?id=704285

2013-07-16 10:09:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* win32/common/libgstvideo.def:
	  videometa: Add to the docs and make function names more consistent with others

2013-07-16 10:04:00 +0200  Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Add Region Of Interest meta
	  https://bugzilla.gnome.org/show_bug.cgi?id=704070

2013-07-16 09:30:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix sorting for decoder factories for which we didn't find a compatible sink
	  They might just need some converters for raw audio/video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704285

2013-07-15 17:09:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Add 'png ' fourcc
	  On top of mpng, MPNG, PNG, there is also png it seems
	  https://bugzilla.gnome.org/show_bug.cgi?id=704291

2013-07-15 15:23:17 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  allocators: dmabuf: allow testing allocator type
	  In decide_allocation function some element may when to test the proposed allocator.
	  For example like this:
	  if (gst_query_get_n_allocation_params (query) > 0) {
	  GstAllocator * allocator;
	  GstAllocationParams params;
	  gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
	  if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
	  GST_DEBUG("got dmabuf allocator");
	  else
	  GST_DEBUG("got an other allocator");
	  }
	  https://bugzilla.gnome.org/show_bug.cgi?id=703659

2013-07-14 01:42:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Make bisecting fully accurate
	  When bisecting after an earliest time has been found, we need
	  to only consider the stream for which the earliest time was found.
	  Before, the following scenario could be and was encountered:
	  a) Find the earliest time for stream X
	  b) bisect and find a page which granuletime is indeed < target, but
	  contains another stream.
	  c) decide to seek at the wrong offset, sometimes inferior to
	  the real one, in which case the error was undected or
	  d) the offset was superior, and thus the actual target keyframe was
	  not processed, and packets were skipped waiting
	  for a granulepos.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700537

2013-07-13 20:45:01 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggdemux.c:
	  Revert "oggdemux: fix seeking with negative rate with skeleton"
	  This reverts commit b41cd0428956f3ade9b428149e38be8e788556fe.

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

	* gst/playback/gstplaybin2.c:
	  playbin: Don't print a warning when setting a sink to NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=704194

2013-07-14 18:11:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Create a new write GSource after removing it
	  After removal, a GSource is destroyed and can never be attached
	  again to a main context. We need to create a new one instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704198

2013-07-12 12:05:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Properly destroy and set to NULL sinks that don't work

2013-07-08 23:49:39 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix logic to detect if a stream-change is currently pending
	  Fixes duration reporting in gapless playback between files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=585969

2013-07-12 09:37:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix header formatting

2013-07-10 13:27:21 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Provide correct media type for XSub
	  Xsub (fourcc DXSB) is a subpicture stream used for embeded
	  subtitles on divx files. This provides a correct media type
	  for them instead of just video/x-avi-unknown.

2013-07-11 16:57:11 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.2 ===

2013-07-11 15:30:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.1.2

2013-07-11 15:29:57 +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/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-10 17:16:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Only give sinks a new bus if they have no parent yet
	  Otherwise we will remove the bus that would proxy messages to playsink
	  and never set it again. If the sink is already in playsink, all failures
	  are fatal anyway as it's either a sink that worked before or one that
	  was set by the user.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701997

2013-07-10 13:22:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Store a/v/t sinks locally too, not just in playsink

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

	* gst/playback/gstplaysink.c:
	  playsink: ref_sink() any sinks that are set on playsink
	  Otherwise the behaviour of the properties is inconsistent.

2013-07-10 13:20:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* tests/check/elements/playbin.c:
	  playbin: Fix assumptions in the unit test
	  Unused sinks are still set to READY now during autoplugging
	  to check their caps. Also playsink owns a ref to the sinks too.

2013-07-10 13:00:21 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Non-TIME segment streams are not waiting automatically
	  This was leftover code from porting to 1.0 and fixes the playbin
	  unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701943

2013-07-09 23:04:49 +0200  Branko Subasic <branko@axis.com>

	* win32/common/libgstrtp.def:
	  win32: add missing rtp buffer methods

2013-07-09 14:55:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin: Change sink ownership handling to be a bit more sane
	  playbin will now only activate the sinks in a single place and
	  will never change the states of any sinks that are owned by
	  playsink.
	  Also handle text-sinks the same way as audio/video sinks inside
	  playbin.

2013-07-05 21:55:26 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=703684

2013-07-04 17:09:00 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/colorbalance.c:
	  colorbalance: Fix the typo in base_init().

2013-07-04 12:54:59 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Do not send flush_start event with the stream lock taken
	  FLUSH_START is not serialized, so the lock should not be taken when
	  sending it.

2013-07-05 00:47:08 +0100  Marcin Lewandowski <marcin@saepia.net>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: ignore malformed ID3v2 TDAT frames
	  Just skip them, don't cause criticals.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703283

2013-07-03 09:44:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioresample/speex_resampler_int.c:
	  audioresample: make explicit that neon is disabled and why
	  https://bugzilla.gnome.org/show_bug.cgi?id=703477

2013-07-02 18:20:39 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/audioresample/speex_resampler_int.c:
	  audioresample: disable 16-bit integer NEON support
	  it seems to be broken (produces no audio), plus the performance gain
	  is small
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2013-07-02 14:25:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: If we had a previous autoplugged sink, try to reuse it
	  https://bugzilla.gnome.org/show_bug.cgi?id=701997

2013-07-02 14:18:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: If we switch sinks, make sure that the old sink is set to NULL

2013-07-02 14:02:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't change the state of sinks that we passed to playsink already

2013-07-02 14:01:52 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Consider new audio/video sinks when reconfiguring

2013-07-02 12:27:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Improve debug output regarding sink selection

2013-07-01 12:52:43 -0600  Brendan Long <self@brendanlong.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Post an error message if a stream combiner doesn't return a request pad.

2013-07-01 13:45:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Only intersect to check if a sink can handle raw caps
	  Doing a subset check requires fixed caps, which we might not have here.
	  https://bugs.webkit.org/show_bug.cgi?id=116042

2013-07-01 10:39:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: allow describing unfixed caps if they share the same media type
	  Caps description and missing plugin code does not really need caps to
	  be fixed, and indeed they may not be if giving encodebin unfixed caps
	  that correspond to an unknown encoder or muxer.
	  So we relax the check, and allow unfixed caps if all the structures
	  refer to the same media type.

2013-07-01 11:16:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Send all pending events with type < CAPS before sending caps

2013-06-27 16:33:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Send all pending events with type < CAPS before sending caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703196

2013-06-28 14:48:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: avoid too low mpeg/ts probability on small amount of data
	  With the current test, we get into problems when we try to typefind
	  a MPEG stream from a small amount of data, which can happen when
	  we get data pushed from a HTTP source. We thus make a second test
	  to give higher probability if all the potential headers were either
	  pack or pes headers (ie, no potential header was unrecognized).
	  This fixes an issue with a MPEG1/MP2 stream being properly discovered
	  as video/mpeg from a file, but as audio/mpeg from souphttpsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703256

2013-06-30 18:17:15 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video(enc|dec)oder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return
	  GST_FLOW_FLUSHING instead from finish_frame().
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-30 18:16:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return
	  GST_FLOW_FLUSHING instead from finish_frame().
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-14 07:23:40 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: Allow smart codec tag handling
	  We already have internally the information on what type of stream (audio,
	  video, container, subtitle, ...) a certain caps is.
	  Instead of forcing callers to specify which CODEC_TAG category a certain
	  caps is, use that information to make a smart choice.
	  Does not break previous behaviour of gst_pb_utils_add_codec_description_to_tag_list
	  (if tag is specified it will be used, if caps is invalid it will be rejected,
	  ...).
	  https://bugzilla.gnome.org/show_bug.cgi?id=702215

2013-06-19 09:25:48 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: Add a debug category
	  Instead of using the default category

2013-06-27 12:23:27 +0200  Patricia Muscalu <patricia@axis.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: do not leak lines
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703177

2013-06-26 14:36:17 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Do not leak the event when segment is delayed
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119

2013-06-26 15:03:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: make read uncancelable when reading a message
	  When we start to read a message, we need to continue reading until the end of
	  the message or else we lose track and cause parse errors. Use a variable
	  may_cancel to avoid cancelation after we read the first byte until we have
	  the complete message.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088

2013-06-21 20:41:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-23 12:07:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggstream.c:
	  ogg: The Daala headers are little endian, not big endian

2013-06-23 10:30:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: Add Daala support

2013-06-21 19:04:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add VP9 description

2013-06-17 08:58:13 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix drop frame handling at startup
	  In the unlikely case that the decoder drops a frame before the first
	  input frame is outputted, use the input segment (since it wasn't
	  carried over to the output segment yet)
	  https://bugzilla.gnome.org/show_bug.cgi?id=702502

2013-06-21 11:50:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: dispatch when initial buffer has data
	  When we have data in the inital buffer, dispath the read function to read it
	  even if the socket has no data to read.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652

2013-06-20 17:28:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: manage writer child source better
	  Only add the write child source when we have something to write or else
	  we will dispatch forever without doing anything.

2013-06-19 13:21:45 +0200  Jonas Holmberg <jonashg@axis.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: unref before memset
	  Unref allocator and input_caps in encoder context before memsetting the
	  context.

2013-06-19 09:22:50 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: More efficient GSList usage
	  Instead of constantly appending (which gets more and more expensive), just
	  prepend to the list (O(1)) and reverse the list before usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702545

2013-06-16 22:39:30 +0200  Branko Subasic <branko@axis.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtpbuffer: add gst_rtp_buffer_get_payload_bytes
	  The function gst_rtp_buffer_get_payload can not be used in Python
	  because it lacks necessary length parameter. This patch adds a new
	  function, gst_rtp_buffer_get_payload_bytes, to use from Python
	  bindings. The new function has the advisory "Rename to:" annotation
	  so it can replace the gst_rtp_buffer_get_payload whan creating
	  bindings.
	  The function gst_rtp_buffer_get_extension_bytes is also added. It wraps
	  gst_rtp_buffer_get_extension_data which doesn't work in Python due to
	  incomplete annotation and because it returns the length as number of
	  32-bit words.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698562

2013-06-17 16:34:26 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: add 2 missing gst_buffer_unmap () calls
	  There are 2 missing calls to gst_buffer_unmap () in the error handling in
	  create ().
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702467

2013-06-17 16:02:41 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix the block diagram of deinterlace bin.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702465

2013-06-13 11:08:20 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Emit {audio,text,video}-changed signals when pads are removed
	  https://bugzilla.gnome.org/show_bug.cgi?id=702195

2013-06-11 15:22:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: Fix leaking of the chroma resample helper objects

2013-06-10 14:43:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin-complex.c:
	  tests: add more unit test for playbin
	  Add unit test for autoplugging of video_decoder/video_sink combination
	  based on capsfeatures.

2013-06-10 15:31:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Make sure to set a sensible default port for the GSocketConnection
	  Otherwise it will connect to port 0 if no port is given in the URI.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701798

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

	* gst/adder/gstadder.c:
	  adder: Reject segments that have a different rate than the output segment
	  adder does no rate conversion.

2013-06-08 23:51:13 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: When activating a fixed sink, proxy error messages too
	  If activating a fixed sink fails, everything will fail later anyway
	  and we can just error out early.

2013-06-08 23:34:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Improve autoplugging of decoder/sink combinations by trying to activate the sink
	  And if that fails don't bother autoplugging that sink. Also gives
	  us more accurate sink caps.

2013-06-08 23:08:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Proxy the playbin context to the sinks

2013-06-08 23:04:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Proxy sink messages if we activate a sink in playbin already
	  This makes sure the application gets any context related messages and
	  can do whatever is required to a) get the sink a context or b) share
	  the context with other elements in the pipeline.
	  The proxying is necessary because the sink is not a child element of
	  playbin, but instead will at a later point be a child of some bin
	  inside playsink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700967

2013-06-06 15:57:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Let serialize queries before caps events through
	  Otherwise we're going to deadlock forever because no autoplugging
	  happens without having caps, but caps can never be send because
	  we're blocking.
	  Serialized queries before caps should never be sent unless really
	  necessary.

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-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-plugins-base.doap:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	* 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/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/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.1.1

2013-06-05 16:20:38 +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/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:14:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* common:
	  Automatic update of common submodule
	  From 098c0d7 to 01a7a46

2013-06-04 17:49:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Change GST_WARNING to a GST_DEBUG
	  It's completely normal for some decoders to queue 50-60 frames without
	  it causing any problems, e.g. RPi.

2013-06-01 09:05:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Remove private copy of gst_audio_info_is_equal()
	  And improve the public one a bit based on it.

2013-05-30 16:00:35 -0600  Brendan Long <b.long@cablelabs.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: remove functions added in GLib 2.34
	  g_pollable_stream_read and g_pollable_stream_write were added in GLib 2.34,
	  but Ubuntu 12.04 and Debian Wheezy still use GLib 2.32.
	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=701316

2013-05-30 18:48:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Add GstChildProxy interface for the sinkpads
	  This allows to set the sinkpad properties more easily.
	  Next step: Implement proper synchronization in adder, almost done!

2013-05-30 18:41:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Hold object lock in setcaps a bit longer to prevent race conditions

2013-05-30 14:57:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Simplify segment event handling
	  We don't care about upstream segments but generate our own. This
	  makes the code more similar to videomixer again.

2013-05-30 14:45:58 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Use gst_audio_info_is_equal() to check if we get the same caps

2013-05-30 14:45:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio-info.h:
	* win32/common/libgstaudio.def:
	  audio: Add gst_audio_info_is_equal()

2013-05-30 14:32:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Don't calls gst_pad_set_caps() on sinkpads
	  It doesn't make much sense and the CAPS query handling
	  on the sinkpads should handle this.

2013-05-30 12:57:11 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Set GAP flag on silence buffers we created

2013-05-30 12:54:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Remove caching of the processing function
	  The compiler will generate a hashtable from the switch-case, and
	  we need to call functions explicitely for the volume!=1.0 cases
	  anyway.

2013-05-30 12:46:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Add support for per-stream volumes

2013-05-30 12:21:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Add optimized orc code for F64 processing

2013-05-30 12:05:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: The output buffer must be readable and writable

2013-05-30 12:02:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Add support for muting individual pads

2013-05-30 11:45:10 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Sync pad properties with the GstController

2013-05-30 11:40:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Add custom GstPad subclass to hold additional data and properties
	  This will later allow to set per-stream volumes and mute status.

2013-05-30 17:31:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtsp: add method to get the TLS connection

2013-05-30 13:14:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: let the sockets be reffed by the connection
	  Don't add an extra ref to the sockets but use that of the connection.
	  Keep the connection around as an IOStream.

2013-05-30 10:50:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Cleanup the error path
	  Make sure the watch is removed when we close the read socket because of
	  an error.

2013-05-30 10:45:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: cleanup the watch reset function

2013-05-30 10:30:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: check if the streams are still active
	  Don't try to read/write from an inactive stream. When we, for example,
	  transfer the second connection in tunneling mode, we are not interested anymore
	  on read/write activity on the old connection.

2013-05-29 17:44:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use child sources instead of using the sockets
	  Use the source of the pollable input/output streams instead of
	  accessing the sockets directly.

2013-05-29 16:15:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix input/output streams for tunneling

2013-05-29 15:27:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't use sockets for blocking
	  Use the blocking and non-blocking API of the input/output streams instead
	  of polling the sockets directly. This also allows us to simplify some
	  code.

2013-05-28 17:06:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: add TLS support
	  Add flag to select TLS in the transport.
	  Enable TLS on the socketclient when we use a TLS uri.

2013-05-28 16:45:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: use the input/output stream of clientconnection
	  Don't use the raw sockets for RTSP communication but use the IOStream.
	  This is needed if we are going to use TLS later.

2013-05-28 11:16:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: set sockets non-blocking

2013-04-05 16:50:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use GSocketClient for making connections
	  Use the GSocketClient API for making connections with the server. This removes a
	  bit of code and gives us the ability to do TLS later.

2013-05-27 15:32:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Revert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"
	  This reverts commit 15a0bb0a10dcbc99c7f52e28ec9d0395699851ae.
	  We should be using GSocketClient

2013-05-30 05:24:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: free tmplines correctly
	  Keep track of how many tmplines we allocated and use that to free the
	  correct amount of lines.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701234

2013-05-29 10:33:48 -0600  Daniel Drake <dsd@laptop.org>

	* gst/playback/gstplaysink.c:
	  playsink: pass translated color balance value to channel
	  We found a case where untranslated values were being passed from the
	  proxy to the underlying channel, causing bad color balance values
	  in some setups.
	  Thanks to Sebastian Dröge for clarifying how the code works, and
	  suggesting the fix.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701202

2013-05-29 10:15:36 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't take an extra reference to the custom stream combiners
	  They are automatically reffed when added to the bin because they're
	  already not floating anymore.

2013-05-29 16:41:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Dump some more debug output about the device configuration

2013-05-29 16:39:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: Update internal buffer/period times with the values that were configured on the device

2013-05-29 10:37:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin-complex.c:
	  playbin: Rename compressed unit test to complex
	  It's not really about compressed streams anymore, but also
	  about stream switching and stream combiners.

2013-05-29 10:35:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* tests/check/elements/playbin-compressed.c:
	  playbin: Set custom stream-combiners to NULL and unref before finalizing

2013-05-28 10:59:22 -0600  Brendan Long <b.long@cablelabs.com>

	* tests/check/elements/playbin-compressed.c:
	  playbin: Add playbin audio-stream-combiner test using adder

2013-05-28 11:23:56 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Rename select to combine and selector to combiner in playbin

2013-05-17 17:23:46 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Add support for custom stream-combiners
	  This allows to chose something else than input-selector
	  for multiple audio/video/text streams, e.g. an adder could
	  be used for audio.
	  It is needed for example to implement some of the more
	  advanced HTML5 video features.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698851

2013-05-28 13:32:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't call autoplug-query on shutdown
	  And remove leftover debug code

2013-05-28 13:23:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: In autoplug-queries, add the actual decoder/parser/etc template caps
	  Add the actual decoder/parser/etc caps at the very end to
	  make sure we don't cause empty caps to be returned, e.g.
	  if a parser asks us but a decoder is required after it
	  because no sink can handle the format directly.

2013-05-28 13:14:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Forward CONTEXT queries to the corresponding sink if we have one
	  https://bugzilla.gnome.org/show_bug.cgi?id=700967

2013-05-28 13:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	  playbin: Refactor autoplug-query handling
	  We now only check sinks and factories of the corresponding media
	  type. It doesn't make sense to pass audio/subtitle caps to a video
	  decoder.

2013-05-28 13:06:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Block on serialized queries too
	  Otherwise we will only block after the serialized, non-sticky event
	  after the CAPS event or the first buffer. If we're waiting for another
	  pad to finish autoplugging after we got final caps on this pad, it
	  will mean that we will let the ALLOCATION query pass although the
	  pad is not exposed yet.

2013-05-28 12:03:49 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Pass the element in the autoplug-query signal too

2013-05-28 11:40:51 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Need to lock the chain mutex in autoplug_query

2013-05-28 11:36:58 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Fix leak of the downstream caps filter

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

	* gst/playback/gstplaybin2.c:
	  playbin: Refactor autoplug-query handling a bit

2013-05-27 14:53:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Use a GSocketAddressNumerator to resolve the addresses
	  Instead of just trying the first possible resolution we're trying all
	  resolutions until one works.

2013-05-27 13:04:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Require caps to be set before data flow happens

2013-05-27 11:53:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix NV16 unpack
	  We can just use the NV12 functions, the only difference is the
	  vertical subsampling.

2013-05-27 11:25:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-chroma.h:
	  video-chroma: add interlaced flag

2013-05-17 16:34:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: run chroma resamplers
	  Run the chroma upsampler after unpack and the chroma subsampler
	  before pack for higher quality conversions and correct chroma siting.

2013-05-17 16:26:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: subsample chroma before packing
	  Run the chroma subsampler before packing.

2013-05-17 16:22:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-chroma.h:
	* win32/common/libgstvideo.def:
	  video-chroma: add chroma resampler
	  Add functions to up/downsample chroma in horizontal and vertical
	  directions. These functions work in-placeand are meant to be used on the
	  input/output of the pack/unpack functions.

2013-04-01 16:16:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-orc.orc:
	  video: don't perform subsampling while packing
	  Don't perform subsampling when packing but let this be done by a
	  separate subsampling step.

2013-04-01 16:05:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: reformat

2013-05-17 15:45:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-chroma.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: move chroma functions to separate file

2013-05-17 15:41:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: actually use the input pixels
	  Operate on the provided pixels array instead of the temp array.

2013-05-17 15:40:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix docs

2013-05-25 16:08:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Don't require an output state to be set before allocating output buffers

2013-05-24 17:43:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS typefinder

2013-05-24 16:52:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Always provide a buffer in gst_audio_(enc|dec)oder_allocate_output_buffer()
	  We have no way of tell the caller of the exact error (e.g. if we're flushing),
	  so will have to wait until the caller uses API that returns a GstFlowReturn,
	  for example when pushing this buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700006

2013-05-24 16:51:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()
	  We have no way of tell the caller of the exact error (e.g. if we're flushing),
	  so will have to wait until the caller uses API that returns a GstFlowReturn,
	  for example when pushing this buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700006

2013-05-24 13:41:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Lock the state of child elements as long as we manage their states
	  https://bugzilla.gnome.org/show_bug.cgi?id=690420

2013-05-24 11:47:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: use NO_RESYNC flag"
	  This reverts commit 0feecef2754ef208372eb39332b4f6fa2067d3d5.

2013-05-22 17:29:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Use signal handler IDs instead of disconnecting by function
	  This is cleaner and faster.

2013-05-22 13:49:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Connect and disconnect the have-type signal of typefind before starting/shutting down

2013-05-22 10:57:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add variant=itu to the h263 typefinder caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=700770

2013-05-21 16:35:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use signal handler IDs instead of disconnecting/blocking by function
	  This is cleaner and faster.

2013-05-07 07:49:00 +0200  Alexander Schrab <alexas@axis.com>

	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  alsasrc: Make using driver timestamps possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=699744

2013-05-20 11:23:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsa: Dump min/max period time and buffer time in alsasrc too

2013-05-17 09:16:08 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Make sure that memory is unmapped before releasing it
	  Be sure that memory is unmapped before releasing it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700411

2013-05-16 11:35:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: make mask arguments to gst_video_format_from_masks() unsigned
	  These should really be unsigned.

2013-05-16 10:52:29 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* sys/ximage/ximagesink.c:
	  ximagesink: add support for 32-bit RGB with alpha mask
	  When X screen return a depth = 32 with bpp = 32, the alpha mask
	  must be correctly set to have a known GStreamer video format.
	  X visual structure doesn't provide the alpha mask information,
	  but we can find it from the others masks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700413

2013-05-16 11:09:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: ignore new NV16 format in videoscale unit test
	  https://bugzilla.gnome.org/show_bug.cgi?id=700377

2013-05-16 10:52:29 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/video/video-format.c:
	  video: fix gst_video_format_from_masks() for little endian masks with alpha
	  Need to byte-order swap the alpha mask as well in this case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700413

2013-05-16 09:07:46 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: set the initial memory size to the full size
	  https://bugzilla.gnome.org/show_bug.cgi?id=700427

2013-05-15 18:20:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup files to fix build without liborc
	  https://bugzilla.gnome.org/show_bug.cgi?id=700400

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

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Only do a subset filtering for the factories if we have fixed caps
	  Otherwise we're plugging a parser/converter currently and have unfixed caps.

2013-05-15 14:51:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Return immediately from checking if a chain is complete if we're shutting down

2013-05-15 14:47:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Hold the expose lock when freeing a chain
	  https://bugzilla.gnome.org/show_bug.cgi?id=700342

2012-11-26 16:37:22 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-orc.orc:
	  video: add NV16 format
	  This format is usually used by hardware video decoders for 4:2:2 sampling
	  https://bugzilla.gnome.org/show_bug.cgi?id=700377

2013-05-15 13:38:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix deadlock caused by lock order inversion
	  First the source group lock, then the elements list lock.

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

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: Update visualizer baseclass from gst-plugins-bad

2013-05-15 10:51:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5edcd85 to 098c0d7

2013-05-15 10:18:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2013-05-15 09:26:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio-info.c:
	  audio-info: Always pass NULL as position parameter to gst_audio_info_set_format()
	  https://bugzilla.gnome.org/show_bug.cgi?id=700259

2013-05-14 10:06:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Use subset checks instead of intersection
	  https://bugzilla.gnome.org/show_bug.cgi?id=700272

2013-05-12 09:55:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Delay segment event after caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=700222

2013-05-14 09:34:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio-info.c:
	  audio-info: For more than 64 channels don't allow a channel layout
	  More than 64 channels have all channels unpositioned.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700259

2013-05-10 12:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/adder.c:
	* tests/check/elements/appsink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/volume.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	  tests: Fix event order and missing events

2013-05-10 12:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  subparse/ssaparse: Fix event handling and order

2013-05-10 11:31:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: Fix event handling
	  Internal state should only be reset on FLUSH_STOP, not FLUSH_START.
	  Also forward pre-caps events immediately and don't queue them.

2013-05-10 11:24:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Make sure to always set caps on the srcpad and always send a segment event
	  Even if the srcpad is not linked at this point, it might be linked as result of
	  setting the caps.

2013-05-10 09:28:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't send a segment event before the caps event
	  https://bugzilla.gnome.org/show_bug.cgi?id=699971

2013-05-09 23:30:33 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't set the list to NULL after taking its address

2013-05-09 18:02:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin-compressed.c:
	  playbin-compressed: Fix unit test

2013-05-08 20:31:00 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/videorate/gstvideorate.c:
	  videorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT
	  Fixes #699187

2013-05-09 15:42:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Make sure to push any pre-caps events before the caps are set

2013-05-09 15:34:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure to not push any post-caps events before we have caps
	  and that we push pre-caps events before we push caps, even if we don't
	  have a GstVideoFrame yet.

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

	* gst/playback/gstplaybin2.c:
	  playbin2: Chose more balanced metric to compare ranks of decoder/sink combinations

2013-05-09 10:40:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Set DECODE_ONLY flag on all header packets

2013-05-09 10:37:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: If a frame is to be dropped, don't update timestamps"
	  This reverts commit c9c5cd8eef499ba08e08898bda71183e39d570ea.

2013-05-09 08:54:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: If a frame is to be dropped, don't update timestamps

2013-05-08 21:27:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix infinite loop in GSequence iteration code

2013-05-08 15:56:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Make sure to push pre-caps events before the caps event

2013-05-08 15:50:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Make sure to push pre-caps events before the caps event
	  https://bugzilla.gnome.org/show_bug.cgi?id=699894

2013-05-08 14:52:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Always store queue2 elements for later removal
	  Otherwise we accumulate more and more queue2 elements, and let each
	  of them start a thread doing nothing but waiting each time uridecodebin
	  goes to PAUSED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699794

2013-05-06 22:05:04 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggmux.c:
	  oggmux: The best pad can't be EOS
	  The problem experienced is that the EOS was never emitted by oggmux during a
	  rendering with GES. The proposed patch checks if the pad is EOS before deciding
	  it's the "best pad".
	  https://bugzilla.gnome.org/show_bug.cgi?id=699792

2012-12-16 16:53:30 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix detection of HLS playlists with alternative renditions
	  https://bugzilla.gnome.org/show_bug.cgi?id=699923

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

	* gst/playback/gstplaybin2.c:
	  playbin: Use the GSequence more efficiently
	  This makes it possible to take advantage of the O(log n) lookups
	  of GSequence on the ~1000 element lists and only do iterations
	  on <10 element lists. Previously the code iterated over ~1000 element
	  lists multiple times.

2013-05-02 00:01:17 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Use GSequence instead of GList to store the GstAVElement list.
	  The GstAVElement list might be big. Use GSequence to optimize it.

2013-04-29 22:17:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: autoplug the audio/video decoders and sinks based on capsfeatures.
	  Autoplug the decoder elements and sink elements based on
	  the number of common capsfeatures if the ranks are the same.
	  This will also helps to autoplug the h/w_decoder and h/w_renderer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698712

2013-05-07 15:00:05 +0200  Julien Moutte <julien@moutte.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Manually calculate bitrate of ADPCM streams
	  Some ADPCM encoding tools like Oxelon generate WAV files with
	  wrong format header declaring an invalid bitrate.
	  As wavparse uses the average bitrate to calculate timestamps
	  and duration the decoder can be confused by receiving timestamps
	  completely out of sync with the decoded samples.
	  ADPCM is a CBR audio codec so we can calculate the average bitrate
	  instead of trusting the format header.
	  https://bugzilla.gnome.org/show_bug.cgi?id=636245

2013-05-07 10:16:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Don't call gst_buffer_fill() for empty Theora packets
	  gst_buffer_fill() does not like a NULL source data pointer.

2013-05-07 10:13:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Fix error handling when reading or writing multipass cache data fails

2013-05-06 15:47:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Expose pads when they receive EOS before any buffers
	  Stops decodebin from waiting forever to expose a pad if there
	  is never data on it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=691072

2013-05-03 16:24:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: wma can have more than 6 channels
	  Some versions anyway.

2013-05-03 15:49:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdeclib.c:
	  vorbis: Fix compilation after function rename

2013-05-03 14:16:33 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: prefix get_copy_sample_func and fix duplicated symbols

2013-05-03 14:13:18 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/vorbis/gstvorbisdeclib.h:
	  ivorbisdec: fix duplicated symbols with vorbisdec

2013-05-03 11:23:59 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: don't touch the GstMemory size
	  mem.size is the content size and should not be touch.
	  Save the mmap size instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699566

2013-05-03 11:12:04 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix memory initialization
	  Without this the shared memory is broken
	  https://bugzilla.gnome.org/show_bug.cgi?id=699565

2013-05-03 11:29:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix formating

2013-05-02 15:37:14 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: handle mmap failure
	  Otherwise gstreamer may segfault trying to access MAP_FAILED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699470

2013-05-02 23:41:02 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gsttextrender.c:
	  textrender: actually fixate output caps when fixating output caps

2013-04-12 21:01:53 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/ogg/Makefile.am:
	  ogg: fix duplicated symbols with schroedinger

2013-05-01 00:15:38 +0100  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Keep srcpad alive while querying peer

2013-04-28 20:07:47 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Get collectpad stream lock when fowarding flush events
	  Fixes #698410

2013-01-16 09:50:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: minor SSA typefinder clean-up
	  Remove code that doesn't make sense as it is. If there's
	  a 2-byte UTF-16 BOM or a 4-byte UTF-32 BOM, the following
	  text won't be 8-bit ASCII.

2013-04-26 11:00:10 +0200  Rico Tzschichholz <ricotz@t-online.de>

	* docs/plugins/Makefile.am:
	  docs: Drop missing gsttcp-enumtypes.h to fix build
	  In addition to 7f6e1bdfdb2aad1694c24d3887f30e00f0c4c2e3

2013-04-26 10:10:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: use setter for the bandwidth

2013-04-25 21:10:04 +0200  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Store a copy of the bandwidth string
	  Otherwise we will free a string later that does not belong to us.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698888

2013-04-25 17:04:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Use the fallback GstMemory copy function instead of our own
	  dup() on a dmabuf only gives a new handle, not a copy, thus doesn't
	  do what copy() is supposed to do.

2013-04-25 16:23:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Try harder to push writable buffers downstream
	  For this release the corresponding GstVideoCodecFrame before
	  pushing the buffer. The buffer will now be writable unless
	  the subclass still holds another reference to the buffer or
	  the frame.

2013-04-25 16:13:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try harder to push writable buffers downstream
	  For this release the corresponding GstVideoCodecFrame before
	  pushing the buffer. The buffer will now be writable unless
	  the subclass still holds another reference to the buffer or
	  the frame.

2013-04-25 09:20:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcp-marshal.list:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpserversink.c:
	  tcp: Use the generic marshaller instead of generating custom ones

2013-04-25 09:05:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Add FIXME comment for 2.0 to rename "host" to "bind-address" for the server elements

2013-04-24 14:13:43 +0200  Patricia Muscalu <patricia at axis.com>

	* tests/check/libs/sdp.c:
	  tests: add SDP modify test
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698558

2013-04-24 14:12:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/sdp.c:
	  tests: avoid sdp boxed test leak

2013-04-24 14:12:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: don't leak the temp buffer

2013-04-24 14:11:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: NULL terminate the time array

2013-04-24 13:57:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new sdp methods to docs

2013-04-24 13:50:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstsdp.def:
	  def: update with new sdp symbols

2013-04-23 15:23:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdp: add more functions to modify the sdp message
	  Add functions to insert, replace and remove various sdp message fields
	  and structures.
	  See: https://bugzilla.gnome.org/show_bug.cgi?id=698558

2013-04-24 11:10:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Fix check for belonging to another stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=697820

2013-04-24 11:07:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/streamsynchronizer.c:
	  streamsynchronizer: Create element with gst_element_factory_make()
	  Otherwise plugin_init() is not called and initialization is missing.

2013-04-24 00:08:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix crash in new MSS typefinder
	  Fixes icydemux test_first_buf_offset_when_merged_for_typefinding
	  unit test segfaulting on a NULL pointer.

2013-03-06 16:44:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: also remove the bytes limit
	  Remove the byte limit for adaptive http streaming. Because some fragments might
	  be very big, we might need a lot of buffering. I also suspect another problem
	  where data is actually missing and things go out of sync somehow.

2013-03-04 16:19:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: update buffer size in multiqueue
	  When we disable buffering in the more upstream multiqueue elements,
	  we need to also update the queue limits. In particular, the max_size_time should
	  be set to 0 or else we might simply deadlock.

2013-02-06 08:41:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: only allow 'lower' multiqueues to emit buffering messages
	  When we have a scenario of demuxers linked to demuxers, decodebin2
	  will create multiqueue at different levels of the pipeline. The problem
	  is that only the lowest multiqueue's should do the buffering messaging,
	  as they will handle with the raw streams data.
	  When all multiqueues are doing buffering, the upper ones can handle
	  large buffers that easily fill them, moving from 0% to 100% from
	  buffer to buffer, causing too much buffering messages to be posted.
	  This hangs the pipeline unnecessarily and might lead to deadlocks.

2013-02-06 11:09:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: do not handle the next-groups list as if it was a single item
	  Decodebin2's chains store a next_groups list that was being handled as
	  it could only have a single element. This is true for most of the
	  chaining streams scenarios where streams change not very often.
	  In more stressfull changing scenarios, like adaptive streams, those
	  changes can happen very often, and in short time intervals. This could
	  confuse decodebin2 as this list was always being used as a single
	  element list.
	  This patches makes it handle as a real list, using iteration instead
	  of picking the first element as the correct one always.

2013-02-01 17:50:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: preserve next groups order

2013-01-09 18:39:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: still report chain as drained when not 'handled'
	  Even if the chain hasn't been 'handled' in this switching round,
	  report it as drained so upper chains/groups know abou it.
	  This makes switching happen on upper levels of the groups/chain
	  trees

2013-04-11 09:47:51 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add smoothstreaming manifest typefinding
	  Checks if the received XML is a smoothstreaming manifest
	  in both UTF8 and UTF16 formats. The check is made for a
	  SmoothStreamingMedia top level element.
	  Conflicts:
	  gst/typefind/gsttypefindfunctions.c

2013-04-23 13:54:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't consider a stream added for an already running one as "new"
	  Fixes enabling visualizations after disabling them after they were enabled already.

2013-04-23 13:18:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: If a stream belongs to an already running stream, don't wait
	  This fixes enabling visualizations after the audio stream already started.
	  https://bugzilla.gnome.org/show_bug.cgi?id=697820

2013-04-22 23:51:08 +0100  Tim-Philipp Müller <tim@centricular.net>

	* MAINTAINERS:
	* README:
	* README.static-linking:
	* common:
	  Automatic update of common submodule
	  From 3cb3d3c to 5edcd85

2013-04-21 19:02:42 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  Update disted orc backup files
	  Generated with 0.4.17 now.

2013-04-21 17:24:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: don't report 'no uri handler found' if the URI was rejected by a source
	  If a source element could be created for a URI, but all elements rejected
	  the URI for some reason, propagate the error from the URI handler instead
	  of reporting a 'no uri handler found for protocol xyz' error, which is
	  confusing. Fixes error reporting with dvb:// URIs when the channel config
	  file could not be found or not be parsed or the channel isn't listed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=678892

2013-04-19 17:59:56 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* tests/check/elements/adder.c:
	  adder: Do not try to wait for flush_stop after receiving a segment event
	  + Add a simple test

2013-04-18 07:55:56 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: skip controlled processing if we have no timestamp

2013-04-18 12:07:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: use _plugin_feature_rank_compare API instead of duplicating the code.

2013-04-18 12:03:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: use _plugin_feature_rank_compare API instead of duplicating the code.

2013-04-18 09:58:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Simply setcaps function

2013-04-18 09:54:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Ignore caps events if the input caps did not change

2013-04-18 09:54:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Ignore caps events if the input caps did not change

2013-04-17 07:51:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: add more logging and fix the object param for some logging
	  Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper
	  with an early return.

2013-04-17 10:35:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Extend GstVideoGLTextureUploadMeta
	  https://bugzilla.gnome.org/show_bug.cgi?id=697112

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-format.h:
	  docs: add some more audio macros

2013-03-28 14:21:41 +0100  Philippe Normand <philn@igalia.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: query bandwidth capability to source element
	  Use a scheduling query to check if the source element has some
	  bandwidth limitations. If this is the case on-disk buffering might be
	  used. If the source element doesn't handle the scheduling query then
	  fallback to checking the URI protocol against the hardcoded list of
	  protocols known to handle buffering already.
	  Fixes bug 693484.

2013-04-16 14:09:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	  app: Don't use $(GST_PLUGIN_LIBTOOLFLAGS) for real libraries

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

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

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

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

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

	* configure.ac:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/gio/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/subparse/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* sys/ximage/Makefile.am:
	* sys/xvimage/Makefile.am:
	  gst: Add better support for static plugins

2013-04-15 15:37:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: dynamically allocate buffers
	  Remove the static maximum buffer size and replace with dynamic allocation of as
	  much bytes as needed. Also avoids doing large allocations on the stack.

2013-04-15 14:25:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: add Since markers

2013-04-12 09:35:34 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/sdp.c:
	* win32/common/libgstsdp.def:
	  sdp: add boxed type for GstSDPMessage
	  Also added some tests of this improvement.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697808

2013-04-09 22:07:15 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add format=WMV3 for WMV 3 caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=697665

2013-04-15 12:37:07 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: use ascending order for name based sorting of pluginfeatures.
	  The compare_factories_func() should return negative value
	  if the rank of both PluginFeatures are equal and the name of
	  first PluginFeature comes before the second one (== ascending order).

2013-04-15 12:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: use ascending order for name based sorting of pluginfeatures.
	  The _decode_bin_compare_factories_func() should return negative
	  value if the rank of both PluginFeatures are equal and the name of
	  first PluginFeature comes before the second one (== ascending order).

2013-04-15 10:13:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Also reset segbase

2013-04-10 16:38:14 +0200  Paul HENRYS <visechelle@gmail.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Reset segdone when releasing audioringbuffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=697723

2013-04-10 20:45:37 +0100  Tom Greenwood <tcdgreenwood@hotmail.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Ignore caps events if the caps did not change
	  https://bugzilla.gnome.org/show_bug.cgi?id=697672

2013-04-15 09:42:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Ignore caps events if the caps did not change

2013-04-10 19:07:00 +0100  Tom Greenwood <tcdgreenwood@hotmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Ignore caps events if the caps did not change
	  https://bugzilla.gnome.org/show_bug.cgi?id=697672

2013-04-15 08:38:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/dirac_parse.c:
	* ext/ogg/dirac_parse.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/vorbis_parse.c:
	* ext/ogg/vorbis_parse.h:
	  ogg: Prevent some symbol conflicts between the ogg plugin and schroedinger

2013-04-14 17:54:43 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 2736592 to 3cb3d3c

2013-04-14 17:26:13 +0100  Tim-Philipp Müller <tim@centricular.net>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From aed87ae to 2736592

2013-04-12 11:49:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: fix jpeg passthrough to decoder sinks by marking image/* as video stream

2013-04-12 11:50:53 +0200  Jonas Holmberg <jonashg@axis.com>

	* tests/check/elements/adder.c:
	  tests: avoid assert in adder test if no audio sources work
	  The array of factories should not contain a NULL element at the end
	  since the number of arguments is determined via G_N_ELEMENTS and the
	  NULL will be used as an argument to gst_element_factory_make() if
	  the other sources in the list weren't usable.

2013-04-11 13:25:51 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: gst_buffer_add_meta() can return NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=697824

2013-04-09 20:59:51 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 04c7a1e to aed87ae

2013-04-09 12:27:48 +0200  Alexander Schrab <alexas@axis.com>

	* sys/ximage/ximagepool.c:
	  ximagesink: Fix coompiler error without HAVE_XSHM
	  https://bugzilla.gnome.org/show_bug.cgi?id=697628

2013-04-09 14:04:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix unit test after latest videoconvert changes

2013-04-09 13:59:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoconvert.c:
	  videoconvert: Fix unit test after latest videoconvert changes

2013-04-08 09:09:33 +0200  Thomas Scheuermann <Thomas.Scheuermann@barco.com>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: Don't use / as path if no path was provided
	  RTSP does not mandate that a non-zero-length path is used and
	  some devices (e.g. IQinVision IQeye 1080p) requires that a
	  zero-length path is used.

2013-04-08 08:29:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Allow passthrough for ANY caps features

2013-04-08 08:15:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: Allow passthrough for ANY caps features

2013-04-06 13:00:02 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: set reasonable limits on properties
	  Properties sharpen, sharpness, and envelope are only useful
	  near their default values.  Decrease ranges to avoid brokenness.
	  https://bugzilla.gnome.org/show_bug.cgi?id=682171

2013-04-05 22:03:56 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: set min value to DBL_MIN to avoid a value of 0.0 that would crash

2013-04-04 16:32:45 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Set session as permanent (t=0 0) if there is no time information
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697277

2012-09-11 19:41:31 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  audiovisualizer: Don't try to sync controller values to invalid timestamp

2013-04-04 18:18:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't push on NOT_LINKED pads
	  If our previous flow return was NOT_LINKED, don't try to push on the pads some
	  more. If we get a RECONFIGURE event on the pad, try to push on it again.

2013-04-04 15:00:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: forward all sticky events to decodepad
	  Forward all sticky events to the decodepad before exposing the pads. This makes
	  sure all sticky events are on the exposed pad.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696915

2013-04-04 14:53:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: debug sticky events on exposed pads

2013-04-04 14:37:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: small cleanup
	  Take the event from the probe just once.

2013-04-04 12:32:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: make local_ip and remote_ip variables
	  Separate local_ip and remote_ip into separate variables for clarity.

2013-04-04 12:16:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: calculate the local ip address in accept
	  Calculate the local IP address in the accept call. We need to place this IP
	  address in the GET reply in the X-Server-IP-Address header so that the client
	  knows where to send the POST to in case of tunneled RTSP. Before this patch
	  it used the client IP address, which would make the client send the POST request
	  to itself and fail.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697092

2013-03-30 17:39:39 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: add caps to pool config
	  Does not cause problems but it fixes a warning in the log.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696916

2013-03-30 11:00:35 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Allow EOS on timestamp equal to stop/start
	  Changed the check to a current_time equal to the stop will produce
	  EOS instead of the next one. Also, segment.start can't be NONE, so removing
	  this check.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=696899

2013-04-02 17:09:48 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Do not assign -1 to an unsigned variable, use 0 instead
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697162

2013-04-02 17:05:36 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: If attribute value is emply do not print colon character
	  See https://bugzilla.gnome.org/show_bug.cgi?id=697162

2013-04-02 17:03:38 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Do not add email line by default
	  As specified in rfc4566 email line is optional
	  See https://bugzilla.gnome.org/show_bug.cgi?id=697162

2013-04-02 23:40:13 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-format.h:
	  docs: add since marker for new video API

2013-04-02 22:50:25 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for TrueHD audio

2013-03-28 23:02:11 +0100  David Svensson Fors <davidsf@axis.com>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsprange: use gst_util_gdouble_to_guint64 in get_seconds
	  https://bugzilla.gnome.org/show_bug.cgi?id=696818

2013-03-14 11:15:29 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visualizer: handle non-existant pool in the default allocation query
	  gst_query_set_nth_allocation_pool() requires there to be a pool in the
	  query already. This is not always the case when we get the query from
	  upstream.  Use gst_query_add_allocation_pool() instead in such case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681719

2013-04-01 10:21:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video-format.h:
	  video-format: Add GST_VIDEO_CAPS_MAKE_WITH_FEATURES() macro

2013-04-01 10:21:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Add caps feature #defines for video and GL texture upload meta

2013-03-31 18:54:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: mark keyframes
	  Use the mapper to set the delta-unit flag.

2013-03-31 17:37:01 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/vorbistag.c:
	* tests/check/libs/video.c:
	  tests: fix some printf format compiler warnings

2013-03-31 18:29:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: always send the new buffer to parse functions
	  When we get a new buffer, always call the parse function, even if it is a 0
	  sized buffer. For theora we need to also decode 0 sized buffers.
	  Ideally we would like to make theoradec be packetized but that fails currently
	  because of oggdemux and because of the assumptions that the base class makes.

2013-03-31 18:28:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: handle empty adapter
	  Should not be empty but might be when we actually pass and decode the 0 packets
	  later.

2013-02-25 10:49:19 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: do not reset the encoder when we need a keyframe
	  Instead, remember we need a keyframe, and we will force the encoder
	  to emit one next time we submit a new frame.
	  Since libtheora does not have an API to request a keyframe, we reset
	  the max keyframe interval to 1 temporarily.
	  This has the advantage that the rate control keeps its history,
	  and that the encoder won't choose different quant tables or
	  somesuch, thus requiring new streamheaders (although this is
	  probably only a theoretical possibility). Should also be a
	  bit faster than resetting the encoder.
	  https://bugzilla.gnome.org/show_bug.cgi?id=663350

2013-03-31 13:46:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: don't make negative timestamp
	  Clamp timestamp interpollation to 0 to avoid going negative. This should not
	  happen, really, but until the interpolation is improved this seems better.

2013-03-31 12:55:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: update position for reverse
	  When doing reverse playback the positino advances from timestamp_end to
	  timestamp.

2013-03-28 15:20:19 +0100  Edward Hervey <edward@collabora.com>

	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebin: Add action signal to get pad for a given profile
	  This allows getting a pad for a specific encoding profile, which can
	  be useful when there are several stream profiles of the same type.
	  Also update the encodebin unit tests so that we check that the returned
	  pad has the right caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=689845

2013-03-30 17:20:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: use one matrix function
	  Use only one matrix function pointer, let the implementation cast the pixels to
	  the right size.

2013-03-29 11:48:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: use one temp array for lines
	  Use only one temporary array for pixels.

2013-03-30 19:13:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: forward stream-start immediately

2013-03-30 19:07:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: forward stream-start immediately

2013-03-30 17:17:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove GstdecodePads that are not going to be exposed
	  This makes sure that they're unlnked and don't cause any errors or
	  block the pipeline.

2013-03-30 12:15:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Ignore caps from audio/video sink factories if there are fixed sinks already

2013-03-30 12:08:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Some code cleanup

2013-03-30 12:00:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add some documentation that was missing before

2013-03-30 11:25:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Handle caps queries from unlinked elements
	  Pass them to all possible sinks and the current sinks to
	  allow elements to chose a more optimal initial caps.

2013-03-29 18:27:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Add autoplug-query signal to handle queries for yet unconnected elements
	  This allows playbin to answer the CAPS query with the possible sink
	  caps for example, and allows decoders to chose more optimal caps.

2013-03-30 10:25:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* win32/common/libgstvideo.def:
	  decodebin: Don't add a children to a decode group twice
	  This can happen if a demuxer does not provide fixed caps from the
	  beginning but only sets them later.

2013-03-29 16:05:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: Fix the documentation build warning.

2013-03-30 09:39:32 +0100  Josep Torra <n770galaxy@gmail.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimagesink: fix debug message printf format compiler warning

2013-03-29 17:14:09 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix a comment typo from previous commit

2013-03-29 16:55:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Add documentation for GstVideoGLTextureUploadMeta

2013-03-29 16:44:17 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestssrc: truncate the seek pos to the sample and round the time
	  Before it was done the other way around and that can trigger the assert that
	  already is in place. This also makes more sense; when seeking to time x, we want
	  then sample that is <= that pos.

2013-03-29 16:37:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Implement copying of GstVideoGLTextureUploadMeta

2013-03-29 14:46:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: API: Add GstVideoGLTextureUploadMeta
	  This allows elements to specify a function to upload
	  a buffer content to a specific OpenGL texture ID. It
	  could be used by the vaapi elements to provide a way
	  for eglglessink or WebKit to upload a VA surface to
	  an GL texture without the respective sinks knowing
	  anything about VA.

2013-03-29 11:47:20 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: cleanup and reenable adder live source test
	  The test now passed a few rounds of nice -n19 make elements/adder.torture.

2013-03-25 16:46:29 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: api doc fixes.

2013-03-28 18:16:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: respect the pack_lines when packing
	  Packing is supposed to happen on the amount of lines specified in the format
	  info. It's currently all set to 1 but that will change.

2013-03-28 18:13:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: be smarter when selecting a conversion
	  Try to select the conversion that would result in the minimal amount of quality
	  loss. Quality loss is calculated rather arbitrarily but it avoids doing
	  something really stupid in most cases.

2013-03-27 19:37:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: small cleanup

2013-03-28 12:35:45 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: remove commented code
	  This is dead since ~6 years.

2013-03-27 22:24:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Merge SBC decoder and encoder from bluez
	  https://bugzilla.gnome.org/show_bug.cgi?id=690582

2013-03-27 22:24:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Merge SBC decoder and encoder from bluez
	  https://bugzilla.gnome.org/show_bug.cgi?id=690582

2007-08-23 19:12:23 +0000  Marcel Holtmann <marcel@holtmann.org>

	  sbc: Add SBC encoder and decoder skeletons for GStreamer

2013-03-12 08:10:23 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: simplify the caps
	  Drop channel-mask as we only do mon/stereo and channel-mask is optional in these
	  cases.

2013-03-25 13:41:13 +0300  Anton Belka <antonbelka@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/riff/riff-ids.h:
	  riff: add "note" tag
	  Add GST_RIFF_TAG_note for wavparse.
	  https://bugzilla.gnome.org/show_bug.cgi?id=696549
	  https://bugzilla.gnome.org/show_bug.cgi?id=696550

2013-03-22 13:41:17 +0100  Paul HENRYS <visechelle@gmail.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Fix ringbuffer handling when settings caps
	  ringbuffer was released after setting values to its spec field
	  in gst_audio_base_src_setcaps(). This led to failure in case
	  gst_audio_base_src_setcaps() is called more than one time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=696540

2013-03-25 09:59:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video: set interlaced flag correctly in frame
	  We only look at the interlaced buffer flag in mixed mode, in other modes we
	  always need to set the interlaced flag.

2013-03-24 20:44:58 +0000  Simon Berg <ksb@kth.se>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix rounding errors that might cause segments to be one sample too short
	  https://bugzilla.gnome.org/show_bug.cgi?id=676884

2013-03-24 20:41:44 +0000  Simon Berg <ksb@kth.se>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix buffer size of last buffer
	  The last buffer before EOS may be smaller than the maximum
	  size. The current code doesn't adjust for this, it only sets
	  the duration and offsets.
	  https://bugzilla.gnome.org/show_bug.cgi?id=696411

2013-03-24 00:39:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: add small comment

2013-03-24 00:38:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: avoid double free
	  Set variable to NULL after free so that we don't free twice.

2013-03-24 00:21:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	* tests/check/pipelines/simple-launch-lines.c:
	  Revert "videoconvert: prevent bad interlaced conversions"
	  This reverts commit adc9694ed70870549fc8f4a6257f3b132ea31733.
	  No need to restrict the conversion, we can handle interlace correctly. We
	  basically unpack each field, then convert each field to the target colorspace
	  and pack and interleave each field to the target format. We also disable any
	  fast path that can't deal with interlaced formats.

2013-03-08 14:49:31 -0800  David Schleef <ds@schleef.org>

	* gst/videoconvert/gstvideoconvert.c:
	* tests/check/pipelines/simple-launch-lines.c:
	  videoconvert: prevent bad interlaced conversions
	  Don't allow conversion that changes vertical subsampling if video
	  is interlaced.

2013-02-14 01:35:45 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse: fix off by one offset calculation
	  Do not use the buffer start offset when it is invalid, otherwise a
	  discontinuity is detected on the next buffer, and the subtitle parser
	  reset and some subtitle lines are not shown.
	  Also remove unused next_offset field.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693981

2013-03-22 10:47:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  Require Orc >= 0.4.17
	  Orc 0.4.17 fixes a bunch crashes on i386 and RPi when orc
	  functions can't be compiled and the fallback function is
	  supposed to be used. Also fixes some issues on PowerPC.
	  https://bugzilla.gnome.org/show_bug.cgi?id=684399
	  https://bugzilla.gnome.org/show_bug.cgi?id=693862

2013-03-22 09:35:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix y4m caps
	  We need to specify the y4mversion field now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=696282

2013-03-21 15:37:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Return ANY caps for the GET_CAPS query
	  subtitleoverlay handles any caps, not just the ones
	  for which a subtitle parser/renderer exist. It will
	  just ignore any unsupported streams instead of causing
	  an error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=688476

2013-03-21 13:33:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Make sure to return all allowed caps in the GET_CAPS query
	  Add all the caps that we can convert to to the filter caps,
	  otherwise downstream might just return EMPTY caps because
	  it doesn't handle the filter caps but we could still convert
	  to these caps, causing us to return EMPTY caps although
	  conversion would be possible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=688803

2013-03-21 13:29:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Don't access structures of EMPTY caps
	  If the intersection between our caps and the filter caps is
	  empty, just immediately return EMPTY caps instead of trying
	  to access the (non-existant) structures.

2013-03-21 11:42:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Use gst_caps_is_subset() for handling the ACCEPT_CAPS query

2013-03-21 11:14:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Let the add-borders property default to TRUE
	  It's undesirable most of the time that the display aspect ratio
	  is changed.

2013-03-20 19:34:06 +0100  Jan Schole <jan581984@web.de>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Correct DAR and border calculations
	  changed: gst_video_scale_set_info in gst/videoscale/gstvideoscale.c
	  DAR on sink side now calculated with PAR on sink side
	  ratio of output width/height now calculated with inverse PAR
	  additional condition that borders are 0:0 for passthrough mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=696019

2013-03-15 10:07:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: wait for buffering after seek
	  Wait for buffering to finish before setting the element to the playing state
	  after a seek.

2013-03-14 10:58:11 +0100  Marc Leeman <marc.leeman@gmail.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: avoid division by 0 when outputting debug info
	  https://bugzilla.gnome.org/show_bug.cgi?id=695832

2013-03-14 15:46:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvcontext.h:
	* sys/xvimage/xvimagesink.c:
	  xvimagesink: configure colorimetry
	  Use the XV_ITURBT_709 attribute to configure the 601 or 709 matrix
	  depending on the color matrix of the input video frame.

2013-03-14 15:44:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvcontext.c:
	  xvcontext: protect X call with lock

2013-03-13 11:13:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/Makefile.am:
	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvcontext.h:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimageallocator.h:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimagesink: use xvcontext for allocation
	  Make a new refcounted xvcontext object that handles the X connection.
	  Use the xvcontext to allocate images and windows. Move some code
	  around so that all X calls are made from the xvcontext object.
	  Make a GstXvImageAllocator object that allocates images from the xvcontext. We
	  can implement a copy function now for these memory objects now.
	  Make the bufferpool use the xvimageallocator object for its images.

2013-03-13 01:00:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/appsrc.c:
	  tests: fix appsrc unit test spam
	  spam 1 spam 2 spam 3 spam 4 spam 5

2013-03-11 21:55:28 -0600  Greg Rutz <greg@gsr-tek.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: fix improper video frame clear operation
	  The current code is memsetting the GstVideoFrame.data address to 0s (which
	  causes a segfault). This member is actually an array of data buffers (one for
	  each plane).  This fix iterates over each data plane to clear them all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695655

2013-03-12 10:32:44 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/appsrc.c:
	  appsrc: fix deadlock setting pipeline in NULL state with block=true

2013-03-11 22:33:04 +0100  Emanuele Aina <emanuele.aina@collabora.com>

	* gst-libs/gst/rtsp/Makefile.am:
	  build: Link libgstrtsp-1.0.so to libm for pow()
	  https://bugzilla.gnome.org/show_bug.cgi?id=695658

2013-03-11 23:46:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: update the emit-signal description
	  Update the emit-signal description according to its current signals.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695660

2013-03-11 22:46:45 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: add a missing break

2013-03-10 09:07:17 +0100  Dirk Van Haerenborgh <vhdirk@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: never create caps with negative height
	  https://bugzilla.gnome.org/show_bug.cgi?id=695540

2013-03-11 10:49:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  defs: add new methods

2013-02-22 13:32:21 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* tests/check/libs/rtsp.c:
	  rtsprange: Add function to convert a range between formats
	  Also add unit tests.

2013-02-22 13:26:03 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* tests/check/libs/rtsp.c:
	  rtsprange: Make _to_string() be more in line with RFC 2326
	  Fix various nits to make it more in line with the RFC, also add unit tests.

2013-02-22 13:20:21 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsprange: Avoid going through fractions for large numbers
	  If the number of seconds exceeds 2^31, then it will be truncated if the
	  conversion is done using fractions, so multiply it directly.

2013-02-22 13:18:10 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsprange: Fix conversion from UTC to GstClockTime
	  Do the difference in the right direction.

2013-02-18 19:49:07 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: Add API to disable session ID caching in the connection
	  This is necessary to allow having more than one session in the same connection.
	  API: gst_rtsp_connection_set_remember_session_id()
	  API: gst_rtsp_connection_get_remember_session_id()

2013-03-10 18:05:28 +0100  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Use correct print format specifier to fix a compiler warning

2013-03-07 10:49:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/struct_i386.h:
	  tests: update libs ABI check GstRTSPTimeRange structure size on i386
	  https://bugzilla.gnome.org/show_bug.cgi?id=695276

2013-03-07 09:27:45 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: make colors controlable
	  Also trim since markers.

2013-03-07 00:00:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 2de221c to 04c7a1e

2013-03-05 22:29:24 +0100  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't keep a static string beyond the ref of the owning object
	  Also move down the ref for the caps a bit, so tha we don't leak it in the branch that calls continue.

2013-03-05 16:41:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	  ximagesink: don't share memory

2013-03-05 16:34:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	  xvimagesink: mark as NO_SHARE
	  We don't want to share the memory between buffers because that could
	  cause the memory of the bufferpool buffers to be copied and replaced
	  with other memory.
	  This is a hopefully a temporary fix until we can figure out how to share
	  properly.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=695203

2013-03-01 19:14:18 +0100  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't crash on caps being NULL
	  Also avoid unused variables if debugging is disabled.

2013-03-03 17:44:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: minor GValue handling optimisation

2013-03-03 17:43:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/navigation.c:
	  video: navigation: minor GValue optimisation

2013-03-03 17:42:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	  vorbis: small GValue optimisation
	  No need to copy buffers we put into the streamheader any more
	  now that we don't put caps on buffers any more, so there's no
	  danger of a refcount cycle.

2013-03-03 17:41:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	  theora: small GValue optimisations
	  No need to copy buffers we put into the streamheader any more
	  now that we don't put caps on buffers any more, so there's no
	  danger of a refcount cycle.

2013-03-03 17:39:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	  ogg: small GValue optimisation
	  No need to copy buffers we put into the streamheader any more
	  now that we don't put caps on buffers any more, so there's no
	  danger of a refcount cycle.

2013-03-03 17:26:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/adder.c:
	  tests: fix leaks in adder unit test

2013-03-03 17:11:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/videorate.c:
	  tests: fix leaks in videorate unit test

2013-03-03 17:06:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/audioresample.c:
	  tests: fix leak in audioresample unit test

2013-03-03 16:51:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/pipelines/vorbisdec.c:
	  tests: fix leak in vorbisdec unit test

2013-03-03 11:19:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: Use correct print format specifiers to fix compiler warnings

2013-03-02 19:29:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_lanczos.c:
	* gst/videoscale/vs_scanline.c:
	  videoscale: Fix compiler errors caused by not including config.h
	  _stdint.h requires config.h to be included to properly
	  use the correct code to get uint8_t and friends.

2013-03-02 19:13:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/fft/gstfft.c:
	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	* gst-libs/gst/fft/kiss_fft_f32.c:
	* gst-libs/gst/fft/kiss_fft_f64.c:
	* gst-libs/gst/fft/kiss_fft_s16.c:
	* gst-libs/gst/fft/kiss_fft_s32.c:
	* gst-libs/gst/fft/kiss_fftr_f32.c:
	* gst-libs/gst/fft/kiss_fftr_f64.c:
	* gst-libs/gst/fft/kiss_fftr_s16.c:
	* gst-libs/gst/fft/kiss_fftr_s32.c:
	  fft: Fix compiler errors caused by not including config.h
	  _stdint.h requires config.h to be included to properly
	  use the correct code to get uint8_t and friends.

2013-03-01 10:04:53 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-base.spec.in:
	  Update spec file for latest changes

2011-04-11 15:10:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/Makefile.am:
	* ext/ogg/gstoggstream.c:
	  oggdemux: add audio-codec and video-codec tags for streams in more cases

2013-02-27 22:05:36 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: don't discard the flush-start events
	  This reverts one more part of a86ca535c88a604daa431b0bc1cf4cd8fbb2d100 and
	  hopefully fixes #694553 for good.

2013-02-27 21:57:15 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  tests: add a loop test for adder

2013-02-27 21:38:27 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: fix looping
	  Use gst_segment_do_seek() and clip position before updating the segment.

2013-02-27 21:36:26 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: remove defines we don#t use anymore

2013-02-22 21:02:19 +0900  Akihiro Tsukada <atsukada@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: add support for AAC pass-through
	  https://bugzilla.gnome.org/show_bug.cgi?id=694443

2013-02-26 16:02:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	  ximagesink: use memory to store XImage info
	  Store the extra XImage information in the GstMemory instead of metadata.

2013-02-25 18:50:33 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: mark pending flush-stop on segment event
	  Also add more debug logging. Fixes #694553.

2013-02-25 18:49:56 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: log a few more details (e.g. obj-name)

2013-02-24 09:45:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	  xvimagepool: gst_memory_init() does not take ownership of the allocator

2013-02-23 09:52:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Implement XvImage memory as a GstMemory, not as a GstMeta

2013-02-22 09:07:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: The dmabuf allocator has a custom alloc function, mark it as such

2013-02-20 18:36:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: recognise more H.264 profiles/levels
	  Add profile/level extraction for Multiview High profile
	  and Stereo High profile.
	  https://bugzilla.gnome.org/show_bug.cgi?id=694346

2013-02-21 11:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: recognize SVC and MVC nal units in h264 streams
	  Ensure the detection of svc and mvc as a part of h264 stream.
	  Once the typefinder detect a subset_sequence_parameter_set(ssps),
	  then each nal unit with type 14 or 20 should be detected as a
	  part of h264 stream thereafter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=694346

2013-02-21 08:15:45 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: ensure sending a flush-stop after flush-start
	  Previously adder was only sending the flush-stop, when it saw the flushing seek.
	  If one sends a flushing see direcly to an element upstream of adder, it would
	  fail to unflush the downstream pads.

2013-02-19 17:49:08 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video-overlay-composition: fix ayuv/argb conversion
	  Helps when using dvbsuboverlay in connection with vaapisink
	  or some other video sink that wants ARGB pixels (dvbsuboverlay
	  attaches pixels in AYUV format, and we then convert as needed).
	  Alignment should not be a problem here.

2013-02-19 12:53:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: use new GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS define
	  https://bugzilla.gnome.org/show_bug.cgi?id=665751

2013-02-19 12:46:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	  video: add define for video formats supported by the overlay blending code
	  For use in template caps by overlay elements that use
	  video_overlay_composition_blend().
	  API: GST_VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS
	  https://bugzilla.gnome.org/show_bug.cgi?id=665751

2013-02-19 12:55:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	  pkg-config: Fix gstreamer-plugins-base pkg-config files to include all libraries

2013-02-19 11:52:22 +0100  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Include config.h

2013-02-19 10:21:40 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  allocators: add guard and minor clean-ups

2013-02-19 09:40:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  allocators: add some since markers and misc other doc clean-ups

2013-02-19 09:35:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.h:
	  allocators: header clean-up

2013-02-19 09:32:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: use AC_CHECK_FUNC to check for mmap

2013-02-19 10:05:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstdmabuf.c:
	  allocators: Integrate into the documentation

2013-02-19 09:40:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstallocators.def:
	  allocators: Add .def file with all exports

2013-02-19 09:39:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/allocators.h:
	  allocators: Add single-include header

2013-02-19 09:35:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Improve documentation and annotations a bit

2013-02-18 15:18:38 +0100  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* configure.ac:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-allocators-uninstalled.pc.in:
	* pkgconfig/gstreamer-allocators.pc.in:
	  allocators: Add dmabuf-based GstMemory and GstAllocator
	  Create new GstMemory and GstAllocator base on dmabuf.
	  Memory is not allocated/freed by userland but mapped/unmmaped
	  from a dmabuf file descriptor when requested.
	  This allocator is included in a new lib called libgstallocators
	  https://bugzilla.gnome.org/show_bug.cgi?id=693826

2013-02-16 23:55:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/encodebin.c:
	  tests: fix encodebin unit test on 32-bit systems
	  Fixes critical warning on x86:
	  g_object_set_valist: object class `GstOggMux' has no property named `testingoggmux'

2013-02-16 12:09:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/audio-info.h:
	  audio: fix GST_AUDIO_INFO_ENDIANNESS macro

2013-02-14 15:59:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: activate ghost pad after creating it
	  This ensures the ghost pad will not stay in flushing mode
	  when it receives a flush stop event, and generally behave
	  badly.
	  This fixes at least one case of a dynamic decodebin2 + encodebin
	  pipeline finding a source that has not prerolled when it should
	  have been (due to the ghostpad staying in flushing mode).

2013-02-14 00:54:34 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: don't block on caps

2013-02-14 11:25:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove left-over line from last commit

2013-02-14 11:17:31 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Check if value is set before unsetting it
	  https://bugzilla.gnome.org/show_bug.cgi?id=693401

2013-02-13 23:28:01 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riffmedia: add systemstream to all mpeg video caps

2013-02-14 00:29:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: add mapping for TOTALTRACKS and TOTALDISCS tags
	  Found TOTALTRACKS in a FLAC file instead of TRACKTOTAL,
	  we should at least read this if present.
	  http://www.hydrogenaudio.org/forums/index.php?showtopic=91496&st=0&p=773857&#entry773857

2013-02-13 21:00:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add parsed=true to mp3 and mpeg2 video ES caps
	  Because we can, and that's also what we do for other formats.

2013-02-13 21:08:48 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* tests/check/elements/adder.c:
	  adder: use the collect_pads_query func
	  We were setting the query-func on the sink-pad, which got overwritten when
	  adding the new pad to collect pads. Instead register our query-func with the
	  collect pads object. This fixes filter caps. Add a test for it.

2013-02-13 21:07:55 +0100  Stefan Sauer <ensonic@users.sf.net>

	* docs/design/part-mediatype-audio-raw.txt:
	  mediatype-audio: write out 24 in 32bit formats

2013-02-13 11:25:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/decodebin.c:
	  decodebin: Fix MP3 parser unit test
	  The MP3 parser required fields on its caps that it
	  didn't need and never got from (e.g.) typefind.

2013-02-12 17:22:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: sync muxer state with parent bin
	  Other elements were synced, but not the muxer.

2013-01-02 12:15:25 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: allow parse function to not use all data on adapter

2013-02-08 08:46:25 +0100  Alexander Schrab <alexas@axis.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Push caps event immediately to ghost pad to avoid exposing pads without caps

2013-02-08 15:31:28 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't blindly assign DTS to PTS
	  DTS and PTS usually have a non-zero offset between them in MPEG-TS,
	  so assigning DTS to PTS is almost always wrong.  The other, newer
	  timestamp recovery code does it correctly if we leave it as invalid.

2013-02-11 11:54:46 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: warn if frame list gets long
	  Decoders that get unparsed input are internally leaking nearly
	  every incoming buffer.  This checks that case.

2013-02-11 11:06:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: clear the state of the decoder
	  Set the channels and rate back to their default values in _stop because they
	  are used to renegotiate when needed.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=692950

2013-02-09 16:50:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/streamsynchronizer.c:
	  tests: don't use deprecated thread API in streamsynchronizer test

2013-02-07 10:49:33 +0100  Marc Leeman <marc.leeman@gmail.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: g_mutex_new -> g_mutex_init
	  Don't use deprecated GLib API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693302

2013-02-08 00:05:24 +1100  Jan Schmidt <thaytan@noraisin.net>

	* ext/pango/gstbasetextoverlay.c:
	  pango: 3rd time's the charm. Fix attribute list handling.
	  Really really fix attribute list handling by taking a
	  copy of the original attributes that pango_attr_list_filter
	  can mutate, but keep the original around intact to restore
	  later.

2013-02-07 23:45:26 +1100  Jan Schmidt <thaytan@noraisin.net>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Don't modify the original attributes list.
	  Take a copy of the original attributes list instead of just
	  a ref, since pango_attr_list_filter can remove elements from it.

2013-02-07 23:06:16 +1100  Jan Schmidt <thaytan@noraisin.net>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Remove extra pango_attr_list_copy() from basetextoverlay
	  Fixes a per-buffer memory leak of the attribute list.

2013-02-06 12:36:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  video: fix return type of _get_palette() and add since markers to docs
	  'const gpointer' is not the same as 'gconstpointer', see
	  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928.

2013-02-06 10:07:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: negotiate before popping buffer
	  First negotiate and then try to pop a buffer from the queue. This is just
	  to improve the debug log.

2013-02-06 10:00:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: always take mutex before object lock
	  The locking order is to first take the appsrc mutex and then the
	  object lock.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=693224

2013-02-05 11:20:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: use video library palette
	  Use the palette provided and used by the video library instead of making our own
	  copy.

2013-02-05 10:46:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: scale each field in interlace mode
	  When we are dealing with interlaced content, scale each field intependently so
	  that we don't destroy the interlacing.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=588535

2013-02-04 16:21:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: interlace support to some fastpath functions
	  Add interlace support for some fastpath functions.

2013-02-04 15:40:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: make fast path interlaced aware
	  Make sure that we also handle interlacing when choosing the fast path.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=588535

2013-02-04 15:19:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: pass frame interlaced flag to pack/unpack
	  If the frame is interlaced, pass the interlaced flag to the pack/unpack
	  functions to make it unpack correctly.

2013-02-04 15:01:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix interlaced 4:2:0 and 4:1:0 pack/unpack
	  For interlaced vertically subsampled images we need to combine alternating
	  chroma lines with alternating luma lines. That is line 0 and 2 are combined
	  with the first line of chroma samples and line 1 and 3 with the second line
	  of chroma samples.
	  See also: https://bugzilla.gnome.org/show_bug.cgi?id=588535

2013-02-01 16:47:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: use the palette helper functions
	  Get the palette from the video library instead of making our own.

2013-02-01 16:46:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* win32/common/libgstvideo.def:
	  video-format: add method to get palette
	  Make a new method to get the default palette for paletted formats.

2013-02-01 11:51:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: make a constant of scale factor

2013-02-01 11:42:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.h:
	  video-format: add interlace flag
	  Add an interlaced flag that can be used to control the unpack/pack
	  functions.

2013-01-31 12:57:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add more gray8 variants

2013-01-31 11:41:06 +0100  Dirk Van Haerenborgh <vhdirk@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add support for raw monochrome 8-bit video
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692930

2013-01-29 10:18:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  visualizer: improve allocation
	  Based on patch by Matthew Waters
	  Add private data
	  Add decide_allocation vmethod
	  Refactor bufferpool negotiation
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719

2013-01-28 20:41:44 +0100  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From a942293 to 2de221c

2013-01-28 14:12:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix crash when setting "cbr" property when encoder is not running yet
	  https://bugzilla.gnome.org/show_bug.cgi?id=692698

2013-01-27 09:45:59 +0530  B.Prathibha <prathibhab@cdac.in>

	* tests/check/pipelines/basetime.c:
	* tests/examples/dynamic/addstream.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/icles/output-selector-test.c:
	* tests/icles/position-formats.c:
	* tests/icles/stress-videooverlay.c:
	  tests: use g_timeout_add_seconds wherever possible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=692613

2013-01-24 20:15:09 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Put GST_*_INIT into the -sections.txt file too

2013-01-24 20:12:41 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Sort new things into ..-libs-sections.txt

2012-11-15 03:31:47 -0500  yanghuolin <Huolin.Yang@delphi.com>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasink.h:
	  alsasink: don't use 100% CPU
	  The root cause is that alsa-lib is not thread safe for the same handle.
	  There are two threads in the gstreamer accessing alsa-lib not serilized.
	  The race condition happens when one thread holds the old framebuffer app_ptr
	  position in the kernel, another thread advances the framebuffer app_ptr.
	  when the former thread is scheduled to run again, it overwrites the app_ptr
	  to old value by copying from kernel.Thus,the app_ptr in the upper
	  alsa-lib(pcm_rate) become one period size more advanced than the lower
	  alsa-lib(pcm_hw & kernel).
	  gstreamer uses noblock and poll method to communicate with the alsa-lib.
	  The app_ptr unsync situation as described above makes the poll return immediately because
	  it concludes there is enough space for the ring-buffer via the low-level alsa-lib.
	  The write function returns immediately because it concludes there is not enough
	  space for the ring-buffer from the upper-level alsa-lib. Then the loop of poll
	  and write runs again and again until another period size is available for
	  ring-buffer.This leads to the cpu 100 problem.
	  delay_lock  is used to avoid the race condition.
	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=690937

2013-01-19 13:03:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gstdecodebin2.c:
	  decodebin: try harder to always expose pads in the same order
	  Use stream-id as sort criterion in addition to the media type.
	  https://bugzilla.gnome.org/show_bug.cgi?id=634407

2013-01-17 09:50:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	  tests: disable ABI checks for architectures with outdated structure size files

2013-01-16 10:16:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gst-libs: use GST_*_1_0 environment variables everywhere
	  The _1_0 suffixed environment variables override the
	  non-suffixed ones, so if we're in an environment that
	  sets the _1_0 suffixed ones, such as jhbuild, we need
	  to set those to make sure ours actually always get
	  used.

2013-01-16 10:16:14 +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/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/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 string

2013-01-15 17:33:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for SBC audio caps

2013-01-15 17:27:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add typefind functions for SBC audio
	  https://bugzilla.gnome.org/show_bug.cgi?id=690582

2013-01-15 15:04:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From a72faea to a942293

2013-01-15 12:39:20 +0000  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 13:06:28 +0100  Martin Pitt <martinpitt@gnome.org>

	* tests/check/Makefile.am:
	  Set $GST_PLUGIN_PATH_1_0 for tests as well
	  jhbuild already sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH. Set
	  both for the tests to see the locally built elements. Fixes 'make check' in
	  jhbuild.

2012-12-24 18:25:10 +0000  Pete Beardmore <pete.beardmore@msn.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add waveformatextension generic support
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690591

2013-01-14 10:34:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/tag.h:
	  docs: fix 0.10-ism in GstTagImageType docs
	  The image type is not in the info structure in the sample,
	  not in the caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=691687

2013-01-09 23:15:06 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	* tests/check/elements/volume.c:
	  volume: a return value of FALSE from the controller is not fatal
	  A return value of FALSE here indicates that we don't have control-values. In
	  0.10 we were returning the default value of the property. Now we don't fill an
	  array with defaults in the ControlBinding, but leave it up to the element to
	  handle this case.

2013-01-07 18:01:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix incorrect testing of invalid granpos values
	  Positive granulepos is valid, -1 granulepos is unset, and all
	  other negative granulepos are invalid.
	  Reported by Tim-Philipp Müller

2012-04-30 14:31:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Remove done ToDo
	  https://bugzilla.gnome.org/show_bug.cgi?id=675761

2012-05-02 13:50:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Documentation fix
	  https://bugzilla.gnome.org/show_bug.cgi?id=675761

2012-12-29 14:29:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/audio-info.c:
	  audio: don't use uninitialized variable in debug log
	  https://bugzilla.gnome.org/show_bug.cgi?id=667317

2012-12-23 15:51:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: add special-casing for asf/wmv/wma file extensions
	  https://bugzilla.gnome.org/show_bug.cgi?id=636753

2012-12-23 15:32:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstrtsp.def:
	  win32: update .def file for new rtsp API

2012-12-23 15:26:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  encoding-profile: add gst_encoding_profile_get_file_extension()
	  API: gst_encoding_profile_get_file_extension()
	  https://bugzilla.gnome.org/show_bug.cgi?id=636753

2012-12-22 21:19:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: minor clean-up
	  Remove some macros that aren't needed any more.

2012-12-22 21:18:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: support shaded background for A420 format
	  https://bugzilla.gnome.org/show_bug.cgi?id=687817

2012-12-22 21:04:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-info.c:
	  video: fix A420 size calculation

2012-12-21 16:38:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: use NO_RESYNC flag
	  to avoid the state change function from messing with the state of the elements
	  that we add.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690420

2012-12-21 14:03:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add channel masks for all formats
	  Add the channel masks for all the extensible formats
	  Pass the number of channels instead of reading them from caps.

2012-12-21 02:27:12 +0000  Pete Beardmore <pete.beardmore@msn.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add waveformatextension ac3 support
	  fixes #690591

2012-12-20 16:42:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: mark as using some other clock
	  We need to mark our clock as using some other clock source. Alsa source uses the
	  clock type to decide if it can use alsa driver timestamps or not.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690465

2012-12-20 16:41:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: init variable
	  We need to initialize this variable because we can't be sure that the subclass
	  will set it.

2012-12-18 16:56:28 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: use appropriate printf format for gsize

2012-12-18 15:34:42 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbis: fix unused variable

2012-12-18 15:31:52 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/video/gstvideometa.c:
	  video: use appropriate printf format for gsize

2012-12-18 15:27:48 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: fix compiler warning
	  comparison is always true due to limited range of data type

2012-12-17 20:32:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: return negative value on read error
	  Otherwise baseaudiosrc won't go into the error code path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=690197

2012-12-17 20:28:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: bail out if subclass posts an error
	  Use new ringbuffer ERROR state to make all the various
	  threads bail out correctly when the subclass posts an
	  error. It's a bit iffy to communicate this properly
	  between the different bits of code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=690197

2012-12-17 20:26:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: add GST_AUDIO_RING_BUFFER_STATE_ERROR state
	  API: GST_AUDIO_RING_BUFFER_STATE_ERROR
	  https://bugzilla.gnome.org/show_bug.cgi?id=690197

2012-12-15 14:43:40 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebing: Use the preset_name as the factory name and preset as the name of the preset
	  The naming is not perfect, but at least we can keep the exact same behaviour as
	  before.

2011-08-02 10:11:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Always resync the ringbuffer on the first buffer
	  In SKEW mode, use next_sample == -1 to check for the first sample
	  when starting to read samples so it resyncs the ringbuffer and
	  timestamps are ok.
	  Suggestion from Teemu Katajisto <teemu.katajisto@digia.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=648359

2012-12-17 00:59:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/subparse/gstssaparse.c:
	  ssaparse: ignore invalid UTF-8 in init section
	  The codec data blob we get from matroskademux with the SSA/ASS
	  init section is supposed to be valid UTF-8. If it's not, just
	  continue with the bits that are valid UTF-8 instead of erroring
	  out. We don't actually parse the init section yet anyway..
	  https://bugzilla.gnome.org/show_bug.cgi?id=607630

2012-12-16 12:34:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/subparse/gstsubparse.c:
	  subparse: fix GError leak

2012-12-16 12:05:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: detect stand-alone SSA/ASS subtitle files
	  https://bugzilla.gnome.org/show_bug.cgi?id=625113

2012-12-15 19:36:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: post error message when audio device disappears
	  Don't loop forever if an USB audio device gets disconnected
	  while in use. Post an error message instead. This is not
	  enough yet though, we still need to make the base class
	  and/or the ring buffer bail out.
	  https://bugzilla.gnome.org/show_bug.cgi?id=690197

2012-12-14 20:27:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add some more flags and file extensions to internal media type descriptions table
	  For later use.
	  https://bugzilla.gnome.org/show_bug.cgi?id=636753
	  https://bugzilla.gnome.org/show_bug.cgi?id=549111

2012-12-14 11:36:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: add limit to queued messages
	  Add a limit to the amount of queued bytes or messages we allow on the watch.
	  API: GstRTSPConnection::gst_rtsp_watch_set_send_backlog()
	  API: GstRTSPConnection::gst_rtsp_watch_get_send_backlog()

2012-12-13 11:31:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix vis switch with format change
	  Block the pad before the resample and convertor elements to give the a chance to
	  negotiate new caps with the newly switched vis plugin.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976

2012-12-13 11:03:30 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-base.spec.in:
	  Fix spec file to match latest header reshuffle

2012-12-12 17:22:31 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.h:
	* ext/alsa/gstalsasrc.h:
	* ext/theora/gsttheoraenc.c:
	  ext: Fix some compilation errors caused by circular header includes

2012-12-12 17:13:10 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/app.h:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudio.h:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/fft/fft.h:
	* gst-libs/gst/fft/gstfft.h:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstpbutils.h:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/riff/riff.h:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/rtp.h:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/rtsp.h:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstsdp.h:
	* gst-libs/gst/sdp/sdp.h:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideo.h:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video.h:
	  libs: Use foo/foo.h as single-include header consistently everywhere
	  https://bugzilla.gnome.org/show_bug.cgi?id=688785

2012-12-12 15:31:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: aac: don't try to unref NULL caps

2012-12-10 13:39:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	  docs: update

2012-12-10 13:35:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/videooverlay.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.cpp:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tests/icles/test-colorkey.c:
	  docs: fix up some more GstXOverlay -> GstVideoOverlay
	  https://bugzilla.gnome.org/show_bug.cgi?id=689740

2012-12-10 11:49:46 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Only keep track of timestamps if the subclass is parsing data
	  Otherwise we just pass through the timestamps directly and don't
	  need to waste additional memory for them.
	  Fixes bug #689814.

2012-12-08 00:21:17 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtspmessage: Add several missing g-i annotations
	  https://bugzilla.gnome.org/show_bug.cgi?id=689873

2012-12-09 22:36:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstpbutils.def:
	  win32: add new encoding profile API to .def file

2012-12-05 17:53:19 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* tests/check/elements/encodebin.c:
	  tests: encodebin: Properly rename new preset test

2012-12-05 15:22:42 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebin: Make use of the new preset_name when setting a preset
	  The behaviour is sensibly changed here. Instead of purely falling when a
	  preset is set on the #GstEncodingProfile, we now make sure that the
	  element that is plugged corresponds to the one specified as preset. Then,
	  if we have a preset_name, we use it, if it fails, we fail (we might rather
	  just keep working even without setting the element properties?)
	  + Add tests that it behave correctly

2012-12-05 15:21:43 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	  encoding-profile: Let the user decide what preset name to use
	  It was possible to decide only what #GstElement implementing #GstPreset
	  to use during the encoding, we can now let the user select a specific preset previously
	  saved using #gst_preset_save_preset specifying the name chosen when it was saved
	  in the gst_encoding_profile_set_preset_name.
	  Actually loading a preset with %NULL as a name would have always failed, so
	  in the current state of the API that feature is unusable
	  API:
	  gst_encoding_profile_set_preset_name
	  gst_encoding_profile_get_preset_name

2012-12-04 13:16:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: encoding-profile: fix _new function introspection docs
	  Makes the parameter accept NULL as input for GI bindings

2012-12-02 12:54:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* tests/check/elements/multifdsink.c:
	  tcp: print warning if someone tries to add clients in NULL state
	  And mention this in docs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=689326

2012-12-02 12:33:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: add some more debug info and remove obsolete comment

2012-11-30 12:15:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  win32: update .def for new API

2012-11-29 13:42:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/playbin.c:
	  test: add test for playbin in combination with appsink
	  Make sure appsink works multiple times in a row.
	  Disable it though for now though.
	  https://bugzilla.gnome.org/show_bug.cgi?id=644989

2012-11-28 18:50:45 +0100  Edward Hervey <bilboed@bilboed.com>

	* configure.ac:
	  configure.ac: Update libtool versioning
	  In order for 1.x and 1.(x+1) versions to not invade on each other
	  we need to have different lib versions.
	  So we need a consistent and predictable scheme:
	  library version number = MINOR * 100 + MICRO
	  Ex:
	  1.0.0 => 0 (duh)
	  1.0.3 => 3
	  1.1.0 => 100
	  1.1.1 => 101
	  1.2.0 => 120
	  1.10.5 => 1005

2012-11-27 11:02:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: add method to parse options list

2012-11-27 10:30:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix unit test to ignore unsupported color formats

2012-11-26 18:41:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
	  When the input buffers for a stream don't have a duration set,
	  timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
	  EOSed streams via GAP events (with other streams not yet EOS), we
	  would then use the invalid timestamp_end to calculate the duration
	  of the gap. This in turn would make baseaudiosink abort, because it
	  would try to allocate memory for a trizillion samples.
	  So if buffers don't have a duration set, assume a duration of
	  one second for stream catch-up purposes, just so we can still
	  continue to catch up in those cases. And make sure that
	  timestamp_end is valid before doing calculations with it.
	  http://bugzilla.gnome.org/show_bug.cgi?id=678530

2012-11-25 18:07:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: reduce debug log spam a bit
	  Log locking/unlocking with TRACE debug level.

2012-11-23 13:58:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: update audio multi-channel docs
	  Remove includes and functions that don't exist any longer,
	  add new ones instead.

2012-11-23 11:14:40 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-base.spec.in:
	  Add new header files

2012-11-22 13:09:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Set element to NULL state before removing it from the bin

2012-11-22 13:06:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Check if the element really accepts the caps after setting it to READY
	  It might know the caps constraints for sure only after opening a decoder.

2012-11-21 23:17:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: remove bogus Since marker from docs
	  It was causing perl warnings in gtk-doc code.

2012-11-21 21:53:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/app/gstappsrc.c:
	  app: fix g-i annotation for gst_app_src_push_buffer()
	  It takes ownership of the buffer.

2012-11-21 20:51:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstrtsp.def:
	  win32: update .def file for new rtsp API

2012-11-21 16:25:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* tests/check/libs/rtsp.c:
	  rtsprange: add string conversion for new formats

2012-11-21 15:29:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* tests/check/libs/rtsp.c:
	  rtsprange: add method to convert ranges to GstClockTime
	  Add a method to convert the values of GstRTSPRange to GstClockTime.
	  Add unit tests for the conversions.
	  API: gst_rtsp_range_get_times()

2012-11-21 15:22:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  range: don't overwrite unit field

2012-11-21 12:12:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  range: add g_return_if check

2012-11-21 11:12:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/gstvideo.h:
	  libs: Fix last commit by using correct include paths and only include existing headers

2012-11-20 23:22:27 -0800  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/gstapp.h:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudio.h:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/fft/gstfft.h:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstpbutils.h:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/riff/gstriff.h:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtp.h:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsp.h:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstsdp.h:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gsttag.h:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideo.h:
	  libs: Add missing single include headers and use them in GIRs

2012-11-21 10:28:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplayback.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Make the element public
	  https://bugzilla.gnome.org/show_bug.cgi?id=688240

2012-11-21 10:25:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.h:
	  rtsprange: improve docs

2012-11-20 14:56:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	* win32/common/libgstpbutils.def:
	  discoverer: Add support for getting the stream-id
	  https://bugzilla.gnome.org/show_bug.cgi?id=654830

2012-11-20 14:37:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Use switch/case instead of lots of ifs for the event handling

2012-11-20 12:21:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Return the proportion directly

2012-11-20 12:08:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: Rename from get_qos_info() to get_qos_proportion()
	  And only return the proportion. The earliest time already can be
	  retrieved from get_max_decode_time() and by renaming we allow this
	  to be more extensible in the future.

2012-11-20 11:10:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/struct_x86_64.h:
	  check: update for larger struct

2012-11-20 09:18:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* tests/check/libs/rtsp.c:
	  rtsp: avoid ABI break
	  Move new fields into structures appended at the end of the GstRTSPRange
	  to avoid ABI break.

2012-11-20 07:17:00 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: fix transfer annotation for gst_encoding_profile_set_restriction

2012-11-09 15:37:57 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: add getter for QoS proportion and earliest_time
	  Add a getter for the QoS proportion and earliest_time to help
	  subclasses do better estimations based on the proportion.
	  API: gst_video_decoder_get_qos_info()
	  https://bugzilla.gnome.org/show_bug.cgi?id=687991

2012-11-19 17:08:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsp: fix format string

2012-11-19 16:59:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* tests/check/libs/rtsp.c:
	  rtsp: parse UTC ranges

2012-11-19 16:15:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* tests/check/libs/rtsp.c:
	  rtsp: parse SMPTE ranges

2012-11-19 16:13:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  range: handle parse errors better

2012-11-19 16:04:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsp: detect npt time parse errors

2012-11-19 13:52:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/rtsp.c:
	  check: add rtsp range checks

2012-11-19 13:37:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  range: a single - is not allowed

2012-11-19 13:33:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  range: handle ranges starting with -
	  An RTSP range that starts with a - means that the first value of the range is
	  the end of the stream.

2012-11-19 11:24:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From b497c4f to a72faea

2012-11-17 00:26:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/examples/playback/playback-test.c:
	  examples: don't use deprecated API

2012-11-14 00:03:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/libvisual/gstaudiovisualizer.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  gst_adapter_prev_timestamp -> gst_adapter_prev_pts
	  https://bugzilla.gnome.org/show_bug.cgi?id=675598

2012-11-13 16:15:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix plane offsets for GBR formats
	  Also make some macros to get to the R/G/B planes
	  Remove unused stride macros.

2012-11-13 16:11:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  Revert "vorbisdec: Fix GType name conflict if tremor and libvorbis decoder are used in the same process"
	  This reverts commit 858392f88a1221afa29e6b08b283d5472be69b62.
	  A similar, cleaner fix was already in place.

2012-11-13 15:40:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbisdec: Fix GType name conflict if tremor and libvorbis decoder are used in the same process

2012-11-12 12:44:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: improve docs

2012-11-12 12:57:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for Opus audio codec
	  https://bugzilla.gnome.org/show_bug.cgi?id=688151

2012-11-12 11:45:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: Use new GType for GThread instead of just G_TYPE_POINTER

2012-11-12 11:17:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: protect against empty buffers

2012-11-11 16:33:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: improve AAC LOAS typefinding
	  Make AAC LOAS typefinding a bit more reliable; don't report
	  a LIKELY probability already after just two sync points, but
	  scan for a few more consecutive frames and determine probability
	  based on how many we found. Fixes mis-detection of wavpack file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687674

2012-11-11 20:04:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: improve wavpack typefinder
	  Check for second block sync and return different
	  probabilities depending on what we found (trumping
	  the AAC loas typefinder's LIKELY probability after
	  finding a second frame sync in this particular case).
	  https://bugzilla.gnome.org/show_bug.cgi?id=687674

2012-11-11 19:44:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix block size calculation in wavpack typefinder
	  The blocksize includes part of the header, just not the sync
	  marker and the four size bytes.

2012-11-10 16:45:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add GBR/GBR_10LE/GBR_10BE color formats
	  Planar RGB color format used by h264

2012-10-29 15:11:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add Y444_10{LE,BE} video formats

2012-11-09 23:41:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/video.c:
	  tests: add test for video unpack and pack functions

2012-11-09 15:55:05 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: fix g-i annotation for gst_rtsp_message_set_body(), take_body() and take_header()
	  https://bugzilla.gnome.org/show_bug.cgi?id=687620

2012-11-09 16:48:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Reset error count to 0 after successfully decoding a frame

2012-11-09 16:46:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Reset the error count to 0 after successfully decoding a frame

2012-11-07 18:41:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure.ac: update courtesy of autoupdate

2012-11-07 17:34:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* 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-07 13:59:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: implement background shading for IYU1
	  https://bugzilla.gnome.org/show_bug.cgi?id=687817

2012-11-07 13:25:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: also draw shaded backgrounds for RGB and BGR
	  https://bugzilla.gnome.org/show_bug.cgi?id=687817

2012-11-07 11:36:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: we can do YVU9 as well

2012-11-07 11:32:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: don't advertise 10-16-bit formats we can't blend text onto yet
	  We can't blend stuff on top of video formats that unpack into
	  ARGB64 or AYUV64 yet, so don't advertise them in our template caps.

2012-11-07 11:17:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-blend.c:
	  video: don't crash when blending onto video formats that unpack to 64 bits per pixel
	  We only allocate 8 bits per component for our temp buffers, which
	  causes invalid memory accesses if we try to unpack formats that
	  unpack into a format with 16 bits per component such as e.g. v210.
	  We don't support blending onto those yet, so just bail out.

2012-11-07 09:46:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: fix up names of old gray formats
	  Y800 -> GRAY8, Y16 -> GRAY16_{LE,BE}

2012-11-07 09:34:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: draw shaded background for some more video formats
	  https://bugzilla.gnome.org/show_bug.cgi?id=687817

2012-11-07 00:57:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: clamp shaded background box coordinates in one place

2012-11-07 00:54:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: move background shading into separate function

2012-11-06 15:21:16 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: isml is iso-fragmented video/quicktime
	  Add isml typefinding to the video/quicktime function

2012-11-06 23:38:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: don't abort if we don't know how to paint shaded background for a format
	  It's not a very nice thing to do.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687666

2012-09-24 13:36:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtp.def:
	  win32: add new header extension methods

2012-09-24 13:09:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  tests: add NTP64 and ntp56 header extension checks

2012-09-24 13:08:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtphdrext.c:
	  rtp: fix ntp56 parsing

2012-09-24 12:13:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtphdrext.c:
	* gst-libs/gst/rtp/gstrtphdrext.h:
	  rtp: add helpers for header extensions
	  Add helpers and defines for the NTP-64 and NTP-56 header extensions.

2012-11-05 14:35:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: forward allocation queries on video sink pad instead of discarding them
	  This allows the upstream elements to use the allocation parameters
	  or pools from the downstream elements like videosink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687459

2012-11-05 09:59:16 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: fix GstRTSPMessage g-i annotations for out parameters
	  https://bugzilla.gnome.org/show_bug.cgi?id=687620

2012-11-03 20:38:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ext/opus/gstopus.c:
	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	* tests/check/elements/opus.c:
	  Fix FSF address
	  https://bugzilla.gnome.org/show_bug.cgi?id=687520

2012-11-03 23:05:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	* COPYING:
	* COPYING.LIB:
	* android/NOTICE:
	* docs/random/LICENSE:
	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsadeviceprobe.c:
	* ext/alsa/gstalsadeviceprobe.h:
	* ext/alsa/gstalsaplugin.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasink.h:
	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	* ext/libvisual/plugin.c:
	* ext/libvisual/visual.c:
	* ext/libvisual/visual.h:
	* ext/ogg/gstogg.c:
	* ext/ogg/gstogg.h:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	* ext/ogg/gstogmparse.c:
	* ext/ogg/vorbis_parse.h:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gstclockoverlay.h:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/pango/gsttimeoverlay.h:
	* ext/theora/gsttheora.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	* ext/theora/gsttheoraparse.c:
	* ext/theora/gsttheoraparse.h:
	* ext/vorbis/gstivorbisdec.c:
	* ext/vorbis/gstvorbis.c:
	* ext/vorbis/gstvorbiscommon.c:
	* ext/vorbis/gstvorbiscommon.h:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbisparse.h:
	* ext/vorbis/gstvorbistag.c:
	* ext/vorbis/gstvorbistag.h:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/audio/streamvolume.c:
	* gst-libs/gst/audio/streamvolume.h:
	* gst-libs/gst/fft/gstfft.c:
	* gst-libs/gst/fft/gstfft.h:
	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf32.h:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstfftf64.h:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts16.h:
	* gst-libs/gst/fft/gstffts32.c:
	* gst-libs/gst/fft/gstffts32.h:
	* gst-libs/gst/gettext.h:
	* gst-libs/gst/glib-compat-private.h:
	* gst-libs/gst/gst-i18n-plugin.h:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/descriptions.h:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/missing-plugins.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* gst-libs/gst/pbutils/pbutils.c:
	* gst-libs/gst/pbutils/pbutils.h:
	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-media.h:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff-read.h:
	* gst-libs/gst/riff/riff.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/rtp/gstrtppayloads.c:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	* gst-libs/gst/rtsp/gstrtsp.h:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspextension.h:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/rtsp/gstrtspurl.h:
	* gst-libs/gst/sdp/gstsdp.h:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/id3v2.h:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/mklangtables.c:
	* gst-libs/gst/tag/mklicensestables.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* gst-libs/gst/tag/xmpwriter.c:
	* gst-libs/gst/tag/xmpwriter.h:
	* gst-libs/gst/video/colorbalance.c:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/colorbalancechannel.c:
	* gst-libs/gst/video/colorbalancechannel.h:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-event.c:
	* gst-libs/gst/video/video-event.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/videoorientation.c:
	* gst-libs/gst/video/videoorientation.h:
	* gst-libs/gst/video/videooverlay.c:
	* gst-libs/gst/video/videooverlay.h:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/app/gstapp.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstaudioquantize.h:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	* gst/audioconvert/gstfastrandom.h:
	* gst/audioconvert/plugin.c:
	* gst/audioconvert/plugin.h:
	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/speex_resampler_double.c:
	* gst/audioresample/speex_resampler_float.c:
	* gst/audioresample/speex_resampler_int.c:
	* gst/audioresample/speex_resampler_wrapper.h:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstencodebin.h:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gstsmartencoder.h:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombiner.h:
	* gst/encoding/gststreamsplitter.c:
	* gst/encoding/gststreamsplitter.h:
	* gst/gio/gstgio.c:
	* gst/gio/gstgio.h:
	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesink.h:
	* gst/gio/gstgiobasesrc.c:
	* gst/gio/gstgiobasesrc.h:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosink.h:
	* gst/gio/gstgiosrc.c:
	* gst/gio/gstgiosrc.h:
	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsink.h:
	* gst/gio/gstgiostreamsrc.c:
	* gst/gio/gstgiostreamsrc.h:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	* gst/playback/gstrawcaps.h:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstssaparse.h:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* gst/subparse/mpl2parse.c:
	* gst/subparse/mpl2parse.h:
	* gst/subparse/qttextparse.c:
	* gst/subparse/qttextparse.h:
	* gst/subparse/samiparse.c:
	* gst/subparse/samiparse.h:
	* gst/subparse/tmplayerparse.c:
	* gst/subparse/tmplayerparse.h:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsink.h:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpclientsrc.h:
	* gst/tcp/gsttcpplugin.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversink.h:
	* gst/tcp/gsttcpserversrc.c:
	* gst/tcp/gsttcpserversrc.h:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videoconvert/gstcms.c:
	* gst/videoconvert/gstcms.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolume.h:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	* tests/check/elements/adder.c:
	* tests/check/elements/appsink.c:
	* tests/check/elements/appsrc.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/encodebin.c:
	* tests/check/elements/libvisual.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/streamsynchronizer.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videoconvert.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/generic/clock-selection.c:
	* tests/check/generic/states.c:
	* tests/check/gst/typefindfunctions.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/audiocdsrc.c:
	* tests/check/libs/discoverer.c:
	* tests/check/libs/fft.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/rtsp.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/video.c:
	* tests/check/libs/xmpwriter.c:
	* tests/check/pipelines/basetime.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/gio.c:
	* tests/check/pipelines/oggmux.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisdec.c:
	* tests/check/pipelines/vorbisenc.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/audio/volume.c:
	* tests/examples/dynamic/addstream.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/examples/dynamic/sprinkle.c:
	* tests/examples/dynamic/sprinkle2.c:
	* tests/examples/dynamic/sprinkle3.c:
	* tests/examples/encoding/encoding.c:
	* tests/examples/encoding/gstcapslist.c:
	* tests/examples/encoding/gstcapslist.h:
	* tests/examples/fft/fftrange.c:
	* tests/examples/gio/giosrc-mounting.c:
	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.h:
	* tests/examples/playback/playback-test.c:
	* tests/examples/playrec/playrec.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/stepping.c:
	* tests/examples/seek/stepping2.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/input-selector-test.c:
	* tests/icles/playback/decodetest.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test2.c:
	* tests/icles/playback/test3.c:
	* tests/icles/playback/test4.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	* tests/icles/playback/test7.c:
	* tests/icles/playbin-text.c:
	* tests/icles/stress-videooverlay.c:
	* tests/icles/test-box.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-effect-switch.c:
	* tests/icles/test-scale.c:
	* tests/icles/test-textoverlay.c:
	* tests/icles/test-videooverlay.c:
	* tools/gst-discoverer.c:
	  Fix FSF address
	  https://bugzilla.gnome.org/show_bug.cgi?id=687520

2012-11-02 17:46:58 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: use the same type as the internal type to return it
	  https://bugzilla.gnome.org/show_bug.cgi?id=687466

2012-11-02 20:09:21 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix memory leak when called with invalid parameters
	  https://bugzilla.gnome.org/show_bug.cgi?id=687472

2012-11-02 20:13:07 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: remove extra return and fix GError leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=687473

2012-11-02 11:05:20 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: fix g-i annotations for out parameters
	  https://bugzilla.gnome.org/show_bug.cgi?id=687421

2012-11-01 16:44:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Always prefer the input format if possible
	  Previously we could've chosen another format with the same
	  depth even if the input format was possible.
	  Also make sure to chose according to the order in the
	  caps.

2012-11-01 14:31:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Also ignore the SIGNED flag when matching an output format

2012-10-31 20:01:05 +0100  Rasmus Rohde <rohde@duff.dk>

	* gst/audioconvert/gstaudioconvert.c:
	* tests/check/elements/audioconvert.c:
	  audioconvert: Prefer output formats with the same depth or at least a higher depth
	  Enhance current code to prefer an exact match on sample depth if
	  possible. Also ignore GST_AUDIO_FORMAT_FLAG_UNPACK when checking
	  equality on the flags.

2012-10-30 10:19:59 +0000  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: reset spec on _release
	  Reset the caps and the audioinfo when releasing the ringbuffer.
	  Fixed a bug with reusing pulsesink.

2012-10-29 21:29:36 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: remove unused variable
	  https://bugzilla.gnome.org/show_bug.cgi?id=687146

2012-10-29 13:31:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/gio/gstgio.c:
	  gio: handle g_vfs_get_supported_uri_schemes() returning NULL
	  Handle g_vfs_get_supported_uri_schemes() returning NULL more
	  gracefully, without criticals for passing NULL to g_strv_length().

2012-10-29 13:01:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: fix g-i search path for GstBase-1.0.gir
	  Fixes: Couldn't find include 'GstBase-1.0.gir' build error.

2012-10-29 12:47:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  Revert "g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X"
	  This reverts commit e39fbe6b7e14ccccbf47a5726a18eb963535063b.
	  Looks like we need to pass the full .la file after all in a setup
	  with libtool, or it might not find the library, e.g. like
	  ERROR: can't resolve libraries to shared libraries: gstfft-1.0
	  Conflicts:
	  gst-libs/gst/audio/Makefile.am
	  gst-libs/gst/pbutils/Makefile.am
	  Also see https://bugzilla.gnome.org/show_bug.cgi?id=603710

2012-10-28 21:07:16 +1100  Jonathan Liu <net147@gmail.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: fix crash with 0 byte ogg packets
	  https://bugzilla.gnome.org/show_bug.cgi?id=687030

2012-07-05 17:54:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix inappropriate compiler optimization hint macro usage
	  https://bugzilla.gnome.org/show_bug.cgi?id=679456

2012-10-28 19:59:41 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: fix use after free and memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=687055

2012-10-28 20:01:17 +0100  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: fix memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=687057

2012-10-28 17:59:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/Makefile.am:
	  audio: try harder to make g-i use the build-tree libgsttag
	  without adding additional --library= tags, which shouldn't be there.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679315

2012-10-28 17:52:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: try harder to make g-i use the build-tree libgsttag,-audio, and -video
	  without adding additional --library= tags, which shouldn't be there.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679315

2012-10-28 17:34:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  g-i: change g-ir-scanner arg --library=libgstfoo-X.la to --library=gstfoo-X
	  As it should be according to the man page.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679315

2012-10-25 17:16:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add caps description for Apple ProRes video

2012-10-25 17:14:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: avoid unnecessary pango attribute list copy
	  We just want to keep it alive, not modify it, so a
	  simple ref should be enough.
	  https://bugzilla.gnome.org/show_bug.cgi?id=686841

2012-10-26 00:29:11 +0900  Jihyun Cho <jihyun.jo@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: delete foreground color in shadow text
	  This makes colored text have gray drop shadows
	  instead of colored ones, which looks much better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=686841

2012-10-25 09:19:21 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Don't use invalid sockets
	  return false from dispatch () if the read and write sockets have been
	  unset in tunnel_complete ()
	  Setting up HTTP tunnels causes segfaults since the watch for the second
	  connection is not destroyed anymore in tunnel_complete () and the connection
	  will still be used even though it is not valid anymore.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686276

2012-10-25 14:41:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: fix installer detail string version number
	  Should still be '1.0' not '1.1'. Fixs pbutils unit test.

2012-10-23 11:16:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/speex_resampler_wrapper.h:
	  audioresample: Use auto sinc table mode by default

2012-10-15 22:07:22 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* configure.ac:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample_neon.h:
	* gst/audioresample/speex_resampler_float.c:
	* gst/audioresample/speex_resampler_int.c:
	  audioresample: added ARM NEON support
	  This adds ARM NEON accelerated code paths for 16-bit integer
	  and 32-bit floating point samples.
	  It is a modified combination of patches #3 and #5 from Jyri Sarha
	  ( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html &
	  http://lists.xiph.org/pipermail/speex-dev/2011-September/008238.html )
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2012-10-15 22:21:14 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/audioresample/arch.h:
	* gst/audioresample/fixed_generic.h:
	* gst/audioresample/resample.c:
	  audioresample: changed inner_product_single semantics
	  This is an adaptation of patch #3 from Jyri Sarha
	  ( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html ),
	  but without the NEON optimizations (these come in a separate commit).
	  The idea is to replace SATURATE32(PSHR32(x, shift), a) operations with a
	  combined SATURATE32PSHR(x, shift, a) macro that can be optimized for
	  specific platforms (and also avoids rare rounding errors).
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2012-10-07 03:00:52 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_wrapper.h:
	  audioresample: sinc filter performance improvements
	  Original idea comes from Jyri Sarha
	  ( http://lists.xiph.org/pipermail/speex-dev/2011-September/008243.html ).
	  Patch was discovered by Branislav Katreniak
	  ( branislav.katreniak@streamunlimited.com ) for StreamUnlimited
	  ( http://streamunlimited.com/ ). Tests showed up to 5x speed increase in
	  the resampler in the 44.1<->48kHz case.
	  I added the sinc-filter-mode and sinc-filter-auto-threshold properties
	  and the auto mode threshold tests, and adapted the code to GStreamer 1.0.
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2012-10-25 12:19:46 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to feature development

2012-10-24 23:40:20 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/opus/gstopusdec.c:
	  opusdec: fixed buffer unmapping bug
	  When the decoder received a NULL buffer, it tried to
	  unmap a not mapped buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=686829

=== release 1.0.2 ===

2012-10-25 00:54:24 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.0.2

2012-10-24 14:05:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: track forced decoding state

2012-10-24 13:34:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Also send a GAP event to let audio sinks start their clock in case they did not have enough data yet

2012-10-24 13:29:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Use correct timestamp/duration for the GAP events

2012-10-24 13:26:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/gio/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/subparse/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* sys/ximage/Makefile.am:
	* sys/xvimage/Makefile.am:
	  Revert "gst: Add better support for static plugins"
	  This reverts commit d2d79e3bc2a02ec57258e504b031f7e2d3729ea2,
	  which was accidentially pushed.

2012-10-24 13:25:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Send GAP events to advance streams

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

	* configure.ac:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/gio/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/subparse/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* sys/ximage/Makefile.am:
	* sys/xvimage/Makefile.am:
	  gst: Add better support for static plugins

2012-10-24 11:22:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Add explanation to the GAP event handling code

2012-10-24 09:57:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Create a GAP event with a sensible timestamp

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

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Properly handle GAP events
	  These are now converted into silence buffers if they have
	  a duration or cause the ringbuffer and clock to be started
	  if they don't have a duration.
	  Fixes bug #685273.

2012-10-23 18:16:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Also propagate return value of pushing GAP event upstream

2012-10-23 17:37:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Return TRUE from the EOS handler

2012-10-23 15:56:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: add mapping for 'ALBUM ARTIST' with space
	  As found in sample file for bug #684701.

2012-10-22 15:44:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gstmultihandlesink.c:
	  tcp: sys/socket.h is needed for getsockname() and similar functions

2012-10-22 10:30:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add bpp to caps for msvideo
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686298

2012-10-22 09:44:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add more debug

2012-10-20 12:59:11 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/mklicensestables.c:
	  tag: remove unnecessary g_type_init() call from mklicensestable tool
	  https://bugzilla.gnome.org/show_bug.cgi?id=686456

2012-10-20 11:38:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsasink.c:
	  alsasink: fix caps leak in acceptcaps function
	  https://bugzilla.gnome.org/show_bug.cgi?id=681192

2012-10-20 11:38:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: don't leak message strings when error is not fatal
	  https://bugzilla.gnome.org/show_bug.cgi?id=681192

2012-10-20 11:37:33 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't leak message strings when error is not fatal

2012-10-19 18:29:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcpserver{sink,src}: improve docs and property strings
	  And some minor clean-ups.

2012-10-17 12:19:56 +0200  Alexandre Relange <alexandre.relange@pineasystems.org>

	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversink.h:
	* gst/tcp/gsttcpserversrc.c:
	* gst/tcp/gsttcpserversrc.h:
	  tcpserver{sink,src}: add 'current-port' property and signal actually used port
	  Useful when port=0 (use random available port) was requested.
	  https://bugzilla.gnome.org/show_bug.cgi?id=580093

2012-10-18 22:13:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: enhance transforming caps
	  ... so as to preserve input format precision,
	  and preferably not convert at all.

2012-10-18 12:02:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: fix 'TODO' on image tag parsing
	  Image tag now uses GstSample that has the buffer and caps
	  associated with it.

2012-10-18 00:39:42 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsa.c:
	  alsa: if no formats in native endianness could be detected, try non-native endianness as well
	  This can happen, e.g. when using an USB sound card on
	  a big-endian device
	  https://bugzilla.gnome.org/show_bug.cgi?id=680904

2012-10-18 00:04:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsasink.c:
	  alsa: fix supported format detection
	  The format probing code was assuming there'd be one caps
	  structure for each separate width/depth combination like
	  we did in 0.10 all over the place: for one, we'd query
	  unsigned/signed formats together for the same width/height,
	  and we'd add the entire current structure to the probed
	  caps when we find a format is supported. Now that we have
	  all raw formats in a single structure, this is all not going
	  to work so well any more. We added the entire structure with
	  all possible formats to the caps if we support just one format.
	  Fix probing so that we only return the list of actually
	  supported raw audio formats (with native endianness) from
	  get_caps().

2012-10-17 19:59:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	  audiocdsrc: mention TOCs in docs

2012-10-17 17:34:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  Use gst_element_class_set_static_metadata()
	  where possible. Avoids some string copies. Also re-indent
	  some stuff. Also some indent fixes here and there.

2012-10-17 16:54:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  theora, app: use gst_element_class_set_static_metadata()
	  Avoids string copies.

2012-10-17 10:55:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: return NULL from _allocate_output_buffer() if alloc fails
	  .. instead of garbage pointer. Also log failure in debug log.
	  Should've returned the flow return like _allocate_output_frame().
	  https://bugzilla.gnome.org/show_bug.cgi?id=683098

2012-10-16 11:48:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: fix palette extraction some more
	  We still need to make sure the palette is always at least 1024
	  bytes.

2012-10-16 00:55:56 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff: create palette_data buffer correctly
	  gst_buffer_copy_into() will append to any existing
	  memory region, so don't create a buffer and alloc
	  some memory, but just create an empty buffer and
	  let _copy_into() append the memory we want. Fixes
	  the palette being 2048 bytes with the first half
	  being filled with garbage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=686046

2012-10-15 18:47:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: properly handle clipping of empty buffer

2012-10-15 16:33:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: make and copy palette

2012-10-15 16:32:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: actually copy the palette
	  Copy the default palette in the destination buffer too.

2012-10-15 15:50:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: fix RGB8P format description docs

2012-10-11 11:36:54 +0200  David Corvoysier <david.corvoysier@orange.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Fix group switching algorithm
	  There were two issues with the previous decodebin2 group switching algorithm:
	  Issue 1: It operated with no memory of what has been drained or not, leading to
	  multiple checks for chains/groups that were already drained.
	  Issue 2: When receiving an EOS, it only detected that a higher-level chain
	  was drained if it contained the pad receiving the EOS.
	  The following modifications have been applied:
	  - a new drained property has been added to GstDecodeChain
	  - both drained properties of chain/group are set as soon as they are detected
	  - the algorithm now tests agains these values
	  See https://bugzilla.gnome.org/show_bug.cgi?id=685938

2012-09-20 01:07:08 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsprange: fix formatting and parsing of range floating-point values
	  Other locales might use a comma instead of a floating point
	  for floats, which might lead to parsing errors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=684411

2012-10-12 21:36:49 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: update for RGB8_PALETTED -> RGB8P

2012-10-12 21:31:25 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff: 8-bit paletted video is format RGB8P, not RGB8_PALETTED
	  https://bugzilla.gnome.org/show_bug.cgi?id=686046

2012-10-11 12:54:39 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: set of base_ts for segment formats other than time
	  Fixes setting of converted segment start as base_ts when estimate rate
	  is allowed.

2012-10-10 15:49:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't unref caps twice
	  Thanks to Josep Torra for noticing.

2012-10-10 15:04:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  videodecoder: finetune missing timestamp estimating
	  Monitor for reordered output timestamps, and then avoid oldest DTS
	  as PTS approach, and try for an oldest PTS as out PTS approach,
	  if at least all valid PTS available.
	  Avoids bogus estimating upon sparse available input PTS, and tries
	  to handle all-keyframe input, or input PTS which are actually DTS.

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

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Change GST_WARNING to GST_INFO
	  It's not a problem if we have no converters, this only means
	  that none were requested at this point.

2012-10-09 13:07:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstivorbisdec.c:
	* ext/vorbis/gstvorbisdec.c:
	  ivorbisdec: Rename debug category to prevent symbol conflict when using static linking

2012-10-09 12:18:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/streamvolume.c:
	* gst/playback/gstplaybin2.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	* tests/examples/gio/giosrc-mounting.c:
	  docs: playbin2 -> playbin

2012-10-09 12:17:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/app/appsink-src.c:
	  tests: fix audio caps

2012-10-08 12:43:03 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	  audio/video: update documentation for vfunc's that require chaining up

2012-10-07 02:58:05 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* configure.ac:
	  configure: Reintroduced xmmintrin.h/emmintrin.h header checks
	  The audio resampler needs these for the SSE/SSE2 code paths
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2012-10-08 09:21:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.h:
	  video: small docs fix

2012-10-07 19:46:45 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/video.c:
	  tests: fix video overlay_composition_premultiplied_alpha test on big-endian machines
	  The unit test was checking for alpha at the wrong position.

2012-10-07 16:52:27 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development (bug fixing)

=== release 1.0.1 ===

2012-10-07 15:11:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.0.1

2012-10-07 13:34:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/struct_i386.h:
	  tests: fix ABI struct headers for x86
	  Not caused by anything we changed recently as
	  far as I can tell.

2012-10-07 13:13:37 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_ppc32.h:
	  tests: add ABI structs header for 32-bit powerpc

2012-10-06 15:32:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/adder.c:
	  tests: skip adder test_live_seeking test while it's unreliable
	  Was an issue in 0.10 as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617418

2012-10-06 14:56:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 6c0b52c to 6bb6951

2012-10-05 10:59:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/test-effect-switch.c:
	  tests: fix test-effect-switch
	  Make it into an example of how to dynamically change an element
	  in a playing pipeline using pad blocking.

2012-10-04 13:40:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: make stop() vfunc also optional
	  Just change default value, since we also don't want to fail
	  if we want to deactivate and aren't active or want to activate
	  and are already active.
	  https://bugzilla.gnome.org/show_bug.cgi?id=685490

2012-10-04 14:05:13 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: don't fail if the start vfunc is not implemented
	  Fix behaviour to match documentation and decoder class behaviour.
	  https://bugzilla.gnome.org/show_bug.cgi?id=685490

2012-10-04 12:15:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  tests: don't stop on just warnings

2012-10-04 11:12:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/test-scale.c:
	  tests: fix scale test for 1.0
	  It needs a basetransform patch that makes it prefer the order of
	  the caps property instead of passthrough.

2012-10-03 10:45:26 -0700  Michael Smith <msmith@rdio.com>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

2012-10-03 10:44:59 -0700  Michael Smith <msmith@rdio.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  meta registration: use g_once functions to register these threadsafely.

2012-10-03 11:37:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	  playback: class_ref() some types so we can create multiple playback elements at the same time
	  Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
	  and subsequent errors when creating multiple players at the same time.
	  Conflicts:
	  gst/playback/gststreamselector.c

2012-10-02 09:29:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix unused variable compiler warning if debugging is disabled

2012-10-01 21:31:39 +0200  Sebastian Pölsterl <sebp@k-d-w.org>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: mark url argument of gst_rtsp_url_parse() as out arg
	  https://bugzilla.gnome.org/show_bug.cgi?id=685242

2012-09-28 20:07:43 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Also use the object lock to protect the output_state
	  Hold both the stream and the object lock to modify the output_state,
	  this way it can be safely modified while hold either one or the other.
	  Also, only hold the object lock in the query
	  https://bugzilla.gnome.org/show_bug.cgi?id=684832

2012-10-01 11:58:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-subtitle-overlays.txt:
	* docs/design/draft-va.txt:
	* docs/design/part-playbin.txt:
	  docs: update for 1.0

2012-09-30 00:31:21 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: muxer sink pad is not always a request pad
	  GstId3Mux sink pad is an always (static) pad. Thus releasing it
	  as if a request pad triggers:
	  (sound-juicer:11826): GStreamer-CRITICAL **:
	  gst_element_release_request_pad: assertion `GST_PAD_PAD_TEMPLATE (pad)
	  == NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
	  GST_PAD_REQUEST' failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=685110

2012-09-29 21:42:46 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix max-latency property getter
	  Was returning the min-latency value.

2012-09-29 11:46:56 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstchannelmix.c:
	* gst/playback/gstplaysink.c:
	* tests/check/elements/ffmpegcolorspace.c:
	* tests/check/elements/videotestsrc.c:
	  Purge all references to liboil
	  And remove unused ffmpegcolorspace tests in the process.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673285

2012-09-28 13:59:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  video{de,en}coder: fix missing timestamp estimating
	  ... by having some more timestamp tracking in a private frame field.
	  Not doing so would lead to (a.o.) losing the needed minimum timestamp in
	  an earlier sent frame.

2012-09-27 12:40:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Correctly handle empty text buffers

2012-09-27 11:31:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: use oldest frame DTS to estimate missing outgoing PTS

2012-09-26 16:31:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: use oldest frame PTS to estimate missing outgoing DTS

2012-09-26 16:22:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: incoming buffer DTS is irrelevant
	  ... and bogus anyway if PTS != DTS

2012-09-26 13:22:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  test: fix for new-sample signature
	  The new-sample signal expects a GstFlowReturn as a result.
	  Add support for external subtitles as well.

2012-09-25 17:19:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: clip input buffers to current input segment
	  ... rather than to output segment, which will only be set
	  to current input segment if some output is produced
	  (coming from non-clipped input).
	  Also fixup debug message.

2012-09-25 13:16:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: Set correct plugin metadata

2012-09-24 16:38:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development (bug fixing)

=== release 1.0.0 ===

2012-09-24 13:35:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 1.0.0

2012-09-24 10:16:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't take STREAM_LOCK on upstream events
	  Don't try to take STREAM_LOCK on upstream events such as QOS.
	  Protect qos-related variables with object lock instead. Fixes
	  possible deadlock when shutting down in certain situations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=684658

2012-08-29 16:02:11 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: keep track of the correct running time after renegotiations
	  Need to store the old running time and frame numbers when renegotiating and
	  start from 0 again when a new caps is set, preventing that framerate changes
	  cause timestamping issues.
	  For example, if a stream pushed 10 buffers on framerate=2/1, its
	  running time will be 5s. If a new framerate of 1/1 is set, it would
	  make the running time go to 10s as it would count those 10 buffers
	  as being sent on this new framerate.
	  Fixes camerbin unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=682973

2012-09-23 13:31:17 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: send stream-start event, and send caps event after stream-start
	  Delay sending of caps event so that it is sent only after
	  the stream-start event.

2012-09-23 13:27:27 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: send stream-start event

2012-09-20 18:42:50 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopus.c:
	  opusenc: Rank as Primary

2012-09-22 16:07:35 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 4f962f7 to 6c0b52c

2012-09-21 16:10:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.h:
	  oggmux: fix up previous commit
	  Was missing the header file change.

2012-09-21 15:58:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: send a segment event at the beginning

2012-09-20 10:03:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Update comments about forwarding/not-forwarding serialized events immediately

2012-09-19 21:16:01 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Protect all accesses to priv->output_frame with the stream lock
	  Fixes segfault as queries/events can happen after a reset

2012-09-19 17:29:01 +0200  Andreas Frisch <fraxinas@opendreambox.org>

	* tests/icles/playbin-text.c:
	  tests: port playbin-text example to 1.0 api
	  https://bugzilla.gnome.org/show_bug.cgi?id=684084

2012-09-19 08:52:45 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	  audio: Explicitly specify endianness for IEC 61937 payloading
	  This is required since some systems (DirectSound and OS X) manage the
	  final byte order themselves.
	  https://bugzilla.gnome.org/show_bug.cgi?id=678021

2012-09-18 13:16:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: mark semi-unused variable
	  ../../../gst-plugins-base/gst/audioresample/gstaudioresample.c: In function 'gst_audio_resample_dump_drain':
	  ../../../gst-plugins-base/gst/audioresample/gstaudioresample.c:729:9: warning: variable 'in_len' set but not used [-Wunused-but-set-variable]

=== release 0.11.99 ===

2012-09-17 17:57:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.11.99

2012-09-17 17:57:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update

2012-09-17 16:19:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/snapshot/snapshot.c:
	  examples: make snapshot example actually compile and work
	  https://bugzilla.gnome.org/show_bug.cgi?id=684063

2012-09-17 16:03:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/libs/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  Remove -DGST_USE_UNSTABLE_API

2012-09-14 02:18:52 +0900  Javier Jardón <jjardon@gnome.org>

	* tests/examples/snapshot/snapshot.c:
	  tests/examples/snapshot/snapshot.c: get caps from the sample
	  pull-preroll signal returns a GstSample, not a GstBuffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=684063

2012-09-17 13:18:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* gst/playback/gstsubtitleoverlay.c:
	  gst: Update for link/unlink function API change

2012-09-17 12:07:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update docs and fix build a bit more
	  Don't try to include plugin that doesn't exist any longer
	  (merged into the playback plugin).

2012-09-15 22:08:30 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-base.spec.in:
	  Update spec file with latest changes and switch to F18 package naming

2012-09-15 18:57:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* tests/examples/encoding/gstcapslist.c:
	* tests/examples/seek/jsseek.c:
	  use gst_element_factory_get_metadata to replace obsolete API

2012-09-14 17:53:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbistag.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/libs/audiocdsrc.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/xmpwriter.c:
	  replace gst_tag_list_free with gst_tag_list_unref

2012-09-14 17:08:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  replace gst_element_class_set_details_simple with gst_element_class_set_metadata

2012-09-14 17:02:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/audiocdsrc.c:
	  replace gst_element_class_set_details_simple with gst_element_class_set_metadata

2012-09-14 16:06:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audio: improve property description
	  Improve the description of the latency-time and buffer-time properties in the
	  audio sink and source.

2012-09-14 14:53:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't output an (unreffed) buffer in error cases

2012-09-14 13:39:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	* tests/examples/app/appsink-src.c:
	  fix for appsink GstFlowReturn

2012-09-14 13:31:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: add GstFlowReturn from signal handler
	  Expect a GstFlowReturn from the signal handler, just like from the callback.
	  Also use the return value.

2012-09-14 13:19:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	* docs/design/design-encoding.txt:
	* docs/design/draft-subtitle-overlays.txt:
	* gst/videoscale/README:
	* tests/examples/app/appsink-src.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/examples/dynamic/sprinkle.c:
	* tests/examples/dynamic/sprinkle2.c:
	* tests/examples/dynamic/sprinkle3.c:
	* tests/examples/encoding/gstcapslist.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/input-selector-test.c:
	* tests/icles/test-scale.c:
	* tests/icles/test-textoverlay.c:
	  fix caps

2012-09-12 14:11:28 +0200  Andreas Frisch <fraxinas@opendreambox.org>

	* gst/playback/gstsubtitleoverlay.c:
	  playbin: subtitleoverlay: don't segfault in incorrectly init'ed plugins
	  https://bugzilla.gnome.org/show_bug.cgi?id=683865

2012-09-14 02:57:01 +0100  Tim-Philipp Müller <tim@centricular.net>

	* configure.ac:
	  Back to development

=== release 0.11.94 ===

2012-09-14 02:47:54 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	* configure.ac:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  Release 0.11.94

2012-09-14 01:34:01 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update docs

2012-09-14 01:33:36 +0100  Tim-Philipp Müller <tim@centricular.net>

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

2012-09-14 00:16:23 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: don't shadow function parameter

2012-09-13 17:11:56 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: Fix annotations

2012-09-13 12:01:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-subtitle-overlays.txt:
	  docs: ffmpegcolorspace is no more

2012-09-10 18:44:56 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle GAP events
	  Drain out the decoder when encountering a gap. Needed for DVD 'still'
	  sequences which consist of a single video frame, and a large gap
	  while audio plays.

2012-09-02 23:19:09 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Fix still-frame handling.
	  Still frame events are not OOB downstream. Also, always send
	  immediately downstream.

2012-09-12 21:32:04 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/xmpwriter.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/xmpwriter.c:
	* win32/common/libgsttag.def:
	  xmptag: migrate to the _full version of the API and drop the _full postfix
	  Fix up all invocations.

2012-09-12 21:03:21 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	* gst/adder/gstadder.c:
	  collectpads: remove gst_collect_pads_add_pad_full
	  Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
	  invocations.

2012-09-12 12:54:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videotestsrc.c:
	  tests: port to the new GLib thread API

2012-09-12 09:10:35 +0200  Peter Korsgaard <jacmet@sunsite.dk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus + jpegformat: unbreak non-debug build
	  opus + jpegformat plugin builds fail when gstreamer is configured with
	  --disable-gst-debug as they are checking the GST_DISABLE_DEBUG symbol
	  instead of GST_DISABLE_GST_DEBUG.
	  Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
	  https://bugzilla.gnome.org/show_bug.cgi?id=683850

2012-09-12 10:12:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: fix unit test
	  Add support for I422_10

2012-09-12 09:54:53 +0200  Michael Smith <msmith@rdio.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for 4:2:2 10 bit video.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683838

2012-09-11 18:02:28 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/opus.c:
	  test: Flush opus encoder between tests

2012-09-11 18:01:58 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/opus.c:
	  test: Flush opus encoder between tests

2012-09-11 20:53:16 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: also read tags if downstream activates us in pull mode right away
	  Fix reading of tags for the case filsrc ! footagdemux ! fooparse ! ..
	  where we would not read the tags because we never start our own
	  streaming thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673185

2012-09-11 17:36:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  ext, gst-libs: only activate in pull mode if upstream is seekable

2012-09-11 16:28:26 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Call default query handler

2012-09-11 16:27:24 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't wait on non-time streams
	  streams with non-TIME segments will not have timestamps ...
	  ... and therefore will never unblock the other streams.
	  Fixes blocking issue when using playbin suburi feature

2012-09-11 14:31:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: port to the new GLib thread API

2012-09-11 12:53:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  video-info: don't do alignment on the palette
	  Don't align the palette data. Fixes endless loop when trying to align
	  paletted formats.

2012-09-11 10:56:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: improve handling of navigation events
	  Only make the navigation event writable when we need to change it.

2012-09-11 01:43:37 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/struct_x86_64.h:
	  tests: fix up libsabi test structure sizes for x86-64

2012-09-11 01:31:54 +0100  Tim-Philipp Müller <tim@centricular.net>

	* Makefile.am:
	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* gst/gdp/Makefile.am:
	* gst/gdp/README:
	* gst/gdp/dataprotocol.c:
	* gst/gdp/dataprotocol.h:
	* gst/gdp/dp-private.h:
	* gst/gdp/gstgdp.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdpdepay.h:
	* gst/gdp/gstgdppay.c:
	* gst/gdp/gstgdppay.h:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/pipelines/.gitignore:
	* tests/check/pipelines/streamheader.c:
	  gdp: move gdp plugin to -bad
	  It needs to be reworked for 1.0

2012-09-10 21:20:17 +0100  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstaudio.def:
	  win32: add new ringbuffer API to exports file

2012-09-10 17:13:34 +0200  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: operate in pull mode
	  When we are operating in pull mode, we need to pull from upstream and push
	  downstream. Also make sure to push tags first.

2012-09-10 14:00:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.h:
	  video: add some padding
	  ... and clean up some related resolved FIXMEs

2012-09-10 12:45:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videoscale/vs_image.c:
	  videoscale: remove defunct commented code

2012-09-10 12:45:17 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	  tcp: adjust comment style

2012-09-10 12:12:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiosrc: check for flushing state in provide_clock
	  Only provide a clock when we are not flushing, this means that we have posted a
	  PROVIDE_CLOCK message. We used to check if we were acquired but that doesn't
	  work anymore now that we do the negotiation async in the streaming thread: it's
	  possible that we are still negotiating when the pipeline asks us for a clock.

2012-09-10 12:12:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  ringbuffer: add method to check the flushing state

2012-09-10 11:41:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/gstvideosink.h:
	  gst-libs: restore original full padding

2012-09-10 11:26:38 +0200  Pontus Oldberg <pontus.oldberg at invector.se>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  ringbuffer: add support for timestamps
	  Make it possible for subclasses to provide the timestamp (as an absolute time
	  against the pipeline clock) of the last read data.
	  Fix up alsa to provide the timestamp received from alsa. Because the alsa
	  timestamps are in monotonic time, we can only do this when the monotonic clock
	  has been selected as the pipeline clock.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=635256

2012-09-10 11:20:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audio{de,en}coder: use GstClockTime parameters where appropriate
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683672

2012-09-10 01:26:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/libvisual/gstaudiovisualizer.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  Remove some #define GLIB_DISABLE_DEPRECATION_WARNINGS that are no longer needed

2012-09-10 01:26:20 +0100  Tim-Philipp Müller <tim@centricular.net>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimagesink:  port to new GLib thread API

2012-09-10 01:16:41 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: don't clear/free GCond twice

2012-09-10 01:10:33 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: port to new GLib thread API

2012-09-10 01:10:24 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  playback: port to new GLib thread API

2012-09-10 01:08:51 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: port to new GLib thread API

2012-09-10 01:06:51 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasink.h:
	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  alsa: port to new GLib thread API

2012-09-10 01:03:52 +0100  Tim-Philipp Müller <tim@centricular.net>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	  ximagesink: port to the new GLib thread API

2012-09-09 20:36:05 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: port to the new GLib thread API

2012-09-09 20:34:56 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/convertframe.c:
	  video: port to the new GLib thread API

2012-09-09 20:34:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: port to the new GLib thread API

2012-09-09 20:34:35 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  app: port to the new GLib thread API

2012-09-10 00:28:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/riff/riff-media.c:
	* tests/check/libs/pbutils.c:
	  video/x-3ivx -> video/mpeg, mpegversion=4

2012-09-09 21:11:20 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: extract audio depth correctly
	  But we should only do that if it comes straight from a
	  container or wavparse, not if it comes from a decoder,
	  otherwise it's probably not really meaningful.

2012-09-09 19:48:54 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: reflow some code to avoid gst-indent ping-pong

2012-09-09 18:48:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update plugin docs

2012-09-09 18:36:49 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/glib-compat-private.h:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/video/convertframe.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  Remove glib-compat-private.h stuff we don't need any more
	  It's all been ported to the latest GLib API now.

2012-09-09 18:29:40 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	* tests/check/libs/pbutils.c:
	  install-plugins: constify _install_*sync() details array arguments

2012-09-09 18:20:45 +0100  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstvideo.def:
	  win32: update .def file for video overlay API additions

2012-09-09 18:05:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/gdp/dataprotocol.c:
	  gdp: dump bytes into debug log using GST_MEMDUMP
	  Instead of home-grown solution.

2012-09-09 15:58:36 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: default to tolerance = 40ms instead of 0
	  People expect audiorate to fix things up and not make things worse
	  by default, so let's default to a similar tolerance as audiosinks
	  do. Should help with transcoding and the like, though one might
	  possible still want higher values then.

2012-09-09 15:12:14 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: fix up dither method enum GType name for consistency

2012-09-09 02:00:49 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultisocketsink.c:
	  multi{fd,socket}sink: rename client-handle-removed signal to client-{fd,socket}-removed

2012-09-09 01:20:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multifdsink, multisocketsink: fix broken action signal setup
	  We can't just make a vfunc that takes a union of int
	  and pointer as argument, and then set up subclass-specific
	  action signals and signals that take int (in multifdsink's
	  case) or a GSocket * (in multisocketsink's case), and then
	  expect everything to Just Work. This blows up spectacularly
	  on PPC G4 for some reason.
	  Fixes multifdsink unit test on PPC, and fixes aborts in
	  multisocketunit test (now hangs in gst_pad_push - progress).

2012-09-09 00:18:16 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/multisocketsink.c:
	  tests: fix socket leaks in multisocketsink unit test

2012-09-08 22:56:56 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: fix crashes and invalid writes in totem
	  This reverts part of "visual: enable commented out code again."
	  (commit 8222ba16c8f671dc03e24e7b60e3e703046e58c1).
	  The shader code does indeed look broken (or rather,
	  it makes assumptions that are not necessarily true here,
	  namly that pixel stride is 4, for example), which
	  makes totem very crashy and causes other weird behaviour.
	  Also see https://bugzilla.gnome.org/show_bug.cgi?id=683527

2012-09-07 17:41:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: only set invalid DTS equal to PTS for keyframe
	  Also add a bit more debug.
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=679443

2012-09-07 01:39:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/audioresample.c:
	  tests: fix audioresample unit test for big-endian systems

2012-09-07 01:26:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/audiorate.c:
	  tests: fix audiorate unit test on big-endian systems

2012-09-07 01:23:07 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/pipelines/simple-launch-lines.c:
	  tests: fix simple-launch-lines unit test on big-endian systems
	  audiotestsrc only does native endianness.

2012-09-06 18:16:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: error out if no CAPS event was received before buffers
	  Most payloaders set/send their own output format from the setcaps
	  function, so if we don't get input caps, things probably wont' work
	  right, even if the input format is fixed (as in the case of the mpeg-ts
	  payloader for example).
	  https://bugzilla.gnome.org/show_bug.cgi?id=683428

2012-09-06 17:47:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: assume input caps are accepted if subclass has no set_caps vfunc
	  Not that anyone should ascribe too much meaning to these return
	  values in the age of sticky caps.

2012-09-06 15:04:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/playbin.c:
	  tests: playbin: do not leak uri strings

2012-09-06 15:03:49 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: do not leak EOS events

2012-09-06 13:58:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: plug leak

2012-09-06 13:35:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsync: only remove DISCONT when needed
	  Check if the buffer is DISCONT before making a potentially expensive copy to
	  unset the DISCONT flag.

2012-09-06 13:04:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: plug some leaks

2012-09-06 12:15:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: plug some leaks

2012-09-05 16:59:12 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: use GAP event to trigger preroll
	  ... rather than an empty buffer

2012-09-05 15:13:26 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: add missing break

2012-09-05 12:00:50 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: indicate packet loss using GAP event

2012-09-05 11:42:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: handle GAP event to update text position

2012-09-05 11:41:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: remove dead code

2012-09-05 11:41:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: send GAP event
	  ... in stead of old update newsegment event.

2012-09-05 09:46:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* tests/check/libs/video.c:
	* win32/common/libgstvideo.def:
	  videooverlaycomposition: add some _get_argb and _get_ayuv functions
	  ... that will handle automatic conversion to indicated format.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=683180

2012-09-04 12:18:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  update for basesink change

2012-09-04 11:09:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsync: unblock gcond on flush-stop
	  See https://bugzilla.gnome.org/show_bug.cgi?id=680441

2012-09-04 10:03:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: unblock pads before releasing
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679823

2012-09-03 18:57:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/.gitignore:
	  tests: make git ignore streamsynchronizer test binary

2012-09-02 22:32:12 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/riff/riff-media.c:
	* tests/check/libs/pbutils.c:
	  video/x-xvid -> video/mpeg,mpegversion=4

2012-09-02 23:19:09 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  On a still-frame begin message, drain out the decoder and send it.
	  Fixes still frame handling on DVDs

2012-09-02 22:59:58 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: Send serialised events immediately, after we're pre-rolled."
	  This reverts commit ef5316fbb0f6d5ffad7be18ed36903a89341c4de.

2012-09-02 03:39:51 +0100  Tim-Philipp Müller <tim@centricular.net>

	* docs/design/part-mediatype-text-raw.txt:
	  docs: add design doc for text/x-raw format

2012-09-02 02:41:34 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstrawcaps.h:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/icles/playbin-text.c:
	  text/plain + text/x-pango-markup -> text/x-raw

2012-09-02 01:27:17 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  gst_message_new_duration() -> gst_message_new_duration_changed()

2012-08-31 12:42:12 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Handle GAP events in place of segment updates
	  Use them to trigger generation of an empty output buffer or
	  to send pending events downstream and trigger pre-roll

2012-08-31 12:40:36 -0700  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Send serialised events immediately, after we're pre-rolled.
	  Only hold back events until the first buffer is generated, then just
	  send them directly. Otherwise, important events like 'still-frame' are
	  held forever, waiting for a frame that'll never arrive.

2012-08-30 16:54:17 -0700  Edward Hervey <edward@collabora.com>

	* tests/check/elements/playbin-compressed.c:
	  check: Don't fail on GST_MESSAGE_WARNING
	  we will get some because some elements aren't present.
	  If the availability of those elements was critical, we will
	  eventually get an error message

2012-08-30 20:22:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	  audiovis: add more debug

2012-08-30 13:23:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  videooverlaycomposition: also adjust docs and API defs to modified API

2012-08-30 12:09:47 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: adjust to modified video overlay composition API

2012-08-30 12:09:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* tests/check/libs/video.c:
	  videooverlaycomposition: allow more formats for rectangle pixel data
	  ... adding AYUV, and allowing for ARGB or RGBA endian-independent.

2012-08-29 19:23:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/encoding/gstencodebin.c:
	  encodebin: rename flags type name

2012-08-28 14:19:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: reset freed input and output states
	  Conflicts:
	  ext/theora/gsttheoradec.c

2012-08-24 22:12:48 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: parsing loop must ensure for a current frame

2012-08-07 13:25:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: stricter check on input variables

2012-08-26 22:25:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gstplaybin2.c:
	  playbin: automatically deinterlace interlaced content by default

2012-08-24 17:21:58 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-format.h:
	  docs: add docs for some of the video info macros

2012-08-24 16:56:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: allow 0 sized output frames
	  Allow 0 sized frames in gst_video_encoder_allocate_output_frame(). Theora
	  encodes repeat frames, for example, as 0 sized buffers.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681196

2012-08-22 13:29:51 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 668acee to 4f962f7

2012-08-22 13:17:08 +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-22 09:20:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: fix buffer leak when gst_rtp_buffer_map() fails because of broken data
	  Makes libs/rtp unit test valgrind clean.

2012-08-22 09:46:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtp: Fix extension data support
	  Allocate header, payload and padding in separate memory blocks in
	  gst_rtp_buffer_allocate().
	  don't use part of the payload data as storage for the extension data but store
	  it in a separate memory block that can be enlarged when needed.
	  Rework the one and two-byte header extension to make it reserve space for the
	  extra extension first.
	  Fix RTP unit test. Don't map the complete buffer or make assumptions on the
	  memory layout of the underlaying implementation. We can now always add extension
	  data because we have a separate memory block for it.

2012-08-21 11:49:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: fix extension length calculation

2012-08-21 11:48:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtp: remove unused field

2012-08-21 22:51:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  pango: fix bad unref and crashes with multiple text overlays
	  gst_element_class_get_pad_template() does not return a ref,
	  so we mustn't unref the template returned. Fixes crashes
	  when switching back and forth between different types of
	  subtitle streams.

2012-08-21 10:04:41 +0100  Tim-Philipp Müller <tim@centricular.net>

	* win32/common/libgstvideo.def:
	  win32: add new video align API to .def file

2012-08-20 21:35:03 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstrawcaps.h:
	* gst/playback/gstsubtitleoverlay.c:
	* tests/check/libs/pbutils.c:
	  video/x-dvd-subpicture -> subpicture/x-dvd

2012-08-20 16:17:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: only copy the visible region
	  Make sure to only copy the visible region instead of assuming that the complete
	  stride is visible (which is not the case when padding is used).

2012-08-20 16:14:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: add more debug

2012-08-20 16:13:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  X11: add unpadded width/height as videometa
	  We need to add the real width/height as the values in the video metadata instead
	  of the padded values.

2012-08-20 11:19:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  X11: use new alignment function
	  Remove some custom padding and alignment functions and replace with the new
	  align function from the video library.

2012-08-20 11:12:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  video-info: update padding
	  Update the alignement structure with the new padding values because they could
	  have been changed when the padding was increased to align the strides.

2012-08-20 10:50:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: expose gst_video_info_align
	  Expose the gst_video_info_align function that adds padding and does stride
	  alignment on a GstVideoInfo. Move this previously private function to
	  video-info.co
	  Move the definition of the alignment structure to video.h where it can be picked
	  up by both the bufferpool and the video-info.

2012-08-20 10:16:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: improve alignment
	  Check the alignment of the strides in gst_video_info_align and increase the
	  padding on the frame until the strides are aligned.

2012-08-20 10:03:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: improve alignment
	  Align each plane instead of each component, we might otherwise apply the
	  alignment adjustement twice if a plane contains multiple components.

2012-08-13 16:42:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.h:
	  video-format: fix docs a little

2012-08-19 17:05:04 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/Makefile.am:
	  toos: fix build and distcheck some more
	  The .in file is gone now.

2012-08-18 21:36:09 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-discoverer-1.0.1:
	* tools/gst-visualise-m.m:
	* tools/gst-visualise.1.in:
	  tools: remove gst-visualise script
	  Bit pointless really and clearly unused since the 0.8 days.
	  Also simplify Makefile while we're at it.

2012-08-18 21:33:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: mark Lanczos method as experimental/unstable
	  It's known to crash in some circumstances.

2012-08-18 21:18:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/.gitignore:
	* tools/gst-launch-ext.1.in:
	* tools/gst-visualise.1.in:
	  tools: remove man page for tool that no longer exists

2012-08-18 21:15:24 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/README.filterstamp:
	* tools/filterstamp.sh:
	  tools: remove obsolete filterstamp.sh script
	  There's gst-element-maker in -bad now.

2012-08-18 21:13:01 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/Makefile.am:
	* tools/gst-discoverer.1.in:
	  tools: add basic man page for gst-discoverer
	  https://bugzilla.gnome.org/show_bug.cgi?id=681905

2012-08-17 22:54:13 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-discoverer.c:
	  discoverer: remove unused 'silent' command line option

2012-08-17 23:03:52 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  visual: enable commented out code again.
	  Finish the last change and reenable the shader code.

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  docs: Add new video API to the docs

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video: Add methods to return a list of all pending GstVideoCodecFrames

2012-08-16 00:11:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/fft/kiss_fftr_f32.c:
	* gst-libs/gst/fft/kiss_fftr_f64.c:
	* gst-libs/gst/fft/kiss_fftr_s16.c:
	* gst-libs/gst/fft/kiss_fftr_s32.c:
	  fft: shouldn't ever call exit()
	  Libraries shouldn't ever just call exit().
	  Let's hope we'll remember to cherry-pick this commit again
	  if we ever update these files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681904

2012-08-14 18:53:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Handle stream switching
	  * Update outgoing segment.base with accumulated time, ensuring all
	  streams are synchronized.
	  * Only consider streams as "new" is they have a STREAM_START event
	  with a different seqnum.
	  * Use GstStream segment.base instead of separate variable to store
	  the past running time.
	  * Disable passthrough
	  * Switch to glib 2.32 GMutex/GCond
	  * Avoid getting pad parent the expensive way
	  * Minor other fixes

2012-08-14 18:50:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/streamsynchronizer.c:
	  check: Add streamsynchronizer unit test

2012-08-14 18:53:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Avoid resetting ringbuffer when not needed
	  If the ringbuffer was configured to the same caps as previously, we
	  don't need to reconfigure it.

2012-08-14 15:48:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstaudio.def:
	* win32/common/libgstvideo.def:
	  audio/video: Add new API to the docs

2012-08-07 17:24:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: getter for allocator
	  Sometimes the decoder would use the allocator for something else than just
	  allocating output buffers, for example, querying different parameters.
	  This patch expose a getter accessor for the negotiated memory allocator.

2012-08-07 17:21:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: getter for allocator
	  Sometimes the encoder would use the allocator for something else than just
	  allocating output buffers, for example, querying different parameters.
	  This patch expose a getter accessor for the negotiated memory allocator.

2012-08-07 17:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: getter for allocator
	  Sometimes the encoder would need to use the allocator for something else than
	  just allocating output buffers, for example, querying different parameters.
	  This patch expose a getter accessor for the negotiated memory allocator.

2012-08-06 20:18:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: getters for pool and allocator
	  Sometimes the decoder would need to use the pool or the allocator for
	  something else than just allocating output buffers. For example, the querying
	  for different parameters, such as asking for a bigger number of buffers to
	  allocate in the pool.
	  This patch expose a two getters accessors: one for the buffer pool and the
	  other for the memory allocator.

2012-08-13 23:32:59 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: return TRUE from _set_output_format() if all is good
	  Fixes not-negotiated errors in wavpackenc unit test.

2012-08-13 13:47:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	* ext/libvisual/visual.c:
	  visual: add support for GstVideoFrame
	  Add support for GstVideoMeta and GstVideoFrame.
	  Remove some redundant fields that are also in GstVideoInfo
	  Disable the shader code, it looks broken.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719

2012-08-13 11:55:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	  visualizer: small cleanup

2012-08-13 11:51:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: remove channel mask
	  We don't really care about what's inside those channels. This also makes the
	  caps valid because now it's no longer possible to have channels=1 and a mask
	  of 0x3.

2012-08-13 11:27:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discovere: also parse encoded formats
	  The video library can now also parse encoded formats so use this to fill up the
	  width/height and other properties.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681535

2012-08-13 11:27:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: remove \n from debug statement

2012-08-12 18:10:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/struct_i386.h:
	  tests: update structure sizes for ABI test for i386

2012-08-12 09:57:11 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: remove superflous assignment

2012-07-30 15:38:45 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/visual.c:
	  visual: add a FIXME as the discussion in IRC discontinued

2012-08-11 10:18:37 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: set HEADER flag on header packets
	  https://bugzilla.gnome.org/show_bug.cgi?id=681499

2012-08-11 09:53:49 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't leak dropped seek event

2012-08-11 08:14:27 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/struct_x86_64.h:
	  tests: update libsABI test to new structure sizes
	  The offset field addition in GstSegment has added
	  a few bytes.

2012-08-10 17:08:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  docs: expand GstDiscoverer::discovered signal docs a little

2012-06-29 15:46:46 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	  appsink, appsrc: skip set_callbacks APIs for introspection
	  https://bugzilla.gnome.org/show_bug.cgi?id=678301

2012-08-10 16:58:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: fix alignment in non-XSHM case
	  Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
	  to a page boundary but without, we use plain g_malloc, which could allocate
	  aligned on 8 bytes only.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=680796

2012-08-10 11:45:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: don't block in buffer acquire
	  Don't ever block when acquiring a buffer from the bufferpool in the fallback
	  mode. If we block, we might deadlock when going to PAUSED because we never
	  unlock when going to paused.
	  The acquire can block when there are no more buffers in the pool, this is a
	  sign that the pool is too small. Since we are the only ones using the pool in
	  the fallback case and because we scale the buffer, someone else must be using
	  our pool as well and is doing something bad.

2012-08-10 10:45:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: pick delta pad earlier during header parsing and based on video/non-video
	  Pick delta pad earlier during header parsing, and pick it based
	  on whether it's a video stream or not rather than some rather
	  byzantine signalling from theoraenc etc. which would set the delta
	  flag on header packets which oggmux would then pick up and determine
	  that this is a "delta-able" stream.
	  Since the new videodecoder-based theoraenc didn't do that any more,
	  we would only see the first delta flag on the second video packet,
	  which is after we've already muxed a few audio packets flagged as
	  key units, which trips up the unit test.
	  Fixes pipelines/oggmux unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679958

2012-08-09 19:57:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix seeking again
	  Add missing break in FLUSH_STOP case.

2012-08-09 17:06:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Let global tag events be handled the same way as other events

2012-08-09 16:55:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Let global tag events be handled the same way as other events

2012-08-09 16:24:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Merge upstream stream tags

2012-08-09 16:19:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Merge upstream stream tags

2012-08-09 16:09:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: Use new video decoder tag API

2012-08-09 16:03:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  docs: Add new video API to the docs

2012-08-09 16:02:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add API to conveniently handle tags

2012-08-09 16:02:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add API to conveniently handle tags

2012-08-09 15:48:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Always keep a complete taglist around
	  Otherwise updates to the tags will cause non-updated
	  tags to be lost downstream.

2012-08-09 15:30:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstaudio.def:
	  docs: Add new audio base classes API to the docs

2012-08-09 15:27:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add negotiate vfunc that is used to negotiate with downstream
	  The default implementation negotiates a buffer pool and allocator
	  with downstream.

2012-08-09 15:20:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Decouple setting of output format and downstream negotiation
	  This makes the audio encoder base class more similar to the video
	  encoder base class.

2012-08-09 15:07:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add negotiate vfunc that is used to negotiate with downstream
	  The default implementation negotiates a buffer pool and allocator
	  with downstream.

2012-08-09 15:02:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Decouple setting of output format and downstream negotiation
	  This makes the audio decoder base class more similar to the video
	  decoder base class.

2012-08-09 14:39:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add negotiate vfunc that is used to negotiate with downstream
	  The default implementation negotiates a buffer pool and allocator
	  with downstream.

2012-08-09 14:35:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add negotiate vfunc that is used to negotiate with downstream
	  The default implementation negotiates a buffer pool and allocator
	  with downstream.

2012-08-09 00:54:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/vorbisdec.c:
	  tests: fix vorbisdec test
	  There won't be a tag messages on the bus, because tags
	  are now sent downstream for sinks to post on the bus,
	  and there's no sink involved here that would do that.
	  Secondly, the audio decoder base class only sends the
	  tags out once it has received some non-header data as
	  input, which is not something we're providing here.

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

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  gst: Set alignment at the correct place of GstAllocationParams

2012-08-08 15:07:49 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add proper cast for print

2012-08-08 14:59:49 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: add proper format for gsize

2012-08-08 14:55:56 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: use proper format for gsize

2012-08-08 15:28:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Always propose a video buffer pool when the subclass didn't provide one
	  And also request 16-byte aligned buffers if the subclass didn't
	  set anything else.

2012-08-08 16:21:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.11.93 ===

2012-08-08 15:08:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.11.93

2012-08-08 13:04:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: fix example pipeline in docs
	  There is no more 'fourcc' typecast for format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681436

2012-08-08 12:19:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Really add a buffer pool if none was provided
	  And also use the allocation parameters from the query if any
	  and if there are none set our own (16-byte alignment) on the
	  query.

2012-08-08 12:06:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Fix the crash in propose_allocation
	  Always set a buffer pool if none is provided and don't
	  set/unref a NULL buffer pool on the query.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681436

2012-08-08 10:19:20 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/alsa/gstalsa.c:
	* tests/examples/playback/playback-test.c:
	  Silence some 'variable may be used uninitialized' compiler warnings
	  when compiling with -DG_DISABLE_ASSERT

2012-08-08 10:11:48 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/ogg/gstoggmux.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst/tcp/gstmultifdsink.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/examples/playrec/playrec.c:
	  No statements with side-effects in g_assert() or g_return_*() please

2012-08-08 09:06:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/.gitignore:
	* gst-libs/gst/video/.gitignore:
	* tests/icles/.gitignore:
	  Update .gitignore

2012-08-07 13:58:21 -0700  Olivier Crête <olivier.crete@collabora.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: Drop ignored headers
	  Instead of finishing an empty frame, call drop_frame as we're
	  ignoring the header frame.

2012-08-06 17:28:06 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* docs/libs/Makefile.am:
	  docs: Add proper libraries to GST_LIBS instead (-base)

2012-08-06 15:23:51 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: Add source-setup signal for GstDiscoverer
	  https://bugzilla.gnome.org/show_bug.cgi?id=681260

2012-08-04 12:28:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Add stream-id to stream-start event

2012-08-04 12:16:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Add stream-id to the stream-start event

2012-08-05 17:25:59 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/videoscale.c:
	  tests: remove custom tcase_skip_broken_test define which is now in core

2012-08-05 17:21:31 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/gstvideoscale.c:
	* tests/check/elements/videoscale.c:
	  tests: silence FIXMEs when running videoscale unit test

2012-08-05 16:37:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* common:
	  Automatic update of common submodule
	  From 94ccf4c to 668acee

2012-08-05 14:39:01 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/Makefile.am:
	  video: make sure g-i doesn't parse orc-generated video-orc.h file
	  It's not public API.

2012-08-04 23:29:27 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/pbutils-marshal.list:
	  pbutils: use generic marshaller for discoverer's "discovered" signal
	  If this change causes build issues, run git clean -x -d -f; ./autogen.sh

2012-08-04 23:09:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/encoding/.gitignore:
	* gst/encoding/Makefile.am:
	* gst/encoding/gstencode-marshal.list:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstencodebin.h:
	  encodebin: use generic marshaller for signal

2012-08-05 00:41:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: send CAPS event downstream fixing not-negotiated errors
	  Make sure to send a CAPS event downstream when we get our
	  first input caps. This fixes not-negotiated errors and
	  adder use with downstream elements other than fakesink.
	  Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.
	  Also, flag the other sink pads as FIXED_CAPS when we receive
	  the first CAPS event on one of the sink pads (in addition to
	  setting those caps on the the sink pads), so that a caps query
	  will just return the fixed caps from now on.
	  There's still a race between other upstreams checking if
	  caps are accepted and sending a first buffer with possibly
	  different caps than the first caps we receive on some other
	  pad, but such is life.
	  Also need to take into account optional fields better/properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679545

2012-08-04 22:25:08 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/adder.c:
	  tests: add adder test to check that caps are sent downstream

2012-08-04 20:45:02 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_4tap.c:
	* tests/check/elements/videoscale.c:
	  videoscale: fix 4-tap scaling for 64-bpp formats
	  Fix invalid memory access caused by broken pointer arithmetic.
	  If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
	  skip twice as much as we intended to because dest->stride is in
	  bytes and not in pixels. This made us write beyond the end of
	  our allocated temp buffer, and made the unit test crash.

2012-08-04 19:08:20 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/gstvideoscale.h:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_fill_borders.h:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_scanline.h:
	  videoscale: sprinkle some G_GNUC_INTERNAL
	  Not sure it actually makes any difference for plugins though.

2012-08-04 18:51:12 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: make 4tap scanline funcs static

2012-08-04 19:33:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/riff/riff-read.c:
	  riff: fix build on big endian systems

2012-08-04 16:31:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	  gst_tag_list_free -> gst_tag_list_unref

2012-07-29 00:49:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: send caps event when the user updates appsrc caps
	  As buffer don't have caps anymore, the caps event needs to be pushed
	  before buffers are pushed.

2012-08-01 17:46:46 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/id3v2.c:
	  tag: fix month/day extraction in ID3v2 tags
	  We were passing month/day in the wrong order to
	  gst_date_time_new_ymd().

2012-07-31 01:19:36 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix discover_uri returning finalized info object

2012-07-28 11:54:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: fix up EXIF writer for GstBuffer -> GstSample

2012-07-28 11:13:12 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: update for TOC API change

2012-07-27 23:59:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  tag: Update for taglist/tag event API changes

2012-07-27 15:21:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst/gdp/dataprotocol.c:
	  update for new variable names

2012-07-27 12:58:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Unblock streams on FLUSH_START events

2012-07-27 12:19:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: small cleanups
	  Make function pointers NULL when nothing needs to be done.
	  Pass target pixels to dither and matrix functions so that we can later make
	  them operate on the target buffer memory directly.

2012-07-26 18:36:53 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  video: Make all frame_number guint32
	  Unifies the code and ensures that:
	  * subclasses needing to use the frame_number on a void* field will
	  always work
	  * wraparounds will be automatically taken care of if we have to deal
	  with more than 2**32 frames

2012-07-26 15:40:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio-format.c:
	  audio-format: fix shift for 18 bits samples
	  The 18bits of the sample are in the LSB so we need to shift them 14 positions to
	  bring them to 32 bits.

2012-07-26 14:28:26 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{de,en}coder: delay input caps processing until processing data
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614

2012-07-26 14:27:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{de,en}coder: delay input caps processing until processing data
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680614

2012-07-26 01:52:25 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix invalid plane id on video frame mapping error

2012-07-25 15:51:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: avoid setting output caps twice
	  ... which may not be handled or appreciated well downstream,
	  e.g. muxers only performing header setup once.

2012-07-25 14:56:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: adjust to modified audioencoder getcaps helper API

2012-07-25 14:56:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: also consider filter caps in getcaps

2012-07-25 14:55:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: prefer channels of base caps when fixating
	  ... which in turn prefers to preserve input channels when converting.

2012-07-25 14:53:28 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: minor doc fix

2012-07-25 12:29:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  Revert "audioencoder: plug caps ref leak"
	  This reverts commit 08ff5899a77337eb8cd674e6d36d267220c56d32.
	  Was not a leak to begin with as we did not have ownership of caps.

2012-07-25 11:54:58 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: plug caps ref leak

2012-07-25 11:54:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: hold caps ref while needed

2012-07-25 11:54:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: correctly compare audio info positions
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680553

2012-07-24 18:37:15 +0000  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add new function to the docs

2012-07-24 18:34:26 +0000  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* win32/common/libgstaudio.def:
	* win32/common/libgstvideo.def:
	  win32: Update exported symbols list

2012-07-24 18:02:08 +0000  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Call video_encoder_negotiate() once configured

2012-07-24 17:23:56 +0000  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Expose _negotiate function
	  This is to be called by encoders once they have set the output format
	  in order for (re)negotiation to be triggered as early as possible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679878

2012-07-24 14:48:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: only arrange to reconfigure if data provided
	  ... otherwise audio format need not be known already.

2012-07-24 14:36:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't copy empty packets
	  Don't try to copy empty packets, which contain a repeated frame in theora.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680520

2012-07-11 16:27:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: Doc fix

2012-07-18 13:19:26 +0200  Marc Leeman <marc.leeman@gmail.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  gst-rtsptransports: no warning Transport end with semicolumn

2012-07-24 11:53:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: minor doc fix

2012-07-24 12:25:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	  audiovisualizer: fixate caps completely
	  Call gst_caps_fixate() to make sure that the caps are completely fixated before
	  using them as the final caps in negotiation.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680162

2012-07-24 12:02:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: calculate target rectangle correctly
	  Use the negotiated size and PAR to center the image into the target window.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=680093

2012-07-24 11:23:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: match FORCE_ASPECT_RATIO default value
	  Set the default value for FORCE_ASPECT_RATIO correctly

2012-07-24 11:13:23 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Improve gstvideo and add GstVideoFrame
	  Some items have been removed that are no longer in the headers

2012-07-24 10:45:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Mark streams as complete on CAPS event but don't block
	  This allows the following use-cases to expose the group and pads
	  before an ALLOCATION query comes through:
	  * Single stream use-cases
	  * Multi stream use-cases where all streams sent the CAPS event before
	  the first ALLOCATION query
	  Some cases will still make the initial ALLOCATION query fail though,
	  which isn't optimal, but not fatal (it will recover when pads are
	  exposed, a RECONFIGURE event is sent upstream and elements can
	  re-send an ALLOCATION query which will reach downstream elements).
	  https://bugzilla.gnome.org/show_bug.cgi?id=680262

2012-07-24 09:35:10 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Build GstVideoFrame gtk docs

2012-07-24 09:26:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: add audio and video orc tests

2012-07-24 09:09:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: prefix orc functions with video_test_src_orc

2012-07-23 23:08:13 +0200  Jens Georg <mail@jensge.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: Update ownership annotation of gst_container_add_profile
	  https://bugzilla.gnome.org/show_bug.cgi?id=680488

2012-07-23 18:50:07 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrisin.org>

	* gst-plugins-base.spec.in:
	  Update spec file with latest changes

2012-07-23 17:30:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	* gst/volume/gstvolumeorc.orc:
	  volume: prefix orc functions with volume_orc_

2012-07-23 17:27:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: prefix orc functions with adder_orc_

2012-07-23 17:24:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: prefix orc functions with audio_convert_orc_

2012-07-23 17:19:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: prefix orc functions with video_convert_orc_

2012-07-23 17:16:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	  audio: prefix orc_* functions with audio_orc_*
	  To avoid potential conflicts in other modules when statically linking

2012-07-23 17:13:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_scanline.c:
	  videoscale: ranem gst_video_scale_orc -> video_scale_orc
	  So that functions are not exported

2012-07-23 17:10:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video: rename gst_video_orc_* to video_orc_*
	  Because then the functions would not be exported

2012-07-23 17:03:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_scanline.c:
	  videoscale: prefix orc functions with gst_video_scale_orc
	  See https://bugzilla.gnome.org/show_bug.cgi?id=680025

2012-07-23 16:56:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  orc: prefix orc functions with gst_video_orc_
	  See https://bugzilla.gnome.org/show_bug.cgi?id=680025

2012-07-23 16:52:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  orc: rename to video-orc*

2012-07-23 14:23:39 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: Add missing closing brakcets on flag macros

2012-07-23 13:58:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: add macros to get frame flags

2012-07-23 13:32:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: use interlacing buffer flags
	  Also use the buffer flags to enhance the GstVideoInfo flags in the case where
	  there was metadata on the buffers.

2012-07-23 12:06:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Hold the stream lock when reconfiguring the element

2012-07-23 12:01:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Renegotiate if necessary
	  And also correct usage of the base class stream lock.

2012-07-23 11:50:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Correct usage of the base class stream lock
	  And also renegotiate if the srcpad requires reconfiguration

2012-07-23 11:42:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Handle allocation query

2012-07-23 10:30:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	  vorbis: Update for audio base classes API changes

2012-07-23 10:28:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add new audio base classes API

2012-07-23 10:28:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results

2012-07-23 10:20:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add propose_allocation, decide_allocation vfuncs and functions to allocate buffers with information from the allocation query results

2012-07-23 10:19:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Update video base classes docs

2012-07-23 10:19:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	  theora: Update for video base classes API changes

2012-07-23 10:18:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video: Rename alloc_output_buffer() to allocate_output_buffer()

2012-07-23 10:04:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Minor cleanup

2012-07-23 09:54:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Fix parameters names in header

2012-07-23 09:45:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Use base class functions to allocate output buffers

2012-07-23 09:42:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add new videodecoder/encoder API

2012-07-23 09:41:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstrtp.def:
	* win32/common/libgstvideo.def:
	  win32: Update exported symbols list

2012-07-23 09:07:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add decide_allocation vfunc and functions to allocate buffers with the information from the allocation query

2012-07-23 08:45:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 98e386f to 94ccf4c

2012-07-15 23:35:07 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* docs/design/part-interlaced-video.txt:
	  docs: Update interlaced video docs
	  An interlaced buffer flag has been added and some other changes in
	  operation needed addressing since the last update to the document.

2012-07-02 12:52:17 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/pipelines/streamheader.c:
	  tests: use multifdsink for streamheader test
	  Use multifdsink for pipes instead of multisocketsink,
	  to avoid "creating GSocket from fd 9: Socket operation
	  on non-socket "criticals from Gio. Test still fails,
	  but it fails in a different way now.

2012-07-20 10:18:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-frame.h:
	  video-frame: add interlace flag
	  Add an interlace flag so that we can see if a frame is interlaced or progressive
	  in the mixed interlace-mode.

2012-07-19 19:06:40 +0300  Anton Belka <antonbelka@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: add "labl" tag
	  Add GST_RIFF_TAG_labl which is needed for wavparse:
	  https://bugzilla.gnome.org/show_bug.cgi?id=677306

2012-07-19 16:12:22 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Re-enable stream update
	  Not 100% perfect yet, but allows people to test

2012-07-19 13:33:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video-overlay-composition: fix GSlice alloc/free size mismatch
	  Fix copy'n'paste bug which made us allocate a slice of the
	  size of a rectangle for the overlay composition, but then
	  free it passing the size of an overlay composition, which
	  is not something GSlice takes to kindly, resulting in scary
	  aborts like:
	  ***MEMORY-ERROR***: GSlice: assertion failed: sinfo->n_allocated > 0
	  Also, g_slice_new already includes a cast, so remove our
	  own casts, without which the compiler would probably have
	  told us about this ages ago.
	  https://bugzilla.gnome.org/show_bug.cgi?id=680091

2012-07-19 12:45:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: fix buffering query
	  It was using the wrong values from the buffering query.

2012-07-19 10:54:07 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't assert on pad caps not being set
	  The decoder might have been de-activated in the meantime (resulting
	  in NULL pad caps).
	  If the decoder really isn't configured, then it will error out further
	  down when checking whether the GST_AUDIO_INFO_IS_VALID()
	  https://bugzilla.gnome.org/show_bug.cgi?id=667562

2012-07-18 15:35:05 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Call video_decoder_negotiate() once configured

2012-07-18 15:34:06 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Expose _negotiate function
	  This is to be called by decoders once they have set the output format
	  in order for (re)negotiation to be triggered as early as possible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679878

2012-07-18 15:26:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't push stream-start in two different locations

2012-07-18 15:24:00 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Block on caps event
	  A caps event is also used to establish that a stream has prerolled.
	  Without this, we end up allowing negotiation queries to fail, ending
	  in decoders (and other elements) to not be configured right from the
	  start with the most optimal settings.

2012-07-18 17:47:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: update for ghostpad changes

2012-07-18 17:47:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	  tests: update for step event changes

2012-07-17 13:47:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: adjust to modified video overlay composition API

2012-07-17 13:46:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* tests/check/libs/video.c:
	  videooverlaycomposition: replace API parameters with required video meta on pixel data

2012-07-16 16:25:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: use GstVideoInfo internally and streamline stride handling

2012-07-16 16:25:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	  videoblend: use correct stride when scaling

2012-07-17 16:35:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/README:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtp: Add support for multiple memory blocks in RTP
	  Add support RTP buffers with multiple memory blocks. We allow one block for the
	  header, one for the extension data, N for data and one memory block for the
	  padding.
	  Remove the validate function, we validate now when we map because we need to
	  parse things in order to map multiple memory blocks.

2012-07-17 15:05:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  win32: update

2012-07-17 13:45:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin: use avdeinterlace for deinterlacing until deinterlace is ported

2012-07-10 12:12:02 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdpmessage: add some missing introspection annotations

2012-07-06 23:42:13 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: add many missing annotations on RTP/RTCP buffer functions

2012-07-06 01:09:06 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: add transfer annotation to get_adapter return

2012-07-04 15:38:38 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: minor GTK-Doc fixes

2012-07-04 14:04:45 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	  audiometa: add missing array array annotations

2012-07-04 14:00:14 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audio: add missing array and element-type annotations for binary data

2012-07-04 13:41:45 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/audio/audio-channels.c:
	  audio-channels: add missing array-related annotations

2012-07-04 02:25:11 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: add missing element-type to set_headers method

2012-06-29 15:52:23 -0700  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  appsrc, appsink: fix documentation syntax and mismatched arguments

2012-07-17 00:35:28 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/Makefile.am:
	* tests/check/elements/videoconvert.c:
	  tests: add videoconvert test that checks formats in template caps

2012-07-17 00:31:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/videoscale.c:
	  tests: no need to blacklist 64-bit formats in videoscale test any longer
	  Since we now use videoconvert, which supports these.
	  Unfortunately videoscale still crashes with 64-bit formats
	  right now because of a too small temp buffer, but I'm sure
	  someone is going to fix this real soon now, just like the
	  other unit tests.

2012-07-17 00:31:14 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/elements/videoscale.c:
	  tests: add videoscale test to check pad template formats

2012-07-16 23:56:56 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: remove formats Y800 and Y16 which no longer exist from template caps
	  Should help with the unit test, which has been failing.

2012-07-16 21:58:23 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/gstaudiobasevisualizer.h:
	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	* ext/libvisual/visual.c:
	* ext/libvisual/visual.h:
	  audiovisualizer: shorten base class name
	  As suggested on IRC rename to AudioVisualizer. We use custom suffix on the type
	  to avoid clashing with other copies for the time being.

2012-07-16 09:27:58 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	* tests/check/elements/adder.c:
	  adder: add a tests for the aggregation of durations

2012-07-16 08:37:33 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: cleanup test
	  Use right type for StateChangeReturn and avoid needless G_OBJECT casts.

2012-07-10 08:13:02 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: only drop flushing seeks after we started to mux
	  Don't drop all seek events. It is okay to seek before we send the headers. Non
	  flushing seeks are okay at any time later as well.

2012-07-16 11:18:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: use video helper function
	  Use the video helper function to get the offset and scale of a format.

2012-07-16 11:16:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix 10 bits formats
	  We need to check the number of bits of the unpack format when we prepare the
	  pixels for the pack function.

2012-07-15 00:22:38 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/riff/riff-read.c:
	  riff: use GST_TAG_DATE_TIME instead of GST_TAG_DATE here as well

2012-07-15 00:14:36 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: use GST_TAG_DATE_TIME for storing dates instead of GST_TAG_DATE
	  So we can express partial dates.

2012-07-14 15:37:46 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/id3v2frames.c:
	  tag: extract dates from ID3v2 tags into GstDateTime instead of GDate
	  We may only have a year, or year and month+day, or (in future)
	  both date and time.

2012-07-14 14:33:34 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/gstid3tag.c:
	* tests/check/libs/tag.c:
	  tag: extract year from ID3v1 tag as GstDateTime instead of GDate
	  So we can signal properly that only the year is valid.

2012-07-13 17:13:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video: add method to get offset and scale for a format
	  Add a method to get the offset and scale values to transform the color values of
	  a format to their normalized [0.0 .. 1.0] range. This is usually required as
	  the first step of a colorspace conversion.

2012-07-13 15:42:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: add option to unpack and truncate the range
	  Add an unpack option to specify what to do with the least significant bits of
	  the destination when the source format has less bits than the destination. By
	  default we will now copy the most significant bits of the source into the least
	  significant bits of the destination so that the full color range is represented.
	  Add an option to leave the extra destination bits 0, which may be faster and
	  could be compensated for in the element algorithm.

2012-07-13 15:35:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video: fix endianness of the pack formats

2012-07-13 15:22:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video: fix r210 format
	  It is an RGB format.

2012-07-13 12:34:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/.gitignore:
	* gst/playback/gstplaysink.h:
	  playsink: remove old marshal remains

2012-06-20 10:35:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	  video-blend: Fix argument signedness
	  The x/y values are meant to be signed.
	  This bug was introduced by 76c0881549e73efb4995ac8b38d596d51d1cc0fe
	  Conflicts:
	  gst-libs/gst/video/video-blend.c
	  gst-libs/gst/video/video-blend.h

2012-07-13 12:11:06 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/streamvolume.c:
	* gst-libs/gst/audio/streamvolume.h:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* gst-libs/gst/tag/xmpwriter.c:
	* gst-libs/gst/video/colorbalance.c:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-event.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/videoorientation.c:
	* gst-libs/gst/video/videooverlay.c:
	  libs: Remove "Since" markers and minor doc fixups

2012-07-13 12:10:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Push a STREAM_START on new caps

2012-07-11 10:31:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Demote WARNING to DEBUG
	  Delaying auto-plugging is quite common

2012-07-10 18:37:49 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Push out STREAM_START events when needed

2012-07-10 18:34:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamsynchronizer.c:
	  playback: Remove custom stream-change event
	  Applications can now use the STREAM_START message to know if a new
	  stream has started

2012-07-10 18:32:13 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  baseaudiosink: Resync when ringbuffer resets
	  When the ringbuffer gets restarted (like in setcaps), we *will* have
	  to resync against the new values.
	  Without this we end up blindly assuming the new samples align to the
	  old ones.

2012-07-11 15:39:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: improve debug

2012-07-11 12:57:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: Fix compiler warnings
	  videoconvert.c: In function 'videoconvert_convert_new':
	  videoconvert.c:287:11: error: 'Kr' may be used uninitialized in this function
	  videoconvert.c:287:15: error: 'Kb' may be used uninitialized in this function

2012-07-10 12:37:14 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: Update .def files for new API

2012-07-10 11:34:47 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Update the initial_buffer when merging RTSP Connections
	  See https://bugzilla.gnome.org/show_bug.cgi?id=679337

2012-07-10 11:06:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix offset and scale for GRAY
	  Fix the calculation of the offset and scale values for GRAY formats. We also
	  need to set the offset and base of the chroma values to match what the unpack
	  function creates.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679612

2012-07-10 10:07:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/gstaudiobasevisualizer.c:
	* ext/libvisual/gstaudiobasevisualizer.h:
	* ext/libvisual/gstbaseaudiovisualizer.h:
	* ext/libvisual/visual.c:
	* ext/libvisual/visual.h:
	  visual: use right base class name
	  Rename to GstAudioBaseVisualizer. Also avoids conflict with a base class with
	  the same name in -bad.

2012-07-09 19:57:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  tests: use more expressive check assertion macros

2012-07-08 19:19:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/gstbaseaudiovisualizer.c:
	* ext/libvisual/gstbaseaudiovisualizer.h:
	* ext/libvisual/visual.c:
	* ext/libvisual/visual.h:
	  visual: port to baseaudiovisualizer
	  Add a copy of the base class until it is stable. Right now the extra effects of
	  the baseclass are not supported as the sublass overwrites the buffer instead of
	  blending.

2012-06-25 22:42:44 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/plugin.c:
	* ext/libvisual/visual.c:
	* ext/libvisual/visual.h:
	  visual: split the plugin wrapper and the actual element

2012-07-09 16:26:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideopool.c:
	  fix for allocator API changes

2012-07-09 14:37:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/struct_x86_64.h:
	  tests: update GstVideoFilter structure size for ABI check on x86

2012-07-09 12:27:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-read.c:
	  riff: rename field in gst_riff_strf_auds
	  ... which is supposed to align with WAVEFORMATEX, but has confusing
	  names compared to the last 2 fields in the latter (and still
	  misses 1 field compared to the latter).

2012-07-09 08:35:22 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: make GValueArray arguments in autoplug-* signals static scope to avoid copies

2012-07-07 14:10:45 +0300  Anton Belka <antonbelka@gmail.com>

	* tools/gst-discoverer.c:
	  gst-discoverer: clean up some code duplication
	  Use print_tag_foreach() instead of print_tag().
	  https://bugzilla.gnome.org/show_bug.cgi?id=679550

2012-07-06 14:57:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: fixup 0.11 port mishap in reading extra data length field
	  Fixes #679437.

2012-07-06 12:43:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	  multifdsink: remove deprecated and unused "mode" property

2012-07-06 12:37:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  playbin: don't use deprecated textoverlay properties

2012-07-06 12:34:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: remove deprecated valign and halign properties
	  Replaced by valignment and halignment (enum-based now rather than strings).

2012-07-06 11:50:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst/videoconvert/gstvideoconvert.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  update for query api changes

2012-07-06 11:23:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  update for query api changes

2012-07-06 11:01:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst/videoconvert/gstvideoconvert.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  update for allocation query changes

2012-07-05 16:29:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  Revert "videooverlaycomposition: ensure proper buffer copy"
	  This reverts commit 1d413ace640c679ba7fbecec07f2bea3d98360b2.
	  Plain gst_buffer_copy() is now doing the expected ...
	  See https://bugzilla.gnome.org/show_bug.cgi?id=678384.

2012-07-05 15:34:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Fix double-unref when iterating over element pads

2012-07-05 14:29:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  video: Document buffer ownership of the GstVideoCodecFrame more explicit
	  And also the implications of calling the finish() functions.

2012-07-05 13:38:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure the buffer is writable before changing fields in finish_frame() too
	  We can't be sure that we have the one and only reference here either.

2012-07-05 13:37:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Create a complete subbuffer before pushing
	  Otherwise we can't be sure that we are allowed to change the
	  buffer fields later for clipping.

2012-07-05 13:06:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  gst: Implement segment-done event

2012-07-05 12:35:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Remove the TOC query handling

2012-07-05 11:03:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tools/gst-discoverer.c:
	  discoverer: Update for GstToc API changes

2012-07-03 18:47:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Update for TOC API changes

2012-07-04 17:06:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  update for miniobject changes

2012-07-04 09:14:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodec: add some assert

2012-07-04 09:14:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodec: clear the right variable

2012-07-03 20:07:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: make extra sure to pass 64-bit integer to g_object_set when setting ts-offset
	  Might just be paranoia, but better safe than sorry. Make sure
	  the compiler really always passes a 64-bit integer to the
	  g_object_set() vararg function.

2012-07-03 17:31:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Only push TOC event, the TOC message is handled by the sinks

2012-07-03 14:59:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/part-mediatype-audio-raw.txt:
	  docs: update raw audio media type design docs a bit
	  We now have a layout field and a channel-mask field.

2012-07-03 14:32:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: query downstream for video overlay composition meta support

2012-07-03 14:30:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: adjust to modified overlay composition API

2012-07-03 12:59:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* tests/check/libs/video.c:
	  videooverlaycomposition: make API meta oriented
	  ... and as such more consistent with other buffer meta components.

2012-07-03 12:58:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.h:
	  videooverlaycomposition: remove some post-port obsolete parts

2012-07-02 18:54:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: only map video buffer memory if actually needed
	  No need to map the video buffer if we're just going to attach
	  the meta; but if we map, we should do so in READWRITE mode.

2012-07-02 18:49:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: pass pre-multiplied alpha to overlay composition directly
	  We now support pre-multiplied alpha in the overlay composition API,
	  and can avoid multiple conversions if the the overlay also supports
	  pre-multiplied alpha. We should probably also have mapped the
	  buffer as READWRITE when unpremultiplying.

2012-07-02 14:26:50 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: ensure proper buffer copy
	  This is only temporary and could and should be modified to use
	  regular buffer copy once https://bugzilla.gnome.org/show_bug.cgi?id=679145
	  is resolved.

2012-06-29 18:55:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: video: port video overlay composition test to 0.11

2012-07-02 14:22:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: video: ensure initialization and plug sample leak

2012-07-02 11:46:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: video: tweak RGB caps test

2012-06-30 16:50:10 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/icles/Makefile.am:
	* tests/icles/test-effect-switch.c:
	  tests: add test for switching video effects at run time
	  Bases on test app in bug #614296. Doesn't work reliably yet,
	  leads to not-negotiated errors sooner or later, even when
	  it's the same element being re-plugged.

2012-06-29 18:54:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: fix some refcounting and avoid possible NULL use

2012-06-29 11:46:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	  examples: update for new force-aspect-ratio default

2012-06-29 11:43:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink, xvimagesink: default to force-aspect-ratio=true

2012-06-28 23:41:16 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: send TOC event downstream if we're in continuous mode
	  If we're in continuous mode where we'll play the entire CD from
	  start to finish, send a TOC event downstream so any downstream
	  muxers can write a TOC to indicate where the various tracks
	  start and end.

2012-06-28 23:15:34 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gstbasetextoverlay.c:
	  pango: remove support for video/x-surface again which is 0.10 stuff
	  This needs to be done and can be done differently/properly in 0.11.

2012-06-28 22:59:14 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: clean up some property descriptions
	  We now require a sufficiently-recent libtheora.

2012-06-28 18:14:10 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  pango: use ported GstVideoOverlayComposition functionality
	  Based on commits by Thibault Saunier <thibault.saunier@collabora.co.uk>

2012-06-28 18:16:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	  videooverlaycomposition: port to 0.11
	  ... which also entails porting video-blend
	  Fixes #678384.

2012-06-27 23:50:07 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/check/libs/tag.c:
	  tests: update unit test for vorbistag change to GST_TAG_DATE_TIME
	  https://bugzilla.gnome.org/show_bug.cgi?id=677712

2012-06-27 16:25:06 +0200  Oleksij Rempel <bug-track@fisher-privat.net>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: store DATE tag in GST_TAG_DATE_TIME instead of GST_TAG_DATE
	  The DATE field may contain dates, partial dates, or dates with
	  time. Store the result in GST_TAG_DATE_TIME, so we can express
	  properly which fields are present or not, and can store the
	  time if there is one, and can serialise and deserialise the
	  tag without loss of information and without making up
	  information that's not there.
	  Instead of using short YYYY-MM-DD form we will store
	  long YYYY-MM-DDTHH:MM:SS+TS date and time.
	  According to this documentation we can do it:
	  http://wiki.xiph.org/VorbisComment#Date_and_time
	  This datetime format is needed by apps where more information
	  is needed. For example voice, meeting recording, etc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=677712

2012-06-27 17:18:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: set DTS and PTS, sync on DTS

2012-06-27 16:45:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: make PTS and DTS handling more explicit

2012-06-27 16:38:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: avoid crash when getting duration
	  Check that we have a valid output_state before attempting to use it to calculate
	  the duration of a buffer. It is possible that we don't have a state yet, for
	  example when we are dropping the first buffers.

2012-06-27 16:42:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Use GSlice to allocate the timestamp tracking structures

2012-06-27 14:13:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: small cleanups

2012-06-27 13:48:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: improve PTS and DTS handling
	  Also keep track of the DTS and use it to set PTS on keyframes.
	  Set DTS on outgoing buffers.

2012-06-26 19:50:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: post TOC message on the bus on start-up
	  First attempt at implement the various GstToc API
	  bits in GstAudioCdSrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668996

2012-06-26 17:09:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  fix interlace-mode

2012-06-26 01:33:10 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't leak a ref to frames in reverse playback

2012-06-26 11:10:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: handle map errors
	  Error out when something failed

2012-06-26 11:09:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: improve debug error reporting

2012-06-26 11:04:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: The default signal handler should be the one that triggers pad blocks and reconfiguration
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-06-26 10:54:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Make sure to always block all pads before reconfiguring the pipeline
	  Fixes bug #678762.
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-06-25 16:07:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Prevent NULL pointer dereference in last change

2012-06-25 16:01:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Unlink pads when switching between enabling/disabling the deinterlace chain
	  See bug #678762.

2012-06-25 15:21:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Connect to the value-changed signal of the child colorbalance element and proxy it

2012-06-25 15:14:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Only remove the xoverlay/colorbalance elements when necessary
	  They are not added again by every code path, e.g. when switching
	  only the deinterlace flag and are missing then.
	  Fixes bug #678763.
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-06-22 11:51:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideoutils.c:
	  videoutils: Use g_list_free_full instead of g_list_foreach and g_list_free

2012-06-24 22:47:05 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: update discoverer for GstToc API changes

2012-06-24 00:28:40 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/Makefile.am:
	  audio: make sure g-i doesn't parse orc-generated gstaudiopack.h file

2012-06-23 15:44:16 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/tag/tags.c:
	  tags: use gst_tag_register_static()

2012-06-23 14:55:51 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/encoding/gstsmartencoder.c:
	  smartencoder: use gst_quark_from_static_string()

2012-06-23 14:55:31 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gsturidecodebin.c:
	* tests/examples/encoding/encoding.c:
	  uridecodebin, tests: update for gst_element_make_from_uri() changes

2012-06-21 11:12:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Actually store any URI that is set and return this when asked for the URI

2012-06-20 12:30:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/videooverlay.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tests/icles/stress-videooverlay.c:
	  update for bus api changes

2012-06-20 10:52:34 +0200  Andreas Frisch <fraxinas@opendreambox.org>

	* tests/examples/fft/fftrange.c:
	  fix compiler warning

2012-06-20 11:11:47 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps
	  Fixes bug #678403.

2012-06-20 10:33:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  update for task api change

2012-06-20 03:45:14 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't give out bogus frame deadlines
	  Make sure the frame deadline was set before calculating the
	  max_decode_time. Fixes problems with ffmpeg skipping frames when
	  it doesn't need to, when the input doesn't have full timestamping
	  (divx in avi)

2012-06-20 03:40:29 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Remove gst_video_decoder_get_timestamp function
	  Interpolating the timestamps from the picture numbers
	  does more harm than good, getting it wrong in a lot of
	  cases (especially reverse playback). Removing it in favour
	  of simply incrementing the timestamps until there's
	  something better

2012-06-20 00:46:05 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: EOS handling for reverse mode.
	  Handle EOS correctly in reverse mode by treating it
	  as a final discont and flushing out whatever we can.

2012-06-20 00:42:42 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: misc improvements/changes
	  Use g_list_free_full instead of walking lists twice when freeing
	  them.
	  Remove pointless clause in gst_video_decoder_chain that doesn't
	  actually have any effect.
	  Other changes to make the code slightly more like the 0.11
	  version.

2012-06-20 00:36:38 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Improve timestamp handling.
	  Fix problems with timestamp calculations when the incoming
	  buffers have sparse timestamps (as for theora) and reverse
	  playback. Fixes #675773

2012-06-20 00:22:25 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Re-work reverse playback handling
	  Move processing of the gather list into the flush_parse function.
	  Add a last ditch attempt to apply timestamps to outgoing buffers
	  when walking backwards through decoded frames. Requires that each
	  gathered region has at least one timestamp.
	  Make sure to remove decoded packets from the decode list when
	  they are sent - otherwise the list just grows on each cycle, with
	  more and more frames being decoded and then clipped away.
	  Break out of the processing loop early on a bad flow return to make
	  seeking more responsive.
	  Use the gst_video_decoder_clip_and_push_buf function in reverse
	  mode, instead of pushing all buffers arbitrarily.
	  A couple of small efficiency gains in the list handling, by moving
	  list elements directly and not reallocating, and by reversing
	  and concatenating the gather list instead of moving it one node
	  at a time.
	  Rename the gst_video_decoder_do_finish_frame function to
	  gst_video_decoder_release_frame.

2012-06-20 00:08:57 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Split gst_video_decoder_finish_frame
	  Split the 2nd half of the gst_video_decoder_finish_frame function
	  out to gst_video_decoder_clip_and_push_buf.

2012-06-19 23:46:44 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Rename queued list to output_queued for clarity.
	  Use g_list_free_full instead of g_list_foreach + g_list_free

2012-06-19 23:43:27 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Small cleanups
	  Remove extra deref using a local var, and add/change some doc comments
	  and debug statements

2012-06-19 23:28:08 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Rename gst_video_decoder_have_frame_2 function
	  Rename gst_video_decoder_have_frame_2 to
	  gst_video_decoder_decode_frame and pass the frame to process
	  directly, rather than using the current_frame pointer as a holding
	  pen.
	  Move the negative rate handling out of the function to where it
	  is needed, and remove the process flag.

2012-06-19 23:16:12 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Extend docs and add comments
	  Update the documentation block for the base class, and add a comment
	  block about the reverse-playback logic and implementation.

2012-06-19 13:57:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Don't duplicate code to create a new buffer pool if none is in the query

2012-06-19 09:34:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Ensure buffers don't disappear early
	  The frames are the owners of the buffers

2012-04-26 18:43:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Ensure buffers don't disappear early
	  The frames are the owners of the buffers. In cases where a decoder
	  would keep around reference frames, we need to ensure they don't
	  disappear early.
	  To handle this, we pass downstream a complete sub-buffer of the output
	  buffer, ensuring that the buffer will only be released when downstream
	  is done with it *AND* the frame is no longer used.
	  Conflicts:
	  gst-libs/gst/video/gstvideodecoder.c

2012-06-19 09:25:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder,videodecoder: Return new references from _get_frame()

2012-06-18 12:17:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  sys: fix some bufferpool leaks

2012-06-18 11:38:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix for basesink API change

2012-06-14 23:24:06 +1000  Jan Schmidt <thaytan@noraisin.net>

	* ext/theora/gsttheoradec.c:
	  theoradec: Remove use of NEED_DATA
	  Remove the confusing internal-only use of
	  the GST_VIDEO_DECODER_FLOW_NEED_DATA return code.

2012-06-15 16:43:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: handle case where no bufferpool is suggested

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add GstVideoDecoder::propose_allocation() vfunc

2012-06-15 10:32:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: add missing mutex unlock on error path

2012-06-15 10:24:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.h:
	  opus: set author to myself, and update copyright notices
	  because as slomo noted, in fact pretty much all the code in there is mine.

2012-06-14 23:08:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  examples: make play button in playback test have focus after startup
	  So you can just press Enter to start playback.

2012-06-14 18:31:51 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix quadratic search for last page
	  A crafted file with invalid pages will cause repeated searches from
	  earlier offsets in steps of 8500 bytes, but reading till the end of
	  the stream. Since we know the maximum size of an Ogg page, we can
	  bound the search for next page, to get a linear behavior (though
	  still not good enough as it will read the entire file backwards if
	  there's no valid page till then).

2012-06-14 09:32:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Proxy the force-aspect-ratio property of video sinks
	  Fixes bug #678020.
	  Conflicts:
	  gst/playback/gstplaybin2.c

2012-06-14 09:29:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Proxy the force-aspect-ratio property of video sinks

2012-06-13 11:04:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  update for message api change

2012-06-13 03:17:27 +1000  Jan Schmidt <thaytan@noraisin.net>

	* ext/theora/gsttheoradec.c:
	  theoradec: Always inform base class when dropping frames
	  Partially fixes backwards playback. Informing the base class
	  of the dropped frame lets it manage the timestamping and events
	  better.

2012-06-13 01:58:05 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix initial timestamp in ogg, and a warning.
	  Don't replace the initial frame's timestamp with a bogus
	  one calculated from the (incorrect for Ogg) frame number just
	  because the 'sync time' hasn't changed.
	  Also, don't output a bogus warning about the output_frame being
	  NULL when it's being dropped/skipped due to QoS.

2012-06-12 23:51:51 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audio decoder: Add some debug output for bad caps from children

2012-06-12 11:58:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Always prefer parsers over decoders
	  ...and in playbin2 additionally prefer sinks over parsers.
	  This makes sure that we a) always directly plug a sink if it supports
	  the (compressed) format and b) always plug parsers in front of decoders.

2012-05-23 15:07:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: expose seek snap flags
	  https://bugzilla.gnome.org/show_bug.cgi?id=676639

2012-06-08 12:43:41 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: push queued events only when we have a first buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=675812

2012-06-11 11:09:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: probe for DVD ISO files, to avoid matching H.264
	  https://bugzilla.gnome.org/show_bug.cgi?id=674069

2012-06-08 17:28:28 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: remove uridecodebin from bin when it fails to switch to PAUSED
	  This avoids that bin being leftover and being found when reusing playbin2,
	  and fixes restarting on a new URI after failing to activate with a previous
	  URI.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673888

2012-06-08 17:55:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  Add generated orc files

2012-06-08 17:52:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  Also build the orc generated code

2012-06-08 17:48:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/gstaudiopack.orc:
	  audio: add orc enabled pack and unpack functions

2012-06-08 12:26:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	  audio: add flag to mark possible unpack formats
	  Make a new flag to mark formats that can be used in pack and unpack functions.
	  Mark S32NE and F64NE as those unpack formats

2012-06-08 15:51:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* tests/check/elements/audioconvert.c:
	  elements: Use gst_pad_set_caps() instead of manual event fiddling

2012-06-08 15:04:49 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 03a0e57 to 98e386f

2012-06-08 13:58:51 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: use GST_CLOCK_TIME_IS_VALID where appropriate

2012-06-08 11:49:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: mark unpack formats with a flag
	  Add a new _UNPACK flag and use it to mark potential unpack formats.

2012-06-08 11:28:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-marshal.list:
	* win32/common/libgstaudio.def:
	  audio: Remove unused, generated marshallers

2012-06-08 11:26:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoconvert/Makefile.am:
	  videoconvert: Need $(LIBM) for pow()

2012-06-08 10:10:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: split audio header into logical parts

2012-06-07 16:50:17 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not do timestamp arithmetic from an invalid timestamp
	  This fixes untimestampped buffers from being rejected by the segment clipper.
	  https://bugzilla.gnome.org/show_bug.cgi?id=676022

2012-06-07 16:07:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.92 ===

2012-06-07 16:06:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 0.11.92

2012-06-07 16:04:04 +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/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-07 13:24:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: fix frame leaks

2012-06-07 11:16:13 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: fix video state leaks

2012-06-07 11:15:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/gstvideoutils.c:
	  video: fix memory leak

2012-06-07 10:52:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix compilation

2012-05-24 11:02:59 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playbin2: Send flush events when changing subtitle tracks and use new input-selector modes for subtitle tracks
	  For audio/video we should flush too for fastest stream switches but this
	  currently isn't possible because the flushes would need to go to the sink,
	  which then causes state changes and causes all timing information to be
	  changed.
	  Should work out of the box in 0.11 with the flush-stop that doesn't reset
	  the times.
	  Conflicts:
	  gst/playback/gstplaybin2.c
	  gst/playback/gstplaysink.c
	  gst/playback/gstsubtitleoverlay.c

2012-05-21 09:06:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Don't use // comments and prevent unnecessary memory allocation
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-05-20 12:51:17 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2: Properly change subtitles
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-05-15 12:56:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix subtitle only seeks when switching to external subs
	  Sending a non-flushing seek might not be enough for switching
	  to an external sub that has already been used because the flushes
	  are needed to reset the state of its decodebin's queue.
	  For example, if the subtitle is short enough, the queue might get
	  and EOS and keep its 'unexpected' return state. If the user switches
	  to another subtitle and back to the external one, the buffers
	  won't get past the queue.
	  This patch fixes this by adding the flush flag to the seek and
	  preventing that this flush leaves the suburidecodebin.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638168
	  Conflicts:
	  gst/playback/gstplaybin2.c

2012-05-16 10:41:41 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  gstplaysink: Properly reset chain when receiving a custom flush event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638168
	  Conflicts:
	  gst/playback/gstplaysink.c

2012-05-14 11:52:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysink.c:
	  playsink: do not store more than a second of subtitles
	  Use a shorter queue for subtitles to avoid switches for subtitles
	  taking longer than they already take.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638168

2012-06-05 18:12:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: pass correct parameter to debug message
	  Get the format name to pass to the debug message, as it expects a string

2012-05-10 12:17:45 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  gstsuboverlay: Convert NewSegment events to always be in the TIME format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638168
	  Conflicts:
	  gst/playback/gstsubtitleoverlay.c

2012-06-06 17:42:36 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: reject opus streams with negative start time
	  This is used by Vorbis for sample accurate clipping, but this is
	  deemed an invalid stream by the opus spec.

2012-06-06 17:41:55 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: add a flag to say whether start granule clamping is to be done

2012-06-06 18:18:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 1fab359 to 03a0e57

2012-06-06 16:41:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: handle cancellation correctly

2012-06-06 16:40:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  audiopayload: disable broken bufferlist handling
	  The bufferlist handling is broken so make sure it is never enabled.

2012-06-06 14:53:43 +0200  David Svensson Fors <davidsf at axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't leak address and socket
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=677466

2012-06-06 12:55:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/playback/gstplaybin2.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  update for tag event change

2012-06-06 11:01:13 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: reject Ogg/Opus streams with nonsensical preskip/granpos setup
	  As the spec mandates.

2012-06-06 11:38:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: add pack_lines variable
	  Use a separate variable to describe the amount of lines that will be used in
	  packing instead of abusing the h_sub variable. Some formats might have no
	  subsampling but need to operate on multipe lines.

2012-06-06 11:15:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Remove more redundant code
	  Use the video library to do the setup instead of keeping a separate incomplete
	  list.

2012-06-06 10:21:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.h:
	  video: add macro for component depth

2012-06-05 16:58:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: don't artificially restrict caps
	  Use all the formats that the video library supports without any restrictions on
	  colorimetry or other parameters such as chroma-siting.

2012-06-05 12:27:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add descriptor for E-AC3 and PGS subtitles

2012-06-05 16:09:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: update .def file for new video API

2012-06-05 12:47:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-event.c:
	* gst-libs/gst/video/video-event.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: move methods into separate files
	  Move different video functionalities into different files

2012-06-04 20:36:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: refactor matrix setup

2012-06-04 18:24:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: don't add unknown colorimetry

2012-06-04 18:17:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: only copy known colorimetry values
	  Avoid overriding the default colorimetry values.

2012-06-04 18:08:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: add unknown colorimetry parameters as well..

2012-06-04 18:00:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: use unknown colorimetry for unknown formats
	  Use the default RGB colorimetry into only on RGB formats and use an unknown set
	  of defaults for the unknown format.

2012-06-04 16:15:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: (de)serialize colorimetry on caps

2012-06-04 16:13:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix 0_255 handling
	  We also need to apply an offset to the Cb and Cr samples in the 0-255 case.

2012-06-04 15:26:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: don't add empty colorimetry to caps
	  Don't use extra default colorimetry entries in the table to construct an output
	  colorimetry shortcut because they don't have a name.

2012-06-04 14:51:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: fix default colorspace settings
	  HD content is defined as height > 576

2012-06-04 14:46:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/Makefile.am:
	* gst/videoconvert/gstcms.c:
	* gst/videoconvert/gstcms.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: improve color transform setup
	  Remove hardcoded color matrices and compute the matrices using the cms helper
	  library that was in cogcolorspace before.

2012-06-04 10:08:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add generic film primaries

2012-06-04 13:07:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/video.c:
	  video: Fix build of unit test

2012-06-04 13:04:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstaudio.def:
	* win32/common/libgstvideo.def:
	  win32: Update exported symbols list

2012-06-04 10:46:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Don't unref frame twice if not in the list

2012-06-02 09:34:15 -0400  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Do not unref frame if not in the list

2012-06-04 10:01:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  Revert "audiodecoder: Error out earlier in a few places if something goes wrong"
	  This reverts commit eb68a2d5a7e4e9598df6eb812589c092fe2cc89a.
	  This sometimes errors out too early now, needs some more thoughts.

2012-06-04 09:56:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Return setcaps return value instead of always TRUE

2012-06-02 17:15:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Error out earlier in a few places if something goes wrong

2012-06-02 17:02:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Error out if handling a header packet failed instead of just finishing the frame

2012-06-01 12:02:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: use video helper library more
	  Use VideoInfo to setup the conversion.
	  Use the color matrix from the video info.

2012-06-01 11:58:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: set default colorimetry info
	  Set default colorimetry info when not otherwise specified in caps.

2012-06-01 10:02:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/videoblendorc-dist.c:
	* gst-libs/gst/video/videoblendorc-dist.h:
	  video: update disted orc backup files for recent changes

2012-06-01 10:28:41 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From f1b5a96 to 1fab359

2012-05-31 18:55:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: do not use %zu, it is C99
	  Cast the variables instead and fallback to %u

2012-05-31 18:28:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix printf format variable

2012-05-31 13:38:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/videoconvert.c:
	  video: fix paletted format
	  RGB8_PALETTED -> RGB8P
	  Fix the definition of paletted formats, store the palette in the second
	  plane.
	  Make sure we copy the palette correctly in gst_video_frame_copy()
	  Don't do alignment on the palette in videopool

2012-05-31 13:08:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 92b7266 to f1b5a96

2012-05-31 11:29:44 +0100  Bastien Nocera <hadess@hadess.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Use cache dir for download buffering
	  Instead of the temp directory. See:
	  http://0pointer.de/blog/projects/tmp.html
	  https://bugzilla.gnome.org/show_bug.cgi?id=677181

2012-05-30 17:08:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: use video library pack/unpack
	  Remove obsolete code and use the video pack/unpack functions

2012-05-30 16:51:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: enable more formats

2012-05-30 13:07:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	  video: And fix the build of the ORC sources

2012-05-30 13:06:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	  video: Fix generation of orc sources

2012-05-30 12:45:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ec1c4a8 to 92b7266

2012-05-30 11:23:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3429ba6 to ec1c4a8

2012-05-30 09:25:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	  video-blend: prepare for 0.11 porting
	  Remove obsolete code.
	  Remove the BlendInfo structure, we can do this better with GstVideoFrame
	  Use GstVideoFrame in the API
	  Prefix functions with gst_

2012-05-30 09:21:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add support for premultiplied alpha

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

	* ext/opus/gstopusdec.c:
	  opusdec: read gain from the right place in the header
	  It's at byte offset 16, not 14.

2012-05-29 17:48:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: use generic packing code
	  Use the pack functions of the video library to construct the target
	  image.
	  Remove redundant functions.

2012-05-29 17:47:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	  video: update for removed formats

2012-05-29 17:45:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: move enum difinition
	  c++ doesn't seem to like the typedef

2012-05-29 17:34:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/videoblendorc.orc:
	  video: Remove duplicate formats
	  Remove Y800 and Y16 wich are the same as GRAY8 and GRAY16_LE
	  Add const to the GstVideoFormatInfo when used in argument
	  Add GRAY8 and GRAY16 pack/unpack functions

2012-05-29 15:20:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/videoblendorc.orc:
	  video: rename orc function names

2012-05-29 15:12:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/videoblendorc-dist.c:
	* gst-libs/gst/video/videoblendorc-dist.h:
	* gst-libs/gst/video/videoblendorc.orc:
	  video: fill in the pack/unpack functions
	  Add support for supporting chroma subsampling correctly in the pack
	  function.
	  Fill in the pack and unpack functions for most formats.
	  Add some missing pack/unpack functions to the orc file.

2012-05-29 10:45:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc.orc:
	  videoconvert: remove unused functions

2012-05-29 10:44:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: remove unused defines

2012-05-28 14:18:10 -0300  Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  textoverlay: Use an external lock
	  Conflicts:
	  ext/pango/gsttextoverlay.c
	  ext/pango/gsttextoverlay.h

2012-05-29 09:54:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: add flags for the pack/unpack functions
	  Add a flag argument to the pack and unpack function so that we can expand it
	  later when needed. We could for example prefer a High Quality pack/unpack
	  operation later.

2012-05-29 09:53:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add flags for the pack/unpack functions
	  Add a flag argument to the pack and unpack function so that we can expand it
	  later when needed. We could for example prefer a High Quality pack/unpack
	  operation later.

2012-05-29 09:52:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add padding

2012-05-28 17:11:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videotestsrc/videotestsrc.c:
	  video: fix UYVP packing function

2012-05-28 16:30:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix v216

2012-05-28 16:16:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add support for I420_10 format
	  Add support for the I420_10 formats
	  Use the video frame api to get pixels and strides instead of our own
	  custom versions. Fixes the YVU9 format and probably some others.

2012-05-28 16:14:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: fix v216 format description
	  Fix the offsets of v216 video
	  Add the complex flag to some formats

2012-05-28 16:13:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: update v216 format
	  Fix the v216 format description

2012-05-28 14:58:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix AYUV64 format string

2012-05-28 14:49:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: update video formats document

2012-05-28 12:50:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add support for 10bit I420
	  Add support for 10bit I420
	  Reorganize some macros, have separate plane and component macros, fix
	  a problem with YV12 in the process.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665034

2012-05-28 11:08:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: take pixel stride into account
	  When we need to add borders, take the pixel stride into account to move to the
	  right horizintal offset.

2012-05-27 23:41:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: do not assert on bad header, error out instead

2012-05-26 19:56:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/tag.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	  tests: don't use GstStructure API on tag lists

2012-05-26 19:56:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.c:
	  tag: don't use GstStructure API on tag lists

2012-05-26 19:53:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: print all entries for a certain tag
	  If there are multiple entries for a tag, print all of them
	  individually.

2012-05-26 19:50:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: don't use GstStructure API on tag lists

2012-05-25 16:58:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add 10 bits I420 format
	  Add 10 bits I420 format definitions
	  Move encoded format as second entry in the array so that it doesn't end up in a
	  weird place when we add formats.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=665034

2012-05-25 16:05:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/video.c:
	  check: Update video test for GST_VIDEO_FORMAT_ENCODED

2012-05-25 16:05:06 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/struct_x86_64.h:
	  tests: Update ABI libs structure

2012-05-25 15:12:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* tests/check/elements/playbin.c:
	  playbin: add current-*uri properties
	  Make the uri property getter return the next uri, like it was configured in the
	  setter.
	  Make a new current-uri and current-suburi property that reflects the currently
	  playing uri and suburi.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676665

2012-05-25 15:57:45 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: Fix DTS IEC61937 payloading
	  DTS type I-III specify the burst length in bits. Only type IV (which we
	  do not currently support) needs it to be specified in bytes. Thanks to
	  Julien Moutte for pointing this out.

2012-05-24 22:12:56 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: reject major version number above what we grok

2012-05-24 21:58:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: bump written version from 0 to 0x01
	  as per the spec update at https://wiki.xiph.org/OggOpus#ID_Header

2012-04-30 14:40:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix lost packet handling for FEC/PLC
	  The base audio decoder sends zero size packets, not NULL buffers,
	  to signal dropped packets.

2012-05-24 13:43:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: fix compilation

2012-05-24 13:28:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	  cdparanoia: always set the read_speed
	  Always set the read speed to the configured value. Clarify that 0 or -1
	  speed means full speed.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676361

2012-05-24 12:31:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From dc70203 to 3429ba6

2012-05-23 16:34:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Put sinks before the other element factories in the autoplug factory list
	  This makes sure that we always prefer sinks that support a format without
	  decoding, independant of its rank. Previously we only sorted by rank.
	  Conflicts:
	  gst/playback/gstplaybin2.c

2012-05-21 13:34:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: remove usless checking of return val.
	  fixes https://bugzilla.gnome.org/show_bug.cgi?id=676525

2012-05-20 23:27:42 +0300  Raimo Järvi <raimo.jarvi@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Fix printf format warnings on mingw-w64
	  https://bugzilla.gnome.org/show_bug.cgi?id=676442

2012-05-23 16:09:37 +0200  Sebastian Rasmussen <sebrn@axis.com>

	* gst/audioresample/gstaudioresample.c:
	  Fix bug where debug category was declared inside a function
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676670

2012-05-22 16:49:58 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: improve doc

2012-05-23 01:49:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: remove the nonuse parameter from handle_type_packet() method

2012-05-22 15:24:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideoutils.h:
	  videoutils: improve doc

2012-05-22 15:17:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: stream is marking as non-packeized so that the data gets parsed and keyframes marked

2012-05-22 13:52:28 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstpbutils.def:
	  win32: Update defs file

2012-05-21 13:14:32 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* configure.ac:
	* tests/examples/playback/Makefile.am:
	* tests/examples/playback/playback-test.c:
	  playback: Fix compilation with the GDK Quartz backend

2012-05-21 08:01:09 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/playback/playback-test.c:
	  playback-test: remove not needed state-change
	  We go back to paused if needed (scrubbing in paused) in stop_seek().

2012-05-21 10:08:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: Put back accidentially deleted line

2012-05-21 02:01:17 +0300  Anton Belka <antonbelka@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	  discoverer: Add TOC support to discoverer and add -c/--toc parameters to gst-discoverer utility

2012-05-19 15:17:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: don't access GstElementFactory structure directly

2012-05-15 16:09:05 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: remove unused assignment
	  https://bugzilla.gnome.org/show_bug.cgi?id=676344

2012-05-16 12:25:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* tests/icles/test-box.c:
	  tests/icles: fix type of format field in 0.11 video caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=676344

2012-05-15 19:21:15 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsasink: check for spdif support only in the current device

2012-05-18 09:20:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: unref sockets in _close
	  When closing the connection, unref the currently used sockets. This should close
	  them when not in use. We need to do this because else we cannot reconnect
	  anymore after a close, the connect function requires that the sockets are NULL.

2012-05-18 09:18:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: clear the GError for pending connect
	  Clear the GError after g_socket_connect tells us that the connection is pending.
	  If we don't do this, glib complains when we try to reuse the non-NULL GError
	  variable a little below.

2012-05-17 22:06:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: simplify get_property for "caps" property

2012-05-17 22:04:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	  appsrc: remove filter argument from gst_app_src_get_caps()
	  Was presumably added by mistaken in the grand _get_caps()
	  conversion. Doesn't really make sense for a property accessor.

2012-05-17 16:38:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	  cdparanoiasrc: include stdio.h for SEEK_SET
	  https://bugzilla.gnome.org/show_bug.cgi?id=676255

2012-05-16 15:10:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: give libvorbis-based decoder and vorbisidec decoder different type names
	  Should fix "cannot register existing type `GstVorbisDec'" criticals
	  when both libvorbis and vorbisidec are available.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673333

2012-05-16 13:46:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/gstvideoutils.h:
	* win32/common/libgstvideo.def:
	  video: Rename gst_video_codec_frame_set_hook() to gst_video_codec_frame_set_user_data()
	  And also add a getter and allow to set NULL user_data but still call
	  the passed destroy notify.

2012-05-16 12:40:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  docs: fix up video decoder/encoder docs a bit
	  Makes gtk-doc happy.

2012-01-01 20:48:29 +0100  Idar Tollefsen <itollefs@cisco.com>

	* configure.ac:
	  build: Make sure AC_INCLUDES_DEFAULT is used.
	  Without using AC_INCLUDES_DEFAULT explicitly,
	  certain platforms will complain that the header
	  was found, but not usable by the compiler.
	  This happens for instance on Solaris where certain
	  headers are needed to pull in proper defines.
	  https://bugzilla.gnome.org/show_bug.cgi?id=667307
	  Conflicts:
	  configure.ac

2012-05-16 09:12:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require core/base 0.11.91

2012-01-13 17:58:37 -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-14 07:01:18 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst/playback/gstplaysink.c:
	  playsink: do not abort if a property is not found.
	  If a property is not found (for example last-sample when
	  gst_debug_bin_to_dot_file is used while the pipeline is
	  slightly broken (thus no last-sample) the unref of the item
	  gvalue which is not refed fails. Only unref if it was found.

2012-05-14 20:08:38 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst/playback/gstplaysink.c:
	  playsink: missing guard around gst pad add probe
	  This miss prevent from switching from one track to the other.
	  Issue encountered with rhythmbox and totem ports.

2012-05-14 17:53:59 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Don't leak incoming frames (and buffers)
	  We get given a reference in ::handle_frame(), remove it when we're done.

2012-05-11 10:58:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2: default text element is now subtitleoverlay
	  ... and not so much textoverlay, though the former also uses the latter.

2012-05-13 23:11:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix potential crash in SEEKING query handler
	  Take chain lock when accessing chains. Fall back gracefully
	  when there's no current chain Hopefully fixes crash when
	  seeking in Jamendo or Magnatune streams in Amarok.
	  https://bugzilla.gnome.org/show_bug.cgi?id=675609

2012-05-13 18:49:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	  typefinding, ogg: don't bother with annodex media types
	  They're hardly used, and probably more confusing than anything
	  else, and it's not clear that anyone would really need to be
	  able to tell them apart at the media type level.

2012-05-12 14:36:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: don't expose Annodex CMML streams any more
	  This never really took off - it's hardly used anywhere
	  and deprecated in favour of Kate. Exposing pads just
	  leads to confusing 'you are missing a plug-in' messages
	  when people come across such streams. We could still post
	  the data on the bus for applications to parse.

2012-05-12 14:24:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: update some comments that refer to internal decoders
	  We don't do that any more, we now have stream mappers for this.

2012-05-12 14:22:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: remove unused GstOggPadMode enum

2012-05-13 17:10:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/libvisual/visual.c:
	  libvisual: include string.h for strcmp()

2012-05-13 16:59:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.91 ===

2012-05-13 16:20:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.11.91

2012-05-13 16:19:32 +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/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 15:55:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From dc70203 to 3429ba6

2012-05-12 16:24:09 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: fix printf arguments in debug message

2012-05-11 17:37:14 +0300  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Ported fix for bug #673504 to 0.11

2012-05-10 23:08:21 +0300  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Wait until an update/filler newsegment event or buffer for subtitle streams
	  This makes sure that we wait until we received all tags for the
	  subtitle streams and have all information that is collected by
	  the discoverer.
	  Fixes bug #673504.

2012-05-11 16:16:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix format strings

2012-05-11 15:33:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix format strings

2012-05-11 09:26:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix compilation

2012-05-10 13:15:26 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Check type when setting "connection-speed" on unknown elements
	  Clamp the values if needed

2012-05-10 13:11:47 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin2: Add a connection-speed property to set it on demuxers when needed
	  Proxy it from uridecodebin

2012-05-03 15:45:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video.c:
	  video: Key unit event properties are optional
	  https://bugzilla.gnome.org/show_bug.cgi?id=675758

2012-05-09 17:16:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  win32: Update for new video enumtypes

2012-05-09 17:16:19 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/MANIFEST:
	  win32: Update manifest for removed interfaces library

2012-05-09 12:03:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Initialize variable to silence wrong compiler warning

2012-05-09 10:30:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Port changes to 0.11

2012-05-08 15:42:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: properly reconfigure upon subsequent no-more-pads
	  ... such as during switch in chained ogg.

2012-05-08 17:35:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: really use local ringbuffer spec helper var and init it a bit more
	  ... to avoid assertion failures
	  Conflicts:
	  ext/alsa/gstalsasink.c

2012-04-27 10:19:15 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	  alsasink: use the iec958 payloader to support non-payloaded input streams

2012-05-05 23:26:20 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gst-libs: make pkg-config get path to pkg-config dirs from configure
	  When --with-pkg-config-path is supplied to configure this path is now
	  explicitly propagated to pkg-config.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673377

2012-05-03 18:07:37 +0300  Vivia Nikolaidou <vivia.nikolaidou@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback: Display subseconds as proper milliseconds instead of the last 2 digits of the milliseconds

2012-05-01 23:09:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/audiocdsrc.c:
	  tests: update audiocdsrc test for stricter URI protocol checking incore

2012-05-01 16:55:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Also change gst_video_decoder_get_oldest_frame() to return a new reference

2012-05-01 16:12:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: _get_oldest_frame: return a reference

2012-05-01 16:11:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Add a reference to frame passed to subclass
	  We have one reference owned by the internal frame list and one reference
	  passed to the subclass.

2012-05-01 16:09:12 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Add a reference to frame passed to subclass
	  We have one reference owned by the internal frame list and one reference
	  passed to the subclass.

2012-05-01 15:35:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoutils.c:
	  videodecoder: don't leak events
	  When need to push out all the previously received events, concatenate all the
	  events from the previous frames (instead of leaking the old ones)
	  Improve debugging a little
	  Conflicts:
	  gst-libs/gst/video/gstvideodecoder.c

2012-05-01 14:46:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't leak frames
	  Frames receive a refcount when added to the frames list so release that refcount
	  in gst_video_decoder_do_finish_frame(). Also release the ref on the frame
	  because gst_video_decoder_do_finish_frame() takes ownership of the passed frame.

2012-05-01 14:45:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: avoid double unlock

2012-05-01 13:26:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Correctly handle crop metadata and update for videodecoder API changes

2012-04-30 13:06:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Update for basesrc API changes

2012-04-26 18:12:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Use a GstVideoBufferPool if none was provided

2012-04-26 18:11:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Do bufferpool configuration inside the default decide_allocation() implementation
	  This allows subclasses to override it, as is necessary for e.g. the
	  video-crop meta. It is now necessary that after decide_allocation()
	  there is always a allocator and a configured buffer pool inside the
	  query.

2012-04-27 16:13:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: make playsink reusable
	  The sinkpads are unblocked when going from PAUSED->READY, we need to block them
	  again when going READY->PAUSED. The blocking of the pad previously only happened
	  when it was freshly obtained with _request_pad or when the caps changed. If we
	  don't release the pad when going to READY it was previously never blocked again
	  causing not-linked errors.

2012-04-27 12:54:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: don't leak the colorbalance element

2012-04-29 17:16:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/licenses.c:
	  tag: improve gobject-introspection annotations

2012-04-28 19:16:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	  tests: fix libscpp compilation
	  Don't include marshaller headers that have gone away and/or
	  aren't public headers anyway so don't need to be tested for
	  C++ compiler compatibility.

2012-04-28 15:56:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: add new video base class API to .def file
	  Fixes make check.

2012-04-28 15:32:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: update descriptions for new webm/matroska media types

2012-04-28 15:29:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: more fine-grained matroska/webm typefinding
	  Typefind to audio/x-matroska, video/x-matroska, audio/webm,
	  video/webm and video/x-matroska-3d.
	  http://www.webmproject.org/code/specs/container/#naming
	  http://matroska.org/technical/specs/notes.html

2012-04-25 18:07:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/gdp/gstgdppay.c:
	  gdppay: plug buffer leak

2012-04-25 18:43:59 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	  volume: add a control point for the test

2012-04-25 18:42:04 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	  volume: cast outputs to correct type before comparing

2012-04-25 18:21:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  video: Remove interlaced handling from the video base classes
	  This must be handled by the subclasses in 0.11 because interlacing
	  is much more complex now and can't be handled in a generic way.

2012-04-25 15:27:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video.h:
	  video: improve docs and design of multiview interlaced
	  Put fields of interlaced frames after eachother.
	  Improve the docs of the video interlaced enums.

2012-04-25 14:44:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video.h:
	  video: add fields interlacing enum
	  Add an enum and docs for the fields interlace mode.
	  Improve the video caps docs for the fields interlace mode.

2012-04-25 10:39:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodec: remove some FIXMEs

2012-04-25 14:34:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Unref state when we're done with it

2012-04-25 13:52:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Fix latency query handling if the element's own max_latency is GST_CLOCK_TIME_NONE

2012-04-25 13:46:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Only use the interlacing buffer flags if the caps specify interlaced video

2012-04-25 13:44:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Proxy the interlaced buffer flags to the GstVideoCodecFrame

2012-04-25 13:15:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Update for video decoder API changes
	  And also improve the buffer pool handling.

2012-04-25 12:43:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Update for video encoder API changes and propose video-meta for allocation

2012-04-25 12:39:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Don't propose video-meta by default

2012-04-25 12:37:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Change configure_buffer_pool() vfunc to decide_allocation() with same semantics as in basetransform

2012-04-04 11:51:28 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: Handle GstByteWriter return values

2012-04-19 14:41:40 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/pipelines/streamheader.c:
	  tests: initialize variables

2012-04-24 22:42:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add support for subclasses to propose allocation parameters

2012-04-24 22:35:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: Use crop metadata if possible and refactor cropping code a bit

2012-04-24 22:35:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add support for subclasses to configure the buffer pool

2012-04-24 22:05:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Set some more information on the output caps

2012-04-24 21:32:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theora: Port to 0.11 again with the new base classes

2012-04-24 21:32:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/video.c:
	  video: Some porting bugfixes

2012-04-24 20:04:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add minimal support for buffer pools

2012-04-24 19:51:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Require to chain up to the parent classes event functions

2012-04-24 19:42:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Require to chain up to the parent's sink event functions

2012-04-24 19:35:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Initial port of video base classes and related things to 0.11

2012-04-24 18:16:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/colorbalance.c:
	* gst-libs/gst/video/colorbalancechannel.c:
	* gst-libs/gst/video/video-marshal.list:
	* gst-libs/gst/video/videoorientation.c:
	  video: Remove custom marshallers

2012-04-24 18:14:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Video base classes and theora plugin still needs to be ported again
	  Conflicts:
	  docs/libs/gst-plugins-base-libs-docs.sgml
	  docs/libs/gst-plugins-base-libs-sections.txt
	  docs/libs/gst-plugins-base-libs.types
	  ext/theora/gsttheoradec.c
	  ext/theora/gsttheoradec.h
	  ext/theora/gsttheoraenc.c
	  ext/theora/gsttheoraenc.h
	  gst-libs/gst/video/Makefile.am
	  gst-libs/gst/video/video.c
	  gst-libs/gst/video/video.h
	  gst/playback/gsturidecodebin.c
	  tests/check/libs/video.c
	  tests/check/pipelines/theoraenc.c
	  win32/common/libgstvideo.def

2012-04-24 16:34:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/tcp/gsttcpclientsink.c:
	  tcpclientsink: ensure proper cleanup upon startup error

2012-04-24 16:38:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: Update .defs file

2012-04-24 16:32:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/pipelines/theoraenc.c:
	  tests: Remove theoraenc discont test
	  It should be fixed differently, see
	  https://bugzilla.gnome.org/show_bug.cgi?id=663262

2012-04-24 15:27:25 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix gst_video_info_to_caps
	  And use the 0.10 caps style

2012-04-24 15:07:31 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Detect buffers inputted with DTS
	  Some container formats (like AVI) set DTS on the buffers instead of
	  PTS.
	  We detect this by:
	  * detecting if input timestamps are non-increasing
	  * detecting if the order the frames come out is the same as the order
	  they were inputted (meaning the implementation is reordering frames).
	  If the decoder reorders frames, but input buffer timestamps were not
	  reordered, that means the buffers has DTS and not PTS as their timestamp.
	  If this is the case, we use set the PTS of the outgoing frames in the
	  same order as they were given to the decoder.
	  This fixes the issue for any decoder using this base class (yay).

2012-03-07 12:22:14 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theora: Port to base video classes
	  FIXME : Don't forget to backport changes that happened to theoraenc
	  since April 2011
	  theoraenc: Don't create keyframe on time gap
	  There is no rational to do so, and also gst_video_encoder_set_discont() is
	  gone from base class.

2012-03-07 10:18:49 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/TODO:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/gstvideoutils.h:
	* win32/common/libgstvideo.def:
	  video: Base classes for video decoders and encoders

2012-04-24 10:10:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add gst_video_info_is_equal

2012-04-24 10:09:57 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add GST_VIDEO_FORMAT_ENCODED

2012-03-08 12:58:03 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video: Backport GstVideoInfo/GstVideoFormatInfo from 0.11

2012-04-24 10:13:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Allow newlines/whitespace at the beginning of subrip files
	  For example the Sintel subtitles have this and without this change
	  they're detected as text/plain and not usable as subtitles. The
	  parser itself already handles this just fine.

2012-04-24 10:13:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Allow newlines/whitespace at the beginning of subrip files
	  For example the Sintel subtitles have this and without this change
	  they're detected as text/plain and not usable as subtitles. The
	  parser itself already handles this just fine.

2012-04-19 14:14:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  video: improve frame_flags
	  Rename the frame_flags to flags. Because they are flags on the frame object it
	  does not need the redundant frame_ prefix.
	  Change the order of the metadata constructor so that the flags come before the
	  format and dimension arguments.

2012-04-19 12:13:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/videoconvert/gstvideoconvert.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  video: Update for libgstvideo API changes

2012-04-19 12:03:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Clean up interlaced flags and enums
	  There's a new GstVideoFrameFlags enum now that contains the frame
	  specific flags only. GstVideoFlags does not contain the TFF/TFF/ONEFIELD
	  flags anymore because these are strictly frame specific.
	  Also add fallback to parse these fields from the GstBufferFlags in
	  gst_video_frame_map() if there's no GstVideoMeta attached to the buffer.

2012-04-19 05:45:40 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: reset is_eos flag after a succesful seek from _create

2012-04-19 05:45:40 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: reset is_eos flag after a succesful seek from _create

2012-04-17 18:22:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tools/gst-discoverer.c:
	  discoverer: Fix another GstBuffer occurence to GstSample

2012-04-17 17:31:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tools/gst-discoverer.c:
	  discoverer: Tags now contain GstSamples instead of GstBuffers

2012-04-17 15:09:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  collectpads2: rename to collectpads

2012-04-17 13:48:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: correctly adjust to modified collectpads2 event handling

2012-04-17 09:54:09 +0200  Akihiro Tsukada <tskd2@yahoo.co.jp>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't hold the playbin lock in the autoplug-continue callback
	  It's not necessary there as the group lock already protects everything
	  we access here and causes deadlocks in some cases.
	  Fixes bug #673708.

2012-04-17 09:54:09 +0200  Akihiro Tsukada <tskd2@yahoo.co.jp>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't hold the playbin lock in the autoplug-continue callback
	  It's not necessary there as the group lock already protects everything
	  we access here and causes deadlocks in some cases.
	  Fixes bug #673708.

2012-04-16 17:03:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/Makefile.am:
	  Revert "tests: TEMP"
	  This reverts commit e9fbabbb866e1eafa070c9cb07ac13ffa99a92bf.

2012-03-30 16:56:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: TEMP

2012-04-16 16:30:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: use standard collectpads event handling
	  ... rather than (old) hacked overriding.

2012-04-16 16:30:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: chain up to collectpads event handler

2012-04-16 13:43:41 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Do not block on sticky and oob events

2012-04-16 09:08:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6db25be to dc70203

2012-04-13 16:29:50 +0200  Julian Scheel <julian@jusst.de>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Never treat live sources as streaming sources.
	  For streaming sources a queue is added before the demuxer, which can not be
	  properly filled by live sources. As http source can be live sources, this
	  caused issues for example with http live sources.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057

2012-04-16 08:27:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Check that properties have the correct type before using them

2012-04-16 08:24:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Check that properties have the correct type before using them

2012-04-15 22:46:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: fix navigation test linking

2012-04-15 22:43:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: update for ogg media type changes

2012-04-15 22:39:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	  ogg: update for media type typefinding changes

2012-04-15 22:32:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: more fine-grained ogg typefinding
	  Typefind to audio/ogg, video/ogg, etc. Also change
	  application/x-annodex to application/annodex.
	  See http://wiki.xiph.org/MIME_Types_and_File_Extensions

2012-04-14 11:26:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: shortcut transform_ip when not set
	  We can ask the base class to not call our transform_ip method when the subclass
	  didn't provide an in-place transform function.

2012-04-13 16:29:50 +0200  Julian Scheel <julian@jusst.de>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Never treat live sources as streaming sources.
	  For streaming sources a queue is added before the demuxer, which can not be
	  properly filled by live sources. As http source can be live sources, this
	  caused issues for example with http live sources.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057

2012-04-12 21:13:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: fix mem leak
	  When setting its config, the pool increase the ref count of the allocator, but
	  at finalize the ref count is also increased rather than decreased.
	  This one-liner patch changes the gst_allocator_ref() for gst_allocator_unref()
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674011

2012-04-13 14:32:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* po/POTFILES.in:
	  po: Remove deleted header file here too

2012-04-13 14:09:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/Makefile.am:
	  docs: Remove header file that was deleted

2012-04-13 13:39:17 +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:36:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 464fe15 to 6db25be

2012-04-13 11:01:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* android/interfaces.mk:
	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* ext/alsa/Makefile.am:
	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixer.h:
	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsamixerelement.h:
	* ext/alsa/gstalsamixeroptions.c:
	* ext/alsa/gstalsamixeroptions.h:
	* ext/alsa/gstalsamixertrack.c:
	* ext/alsa/gstalsamixertrack.h:
	* ext/alsa/gstalsaplugin.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/mixer.c:
	* gst-libs/gst/audio/mixer.h:
	* gst-libs/gst/audio/mixeroptions.c:
	* gst-libs/gst/audio/mixeroptions.h:
	* gst-libs/gst/audio/mixertrack.c:
	* gst-libs/gst/audio/mixertrack.h:
	* gst-libs/gst/audio/mixerutils.c:
	* gst-libs/gst/audio/mixerutils.h:
	* gst-libs/gst/interfaces/.gitignore:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/interfaces-marshal.list:
	* gst-libs/gst/interfaces/tuner.c:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/tunerchannel.c:
	* gst-libs/gst/interfaces/tunerchannel.h:
	* gst-libs/gst/interfaces/tunernorm.c:
	* gst-libs/gst/interfaces/tunernorm.h:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	* gst-libs/gst/video/videoorientation.h:
	* gst-libs/gst/video/videooverlay.c:
	* gst/playback/Makefile.am:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/volume/Makefile.am:
	* gst/volume/gstvolume.c:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio.pc.in:
	* pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	* pkgconfig/gstreamer-interfaces.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* sys/ximage/Makefile.am:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/Makefile.am:
	* sys/xvimage/xvimagesink.c:
	* tests/check/Makefile.am:
	* tests/check/elements/alsa.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/mixer.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	* tests/examples/playback/Makefile.am:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/Makefile.am:
	* tests/icles/Makefile.am:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/interfaces-enumtypes.h:
	* win32/common/libgstaudio.def:
	* win32/common/libgstinterfaces.def:
	* win32/common/libgstvideo.def:
	  gst-libs: Remove interfaces libs and mixer/tuner interfaces
	  The navigation interface is now in the video library.

2012-04-13 12:21:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  tests: videorate: remove obsolete color-matrix caps field

2012-04-12 18:20:58 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* Android.mk:
	  Sync Android.mk entries to the new major version
	  Change naming on the pkgconfig files to reflect
	  the 0.10 -> 1.0 bump.

2012-04-12 15:06:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/volume.c:
	  check: Fix one leak in volume test

2012-04-12 11:18:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 0.11.90 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.11.90

2012-04-12 10:11:49 +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/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-11 21:45:26 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/tcp/gstmultihandlesink.c:
	  tcp: update property documentation to reference correct property

2012-04-11 17:40:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: fix channel mask

2012-04-11 16:59:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/struct_i386.h:
	  tests: remove GstNetAddress
	  Really, really remove all mention of GstNetBuffer
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673510

2012-04-02 08:59:58 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* tests/examples/encoding/Makefile.am:
	* tools/Makefile.am:
	  libs: Link against internal tag library

2012-04-11 09:57:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Remove obsolete FIXME 0.11

2012-04-01 22:38:30 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst-libs/gst/pbutils/Makefile.am:
	* tests/examples/encoding/Makefile.am:
	  pbutils: Link against internal gst video
	  Link pbutils and encoding tests against internal version of libgstvideo.

2012-04-10 17:24:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/opus.c:
	  tests: port some more to 1.0

2012-04-10 17:22:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: tweak caps negotiation
	  ... so as to avoid leaking caps or manipulating NULL caps.

2012-04-10 00:45:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  Use new gst_element_class_set_static_metadata()

2012-04-09 14:39:21 +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/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/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

2012-04-06 14:52:12 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  gst/h264parse/gsth264parse.c
	  gst/videoparsers/gsth264parse.c

2012-04-06 14:52:12 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  gst/h264parse/gsth264parse.c
	  gst/videoparsers/gsth264parse.c

2012-04-06 10:54:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin.c:
	  playback: Remove gstdecodebin.c, which is nowaday unused anyway

2012-04-05 17:15:11 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	  Merge remote-tracking branch 'origin/0.10'

2012-04-05 17:15:11 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	  Merge remote-tracking branch 'origin/0.10'

2012-04-05 18:42:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7fda524 to 464fe15

2012-04-05 18:02:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/rawparse/plugin.c:
	  gst: Update for GST_PLUGIN_DEFINE() API changes

2012-04-05 18:02:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/opus/gstopus.c:
	  gst: Update for GST_PLUGIN_DEFINE() API changes

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

	* ext/alsa/gstalsaplugin.c:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstogg.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheora.c:
	* ext/vorbis/gstivorbisdec.c:
	* ext/vorbis/gstvorbis.c:
	* gst/adder/gstadder.c:
	* gst/app/gstapp.c:
	* gst/audioconvert/plugin.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/gdp/gstgdp.c:
	* gst/gio/gstgio.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstplayback.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gsttcpplugin.c:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximage.c:
	* sys/xvimage/xvimage.c:
	  gst: Update for GST_PLUGIN_DEFINE() API change

2012-04-05 13:25:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Update version to 0.11.89.1

2012-04-04 20:43:23 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
	  Avoid pushing out buffers with the same timestamp only if the out buffers are
	  decoded from the same input buffer. Instead keep the timestamps when upstream
	  pushes consecutive buffers with the same ts.

2012-04-04 20:43:23 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: don't discard timestamps when consecutive input buffers have the same ts
	  Avoid pushing out buffers with the same timestamp only if the out buffers are
	  decoded from the same input buffer. Instead keep the timestamps when upstream
	  pushes consecutive buffers with the same ts.

2012-04-04 19:43:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: plug a definite and rare leak

2012-04-04 19:41:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/libs/profile.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: plug some more object and caps leaks

2012-04-04 19:41:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: release additional obtained caps reference

2012-04-04 19:40:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-profile: release additional obtained caps reference

2012-04-04 13:56:17 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	  Merge branch '0.10'

2012-03-30 19:08:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: Use new playsink send-event-mode property
	  Set playsink's send-event-mode to MODE_FIRST as playbin2 only
	  needs one event going to the demuxer for its operation
	  https://bugzilla.gnome.org/show_bug.cgi?id=673211

2012-03-30 18:38:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysink.c:
	  playsink: add send-event-mode property
	  Adds a property for playsink to define how it should handle
	  events sent in send_event function. The default is the same as
	  GstBin's, sending events to all internal sinks. There is also
	  mode-first, that will send to sinks until the one handles the
	  event successfully.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673211

2012-04-04 14:20:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/gdp.mk:
	* android/interfaces.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/libs/compiling.sgml:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/version.entities.in:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst-libs/gst/video/Makefile.am:
	* gst-plugins-base.spec.in:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-app.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft.pc.in:
	* pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	* pkgconfig/gstreamer-interfaces.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	* pkgconfig/gstreamer-video.pc.in:
	* sys/ximage/Makefile.am:
	* sys/xvimage/Makefile.am:
	* tests/check/Makefile.am:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	* tests/examples/app/Makefile.am:
	* tests/examples/encoding/Makefile.am:
	* tests/examples/fft/Makefile.am:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/playback/Makefile.am:
	* tests/examples/seek/Makefile.am:
	* tests/icles/Makefile.am:
	* tools/Makefile.am:
	* tools/gst-visualise-m.m:
	* win32/common/config.h:
	  gst: Update versioning

2012-04-04 14:41:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/rawparse/Makefile.am:
	  gst: Update versioning

2012-04-04 14:41:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/opus/Makefile.am:
	  gst: Update versioning

2012-04-04 12:06:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'

2012-04-04 12:06:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'

2012-04-04 09:33:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: removed old memory
	  Ensure writability of rtp buffer and remove old memory first
	  Fix some docs

2012-04-03 18:30:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/adder.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/pipelines/theoraenc.c:
	  tests: various fixes
	  ... such as setting input caps, ensuring to unmap and bearing in
	  mind that gst_buffer_make_writable usually does not provide
	  a separate memory copy/area.

2012-04-03 18:30:31 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: plug rare buffer leak

2012-04-03 18:31:24 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: event handling and leak fixes

2012-04-02 17:03:00 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: videoscale: fix passthrough unit test
	  ... to really only test the indicated scaling method rather than
	  all of them.

2012-04-02 17:01:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: plug caps leak

2012-04-02 15:31:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  gst/mpegtsdemux/tsdemux.c

2012-04-02 15:31:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  gst/mpegtsdemux/tsdemux.c

2012-04-02 14:23:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audio{de,en}coder: fixup documentation

2012-04-02 12:48:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: deactivate pool on negotiation
	  Deactivate the old bufferpool when we negotiate a new one.

2012-04-02 12:25:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: fix macros

2012-04-02 11:37:43 +0200  Jonathan Lyons <jclyons at wesleyan.edu>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: fix build without XSHM
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673327

2012-03-29 13:32:15 +0300  Raimo Järvi <raimo.jarvi@gmail.com>

	* gst/tcp/gstmultisocketsink.c:
	  tcp: Fix compiling with mingw
	  https://bugzilla.gnome.org/show_bug.cgi?id=673056

2012-04-02 11:21:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: remove useless transform_ip function

2012-04-02 11:11:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: use transform_ip_on_passthrough

2012-04-02 11:05:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtp: fix initializer

2012-04-02 10:31:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: keep more state
	  Prepare for the future, make it possible to map multiple buffer regions, like
	  the header and the payload.

2012-04-01 18:11:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst/gdp/gstgdppay.c:
	  Improve buffer allocation of wrapped memory

2012-04-01 18:04:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: use new buffer methods when mapping memory
	  Use _find_memory and _map_range to simplify, improve and optimize the
	  memory mapping of video frames.

2012-04-01 17:57:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: don't map writable in passthrough
	  In passthrough mode we shouldn't map the buffer in write mode because the buffer
	  might not be writable.

2012-03-31 12:54:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Fix handling of offset/offset-end for Ogg codecs
	  Fixes the vorbisenc unit test.

2012-03-30 18:12:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst/gdp/gstgdppay.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/subparse.c:
	* tests/check/gst/typefindfunctions.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/tag.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  update for buffer api change

2012-03-30 17:09:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fixup merge

2012-03-30 16:56:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/appsrc.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: plug various caps leaks

2012-03-30 16:56:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: plug caps leak

2012-03-30 13:52:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Add crop metadata before mapping the buffer content
	  Otherwise the buffer is not writable and the crop metadata can't be added.

2012-03-30 13:21:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audio{en,de}coder: Track input and output segments separately
	  They can go out of sync for some time if processing of buffers
	  on the old segment happens after the segment was received.

2012-03-30 12:57:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* win32/common/libgstaudio.def:
	  audioencoder: Add gst_audio_encoder_set_headers() to the docs

2012-03-30 12:51:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisdec: Use new gst_audio_encoder_set_headers() API

2012-03-30 12:47:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add function to set in-stream headers
	  API: gst_audio_encoder_set_headers()
	  This makes the hack in vorbisenc and probably others in ::pre_push()
	  unnecessary.

2012-03-30 12:16:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Update for GstAudioEncoder API changes

2012-03-30 12:15:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Rename ::event() to ::sink_event() and add ::src_event()

2012-03-30 12:10:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Rename ::event() to ::sink_event() and add ::src_event()

2012-03-30 12:22:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  ext: Update for GstAudioEncoder API changes

2012-03-30 12:13:40 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: Check return value of byte write methods

2012-03-30 12:06:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: Check return value of byte write methods

2012-03-30 12:05:51 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning

2012-03-30 12:04:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Use unchecked byte reader methods where possible
	  The size is checked before, so we can use them.

2012-03-30 12:02:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Specify array size
	  Fixes error: initialization of flexible array member is not allowed

2012-03-30 12:00:08 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: Fix 'comparison of unsigned expression < 0 is always false'
	  -1 (aka G_MAXUINT32) is the only possible 'negative' value that is used
	  as a special value for 'not set' here. All other positive values are
	  valid.

2012-03-30 11:58:37 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Handle return values from GstByteWriter

2012-03-30 10:20:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/subparse.c:
	  tests: Fix subparse test
	  It wasn't checking the srt_input2

2012-03-30 10:19:29 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix comparision

2012-03-30 11:51:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: Rename _byte_time() to _estimate_rate()
	  Which is telling more about what this actually does and is more
	  consistent with the video base classes.

2012-03-29 18:04:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad

2012-03-29 18:04:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-bad

2012-03-29 17:41:55 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_x86_64.h:
	  test: Enable ABI check and update 64bit file

2012-03-29 17:41:36 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: Properly disable non-ported tests

2012-01-17 17:17:24 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/design/draft-hw-acceleration.txt:
	  design: First go at hardware-acceleration design doc

2012-03-29 17:41:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  NEWS
	  RELEASE
	  common
	  configure.ac
	  docs/libs/gst-plugins-bad-libs-sections.txt
	  docs/plugins/gst-plugins-bad-plugins.args
	  docs/plugins/gst-plugins-bad-plugins.hierarchy
	  docs/plugins/gst-plugins-bad-plugins.interfaces
	  docs/plugins/inspect/plugin-adpcmdec.xml
	  docs/plugins/inspect/plugin-adpcmenc.xml
	  docs/plugins/inspect/plugin-assrender.xml
	  docs/plugins/inspect/plugin-audiovisualizers.xml
	  docs/plugins/inspect/plugin-autoconvert.xml
	  docs/plugins/inspect/plugin-bayer.xml
	  docs/plugins/inspect/plugin-bz2.xml
	  docs/plugins/inspect/plugin-camerabin2.xml
	  docs/plugins/inspect/plugin-celt.xml
	  docs/plugins/inspect/plugin-dataurisrc.xml
	  docs/plugins/inspect/plugin-debugutilsbad.xml
	  docs/plugins/inspect/plugin-dtmf.xml
	  docs/plugins/inspect/plugin-dtsdec.xml
	  docs/plugins/inspect/plugin-dvbsuboverlay.xml
	  docs/plugins/inspect/plugin-dvdspu.xml
	  docs/plugins/inspect/plugin-faac.xml
	  docs/plugins/inspect/plugin-faad.xml
	  docs/plugins/inspect/plugin-gsm.xml
	  docs/plugins/inspect/plugin-h264parse.xml
	  docs/plugins/inspect/plugin-mms.xml
	  docs/plugins/inspect/plugin-modplug.xml
	  docs/plugins/inspect/plugin-mpeg2enc.xml
	  docs/plugins/inspect/plugin-mpegdemux2.xml
	  docs/plugins/inspect/plugin-mpegtsdemux.xml
	  docs/plugins/inspect/plugin-mpegvideoparse.xml
	  docs/plugins/inspect/plugin-mplex.xml
	  docs/plugins/inspect/plugin-pcapparse.xml
	  docs/plugins/inspect/plugin-rawparse.xml
	  docs/plugins/inspect/plugin-rtpmux.xml
	  docs/plugins/inspect/plugin-rtpvp8.xml
	  docs/plugins/inspect/plugin-scaletempo.xml
	  docs/plugins/inspect/plugin-schro.xml
	  docs/plugins/inspect/plugin-sdp.xml
	  docs/plugins/inspect/plugin-segmentclip.xml
	  docs/plugins/inspect/plugin-shm.xml
	  docs/plugins/inspect/plugin-videomaxrate.xml
	  docs/plugins/inspect/plugin-videoparsersbad.xml
	  docs/plugins/inspect/plugin-vp8.xml
	  docs/plugins/inspect/plugin-y4mdec.xml
	  ext/celt/gstceltdec.c
	  ext/dts/gstdtsdec.c
	  ext/modplug/gstmodplug.cc
	  ext/opus/gstopusenc.c
	  gst-libs/gst/video/gstbasevideocodec.c
	  gst-libs/gst/video/gstbasevideocodec.h
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideodecoder.h
	  gst-libs/gst/video/gstbasevideoencoder.c
	  gst-libs/gst/video/gstbasevideoencoder.h
	  gst/adpcmdec/Makefile.am
	  gst/audiovisualizers/gstbaseaudiovisualizer.c
	  gst/h264parse/gsth264parse.c
	  gst/mpegdemux/mpegtsparse.c
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/mpegtsdemux/mpegtspacketizer.c
	  gst/mpegtsdemux/mpegtsparse.c
	  gst/mpegtsdemux/tsdemux.c
	  gst/mpegtsdemux/tsdemux.h
	  gst/mxf/mxfdemux.c
	  gst/rawparse/gstaudioparse.c
	  gst/videoparsers/gsth263parse.c
	  gst/videoparsers/gsth264parse.c
	  sys/d3dvideosink/d3dvideosink.c
	  sys/decklink/gstdecklinksink.cpp
	  sys/dvb/gstdvbsrc.c
	  sys/shm/gstshmsrc.c
	  sys/vdpau/h264/gstvdph264dec.c
	  sys/vdpau/mpeg/gstvdpmpegdec.c
	  tests/examples/opencv/gst_element_print_properties.c
	  win32/common/config.h

2012-03-29 17:41:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  NEWS
	  RELEASE
	  common
	  configure.ac
	  docs/libs/gst-plugins-bad-libs-sections.txt
	  docs/plugins/gst-plugins-bad-plugins.args
	  docs/plugins/gst-plugins-bad-plugins.hierarchy
	  docs/plugins/gst-plugins-bad-plugins.interfaces
	  docs/plugins/inspect/plugin-adpcmdec.xml
	  docs/plugins/inspect/plugin-adpcmenc.xml
	  docs/plugins/inspect/plugin-assrender.xml
	  docs/plugins/inspect/plugin-audiovisualizers.xml
	  docs/plugins/inspect/plugin-autoconvert.xml
	  docs/plugins/inspect/plugin-bayer.xml
	  docs/plugins/inspect/plugin-bz2.xml
	  docs/plugins/inspect/plugin-camerabin2.xml
	  docs/plugins/inspect/plugin-celt.xml
	  docs/plugins/inspect/plugin-dataurisrc.xml
	  docs/plugins/inspect/plugin-debugutilsbad.xml
	  docs/plugins/inspect/plugin-dtmf.xml
	  docs/plugins/inspect/plugin-dtsdec.xml
	  docs/plugins/inspect/plugin-dvbsuboverlay.xml
	  docs/plugins/inspect/plugin-dvdspu.xml
	  docs/plugins/inspect/plugin-faac.xml
	  docs/plugins/inspect/plugin-faad.xml
	  docs/plugins/inspect/plugin-gsm.xml
	  docs/plugins/inspect/plugin-h264parse.xml
	  docs/plugins/inspect/plugin-mms.xml
	  docs/plugins/inspect/plugin-modplug.xml
	  docs/plugins/inspect/plugin-mpeg2enc.xml
	  docs/plugins/inspect/plugin-mpegdemux2.xml
	  docs/plugins/inspect/plugin-mpegtsdemux.xml
	  docs/plugins/inspect/plugin-mpegvideoparse.xml
	  docs/plugins/inspect/plugin-mplex.xml
	  docs/plugins/inspect/plugin-pcapparse.xml
	  docs/plugins/inspect/plugin-rawparse.xml
	  docs/plugins/inspect/plugin-rtpmux.xml
	  docs/plugins/inspect/plugin-rtpvp8.xml
	  docs/plugins/inspect/plugin-scaletempo.xml
	  docs/plugins/inspect/plugin-schro.xml
	  docs/plugins/inspect/plugin-sdp.xml
	  docs/plugins/inspect/plugin-segmentclip.xml
	  docs/plugins/inspect/plugin-shm.xml
	  docs/plugins/inspect/plugin-videomaxrate.xml
	  docs/plugins/inspect/plugin-videoparsersbad.xml
	  docs/plugins/inspect/plugin-vp8.xml
	  docs/plugins/inspect/plugin-y4mdec.xml
	  ext/celt/gstceltdec.c
	  ext/dts/gstdtsdec.c
	  ext/modplug/gstmodplug.cc
	  ext/opus/gstopusenc.c
	  gst-libs/gst/video/gstbasevideocodec.c
	  gst-libs/gst/video/gstbasevideocodec.h
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideodecoder.h
	  gst-libs/gst/video/gstbasevideoencoder.c
	  gst-libs/gst/video/gstbasevideoencoder.h
	  gst/adpcmdec/Makefile.am
	  gst/audiovisualizers/gstbaseaudiovisualizer.c
	  gst/h264parse/gsth264parse.c
	  gst/mpegdemux/mpegtsparse.c
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/mpegtsdemux/mpegtspacketizer.c
	  gst/mpegtsdemux/mpegtsparse.c
	  gst/mpegtsdemux/tsdemux.c
	  gst/mpegtsdemux/tsdemux.h
	  gst/mxf/mxfdemux.c
	  gst/rawparse/gstaudioparse.c
	  gst/videoparsers/gsth263parse.c
	  gst/videoparsers/gsth264parse.c
	  sys/d3dvideosink/d3dvideosink.c
	  sys/decklink/gstdecklinksink.cpp
	  sys/dvb/gstdvbsrc.c
	  sys/shm/gstshmsrc.c
	  sys/vdpau/h264/gstvdph264dec.c
	  sys/vdpau/mpeg/gstvdpmpegdec.c
	  tests/examples/opencv/gst_element_print_properties.c
	  win32/common/config.h

2012-03-29 17:14:48 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: plug caps leak

2012-03-29 15:00:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge remote-tracking branch 'origin/0.10'
	  Conflicts:
	  gst-libs/gst/video/video-overlay-composition.c
	  tests/check/libs/video.c

2012-03-28 16:45:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: optionally obtain current caps from negotiated pad caps

2012-03-28 16:41:01 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: handle downstream seeking query
	  ... or not, in line with how segment events are treated.

2012-03-28 12:48:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/gdp/gstgdppay.c:
	  update for buffer changes

2012-03-27 15:13:24 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopus.c:
	  opus: Rank rtp pay/depay
	  This way they can be auto-plugged.

2012-03-27 18:16:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	  tagmux: more discrete segment event dropping

2012-03-27 15:44:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  videopool: avoid caps copy
	  Now that the caps from the bufferpool are not returned as const we
	  can take a ref instead of doing a copy.

2012-03-27 15:44:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: avoid caps copy

2012-03-27 15:44:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  testoverlay: fix object and caps leak

2012-03-27 15:43:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: fix small caps leak

2012-03-27 15:01:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: keep the buffer reffed in the videoframe
	  This would also ensure that the buffer is not writable while mapped.

2012-03-27 12:44:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	  update for get_param changes
	  Remove the const from the GstCaps.
	  Fix some GstStructure leaks.

2012-03-26 18:13:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: remove bogus define

2012-03-26 13:52:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add some more subtitle format descriptions

2012-03-26 11:56:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Replace master with 0.11

2012-03-26 09:15:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: Some minor grid layout improvements

2012-03-26 09:13:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: Make grid children sizes non homogeneous
	  This only takes space for no good reason and doesn't even look good.

2012-03-26 09:11:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: Rename advanced playback to advanced seeking
	  It's about seeking, not general playback.

2012-03-25 13:35:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* tests/check/libs/video.c:
	  test: fix leak in video overlay composition unit test
	  gst_buffer_set_qdata() will leak the structure passed to it
	  when called incorrectly (e.g. on a non-metadata-writable buffer).
	  This is expected, but we must avoid doing that in valgrind.

2012-03-25 00:31:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	  video: overlay-composition: blending micro-optimisation

2012-03-25 00:22:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	  video: overlay-composition: try to avoid floating point maths in inner loop
	  Try to avoid floating point maths for each pixel to be blended in
	  inner loop, and try to avoid the multiplication entirely for the
	  most common case of the global alpha being 1. Could probably be
	  refactored a bit more.

2012-03-24 19:47:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: overlay-composition: some minor clean-ups
	  extract_alpha and apply_global alpha always return TRUE really,
	  so just do away with the return value. Convert a g_return_if_fail()
	  into a g_assert(), since this is only to check internal consistency
	  and not a guard for public API. Add some locking.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-24 19:38:26 +0000  Holger Kaelberer <hk@getslash.de>

	* tests/check/libs/video.c:
	  tests: add unit test for video overlay composition global alpha support
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-24 19:31:29 +0000  Holger Kaelberer <hk@getslash.de>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	  video: overlay-composition: add support for global alpha multiplicator
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-24 00:17:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: map ISBJ tag to GST_TAG_ALBUM_ARTIST
	  http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm

2012-03-23 11:07:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink

2012-03-22 15:55:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  back to devel

=== release 0.11.3 ===

2012-03-22 15:50:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	* 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/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/_stdint.h:
	* win32/common/config.h:
	  Release 0.11.3

2012-03-22 11:35:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  .gitignore
	  common
	  configure.ac
	  ext/vorbis/gstvorbisdeclib.h
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst-libs/gst/riff/riff-read.c
	  gst/playback/gstplaysink.c
	  gst/playback/gstplaysinkconvertbin.c
	  tests/check/libs/video.c

2012-03-21 13:20:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstaudio.def:
	* win32/common/libgstvideo.def:
	  defs: update

2012-03-21 13:19:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  tests: don't include element header files

2012-03-20 15:37:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc.orc:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  orc: avoid precompilation
	  Avoid compiling all the functions at startup but compile only what's needed when
	  needed.

2012-03-20 13:31:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: add performance debug

2012-03-20 13:18:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: avoid memcpy in pull mode
	  In pull mode, we can now ask the upstream element to write directly into the
	  memory provided by libogg.

2012-03-20 10:23:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audio.c:
	  update for memory api changes

2012-03-14 14:51:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	  pbutils: make encoding profile classes opaque
	  Don't typedef them to GObjectClass directly, but hide behind
	  private structs. Fixes issues with gobject-introspection
	  and GstEncodingProfileClass.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668542

2012-03-20 11:22:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: fix assertion comparison mishap

2012-03-19 16:18:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: include audio enumtypes

2012-03-19 12:26:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add function to copy one video plane

2012-03-18 22:56:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	  riff: map IPRD ("product") tag to GST_TAG_ALBUM
	  http://www.bass.radio42.com/help/html/7e1a8908-88bd-d54b-77d7-f0d08466284c.htm
	  https://bugzilla.gnome.org/show_bug.cgi?id=670286

2012-03-16 21:46:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/riff/riff-read.c:
	  don't pass random pointers to pull_range

2012-03-16 20:22:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix decide_allocation
	  We want to propose a videopool even if downstream didn't provide one.

2012-03-15 22:10:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	  update for bufferpool changes

2012-03-15 20:36:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  update for allocation query changes

2012-03-15 14:06:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  update for bufferpool api change

2012-03-15 12:59:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: send navigation event to the sink as a fallback
	  When the video sink is a fakesink, which does not implement the
	  navigation interface, playsink will drop the navigation command.
	  In this case, send to the video sink as a fallback. It breaks
	  the interface abstraction, but is better than just dropping the
	  navigation event.

2012-03-15 13:32:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst/gdp/dataprotocol.c:
	  update for memory api changes

2012-03-14 21:35:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/video/gstvideopool.c:
	  update for memory api changes

2012-03-14 19:52:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	  take padding into account

2012-03-14 17:59:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: add unit test for premultiplied alpha handling of video overlay rectangles
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-14 17:46:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: overlay-composition: fix alpha premultiply and unpremultiply
	  Fix component offsets for little endian systems.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-14 17:28:57 +0000  Holger Kaelberer <hk@getslash.de>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: overlay-composition: fix rectangle caching after alpha (un)premultiplying
	  If we are asked to (un)premultiply,we need to create the new rectangle
	  with the right flags, so we can find it properly on subsequent cache
	  lookups (also because it's wrong otherwise).
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-14 17:18:47 +0000  Holger Kaelberer <hk@getslash.de>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: overlay-composition: fix crash when doing premultiplied<->unpremultiplied alpha conversion
	  We need to copy the pixels before messing with them, not least
	  because the buffer creation code below assumes it's ok to take
	  ownership.
	  Fixes crash caused by double-free.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-14 16:42:24 +0000  Holger Kaelberer <hk@getslash.de>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: overlay-composition: check the right flags when searching for a cached rectangle
	  Compare the flags of the *cached* rectangle to the desired flags when
	  checking for a suitable rectangle in the cache.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668483

2012-03-14 15:31:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: remove ASSERT_CRITICAL disablement in overlay composition unit test
	  No idea why that was there.

2012-03-14 11:04:25 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: remove circular ref between bin and internal pad
	  ... by not assigning an additional ref to an async blocked callback,
	  which should not be called anyway by the time the object is gone.
	  Fixes #672006.

2012-03-14 17:14:43 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: free owned discarded pool configuration

2012-01-25 23:53:04 +0100  Peter Korsgaard <jacmet@sunsite.dk>

	* ext/vorbis/gstvorbisdeclib.h:
	  vorbisdec: support modern Tremor versions
	  Tremor changed to use standard libogg rather than its own incompatible
	  copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail.
	  Tremolo so far unfortunately hasn't been updated. Restructure
	  vorbisdeclib.h so the int/float logic is seperate from the ogg handling,
	  and only use the legacy _ogg_packet_wrapper code for Tremolo.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668726

2012-03-13 20:17:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: also copy map/unmap functions

2012-03-13 18:15:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepay: add support for DTS and PTS

2012-03-13 15:24:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: provide fresh copy for gst_caps_merge
	  ... since it is documented to modify provided caps.

2012-03-13 12:40:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: only create unknown caps once

2012-03-13 12:39:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: fix debug line

2012-03-12 23:29:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump AS_LIBTOOL version
	  API was added in libgsttag, libgstaudio and libgstvideo

2012-03-12 23:28:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: backport AS_LIBTOOL version from 0.10.36 release
	  Should fix issues with missing symbols for people who install GStreamer
	  from source and at some point jumped back and forth between git master
	  and the 0.10.36 release (or 0.10. branch).

2012-03-12 19:51:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: don't leak the bufferpool

2012-03-12 17:16:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  tests: update for caps api changes

2012-03-12 17:06:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix for caps api change

2012-03-12 16:39:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* configure.ac:
	  configure.ac : bump GLib requirement to 2.31.14
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911

2012-03-12 12:40:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/profile.c:
	  tests: fix for caps change

2012-03-12 12:22:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/encoding/gstcapslist.c:
	  tests: fix for caps _normalize changes

2012-03-11 19:04:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/libvisual/visual.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  fix for caps API changes

2012-03-09 20:54:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	  riff: extract track number and album artist tags from INFO chunks
	  https://bugzilla.gnome.org/show_bug.cgi?id=670286

2012-03-09 20:53:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: when reading tags from INFO chunk, accept lower-case IDs as well

2012-03-09 16:56:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  configure: fix AC_LANG_SOURCE-related warnings when doing autogen.sh

2012-03-09 17:15:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: add some G_LIKELY

2012-03-09 15:41:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  .gitignore: add new playback-test binary

2012-03-09 16:17:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: avoid buffer copy when nothing is clipped
	  when nothing is clipped, return the input buffer instead of creating and
	  returning an identical copy.

2012-03-09 14:16:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: do not take a superfluous ref on uridecodebin instances
	  ... which are no longer FLOATING.

2012-03-09 14:15:44 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: restore FLOATING flag when reusing decodebin instance
	  ... which avoids leaking these due to an extra ref later on.

2012-03-09 10:54:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audio{en,de}coder: Add optional open/close vfuncs
	  This can be used to do something in NULL->READY, like checking
	  if a hardware codec is actually available and to error out early.

2012-03-08 20:54:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  pango: re-port pangocairo deprecation and compiler warning fixes from 0.10
	  Wasn't applied because that code is in the new private base class.

2012-03-08 20:49:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: fix up for 0.11 after merge

2012-03-08 20:31:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  common
	  docs/libs/gst-plugins-base-libs.types
	  ext/pango/gsttextoverlay.c
	  ext/vorbis/gstvorbisdec.c
	  gst/playback/gstplaysink.c
	  gst/playback/gstplaysinkconvertbin.c
	  sys/ximage/ximagesink.c
	  sys/xvimage/xvimagesink.c

2012-03-08 17:55:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: audio convert bin need not be unconditionally present
	  ... so avoid NULL manipulation when setting up chain again
	  (e.g. after having partially gone down to READY in native audio flag
	  configuration).

2012-03-08 15:17:40 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: plug element leak

2012-03-08 15:24:19 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  check: Disable another lanczos videoscale test
	  Segfaults hard

2012-03-08 13:03:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	  videopool: only do alignment when videometa is enabled
	  We require the videometa activated before we can implement the alignment of
	  buffers. Users of the bufferpool should do this manually based on the results of
	  the allocation query.

2012-03-08 11:32:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/opus.c:
	  tests: fix more caps

2012-03-08 10:59:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: deal with lists of formats

2012-03-08 10:22:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix broken format filter
	  Simply intersect the format with the supported formats to make the code deal
	  with lists of formats.

2012-03-07 17:14:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	  opus: port to updated 0.11

2012-03-07 12:45:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  Revert "ogg: Fix handling of unset granuleshift for the skeleton parser"
	  This reverts commit 7418ddd753608a5fb134afeb25d7bb4e5ddc38ec.
	  This breaks the unit test and messes up preroll/seeking.

2012-03-07 12:39:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  common: update common module
	  For new check-norepeat target.

2012-03-07 12:59:28 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: only request and process 1 frame at a time
	  ... since it is specified in _finish_frame that input buffer may be invalidated
	  after calling it, and is as such not reliably available for further encoding.
	  Also, requesting or allowing several frames is only useful if subclass intends
	  to process these "in 1 run" (as in, 1 output buffer), not for having another
	  (inner) loop in subclass where the baseclass one will do just fine.

2012-03-07 12:55:43 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: configure baseclass requested samples really in samples
	  ... as opposed to bytes.

2012-03-07 09:04:18 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  win32: update defs for new libgstaudio symbol

2012-03-06 15:57:21 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	  vorbisdec: simplify tag handling using base class helper

2012-03-06 15:56:42 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: add some tag handling convenience help

2012-03-06 15:55:26 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: add baseclass _CAST macro

2012-03-06 15:20:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: fix typos

2012-03-06 13:11:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  pango: Fix 'implicit conversion from enumeration type 'GstTextOverlayLineAlign' to different enumeration type 'PangoAlignment'' compiler warning

2012-03-06 13:09:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  ogg: Fix handling of unset granuleshift for the skeleton parser
	  And also add a helper function to properly clear/reset/free the
	  GstOggStream structures.

2012-03-06 12:52:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: make video metatransform
	  Make more generic video meta transform data that can be used for many video
	  transformations later.

2012-03-06 12:47:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Fix 'comparison of unsigned expression >= 0 is always true'
	  -1 aka 0xffffffff is the only possible 'negative' value that is used
	  as a special value for 'not set' here. All other positive values are
	  valid.

2012-03-06 12:42:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	  video-blend: Actually allow negative offsets in the function signature too

2012-03-06 12:40:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/install-plugins.c:
	  pbutils: Fix 'comparison of unsigned enum expression < 0 is always false' compiler warning

2012-03-05 14:19:24 +0100  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs.types:
	  docs: make videooverlaycomposition types show up in the docs

2012-03-05 15:28:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	  xvimage: improve debugging

2012-03-05 15:23:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Chain up to the parent's GstBin::handle_message() for non-prepare-xoverlay element messages

2012-03-05 12:29:26 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: add helper function to convert mask to channel positions
	  ... as there may be other than raw audio formats using a channel mask,
	  and there is already one to convert the other way around.

2012-03-05 12:26:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: stop proxying some old-style 0.10 raw audio caps fields

2012-03-05 12:25:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: store segment event as pending event to forego dropping it

2012-03-05 12:23:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: plug caps leak when setting output format

2012-03-05 12:42:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/videotestsrc.c:
	  x-raw-bayer -> x-bayer
	  Rename x-raw-bayer to x-bayer. We might want to merge this with x-raw eventually
	  but for now keep the x-raw namespace clean.

2012-03-05 11:09:12 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: don't use deprecated XKeycodeToKeysym
	  https://bugzilla.gnome.org/show_bug.cgi?id=671299
	  Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

2012-03-05 11:07:39 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

	* sys/ximage/ximagesink.c:
	  ximagesink: don't use deprecated XKeycodeToKeysym
	  https://bugzilla.gnome.org/show_bug.cgi?id=671299
	  Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

2012-03-05 10:59:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: enhance some debug statement

2012-03-04 10:28:49 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

	* configure.ac:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	  pango: don't use deprecated pango_cairo_font_map_create_context()
	  https://bugzilla.gnome.org/show_bug.cgi?id=671300

2012-03-03 13:51:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/discoverer.c:
	* tests/files/Makefile.am:
	* tests/files/test.mkv:
	  tests: add test to check discoverer return code for missing plugins case
	  https://bugzilla.gnome.org/show_bug.cgi?id=671047

2012-02-29 21:25:24 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't change result for missing plugin errors
	  https://bugzilla.gnome.org/show_bug.cgi?id=671047

2012-03-02 17:35:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: use base class new vmethods
	  Use the base class filter_meta to proxy all metadata upstream.
	  Use the base class transform_meta to let it copy all non-colorspace dependent
	  metadata.

2012-03-02 17:34:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: always chain up to parent propose_allocation

2012-03-02 17:12:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: remove old metadata code
	  The subclass can help us better

2012-03-02 17:10:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: init VideoInfo before usage.

2012-03-02 13:04:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: add videoscale metadata transform

2012-03-02 13:03:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: update for copy data changes

2012-03-02 13:03:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: remove old caps fields

2012-03-02 12:11:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/Makefile.am:
	  playback-test: Link to libgstvideo too

2012-03-02 12:08:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  tests/examples/Makefile.am

2012-03-02 12:07:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  tests/examples/Makefile.am
	  tests/examples/playback/playback-test.c

2012-03-02 12:06:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/Makefile.am:
	  playback: Only requires GTK, not GTK-X11

2012-03-02 12:01:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: Rename everything from seek to playback-test internally too

2012-03-02 11:58:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/playback/Makefile.am:
	* tests/examples/playback/playback-test.c:
	  playback: Rename file from seek.c to playback-test.c

2012-03-02 11:57:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/playback/Makefile.am:
	* tests/examples/playback/seek.c:
	* tests/examples/seek/Makefile.am:
	  examples: Move seek example into its own directory

2012-03-02 11:01:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: move negotiation code around
	  Move the format negotiation to the bufferpool negotiation.

2012-03-02 10:37:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: move some code
	  The parsing of the headers consists of negotiating the format and then setting
	  up the decoder so split this in two parts.

2012-03-02 10:25:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: use the right GstVideoInfo
	  Keep track if we use the cropped or uncropped dimensions in the bufferpool and
	  map using the right GstVideoInfo.

2012-03-02 11:31:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	  playback: Link to libgstinterfaces too for the navigation interface

2012-03-02 11:15:02 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplay-marshal.list:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	  gst: Update for gstmarshal.[ch] removal

2012-03-02 10:13:52 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11

2012-03-02 10:00:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsamixer.h:
	* gst/volume/gstvolume.c:
	* sys/xvimage/xvimagesink.c:
	  mixer/colorbalance: Update for API changes

2012-03-02 10:00:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  NEWS
	  RELEASE
	  configure.ac
	  docs/plugins/gst-plugins-base-plugins.args
	  docs/plugins/gst-plugins-base-plugins.hierarchy
	  docs/plugins/gst-plugins-base-plugins.interfaces
	  docs/plugins/inspect/plugin-adder.xml
	  docs/plugins/inspect/plugin-alsa.xml
	  docs/plugins/inspect/plugin-app.xml
	  docs/plugins/inspect/plugin-audioconvert.xml
	  docs/plugins/inspect/plugin-audiorate.xml
	  docs/plugins/inspect/plugin-audioresample.xml
	  docs/plugins/inspect/plugin-audiotestsrc.xml
	  docs/plugins/inspect/plugin-cdparanoia.xml
	  docs/plugins/inspect/plugin-encoding.xml
	  docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	  docs/plugins/inspect/plugin-gdp.xml
	  docs/plugins/inspect/plugin-gio.xml
	  docs/plugins/inspect/plugin-gnomevfs.xml
	  docs/plugins/inspect/plugin-libvisual.xml
	  docs/plugins/inspect/plugin-ogg.xml
	  docs/plugins/inspect/plugin-pango.xml
	  docs/plugins/inspect/plugin-playback.xml
	  docs/plugins/inspect/plugin-subparse.xml
	  docs/plugins/inspect/plugin-tcp.xml
	  docs/plugins/inspect/plugin-theora.xml
	  docs/plugins/inspect/plugin-typefindfunctions.xml
	  docs/plugins/inspect/plugin-uridecodebin.xml
	  docs/plugins/inspect/plugin-videorate.xml
	  docs/plugins/inspect/plugin-videoscale.xml
	  docs/plugins/inspect/plugin-videotestsrc.xml
	  docs/plugins/inspect/plugin-volume.xml
	  docs/plugins/inspect/plugin-vorbis.xml
	  docs/plugins/inspect/plugin-ximagesink.xml
	  docs/plugins/inspect/plugin-xvimagesink.xml
	  gst-libs/gst/app/gstappsink.c
	  gst-libs/gst/audio/mixer.c
	  gst-libs/gst/audio/mixer.h
	  gst-libs/gst/tag/gstxmptag.c
	  gst-libs/gst/video/colorbalance.c
	  gst-libs/gst/video/colorbalance.h
	  gst/adder/gstadder.c
	  gst/playback/gstplaybasebin.c
	  gst/playback/gstplaybin2.c
	  gst/playback/gstplaysink.c
	  gst/videoscale/gstvideoscale.c
	  tests/check/elements/videoscale.c
	  tests/examples/seek/seek.c
	  tests/examples/v4l/probe.c
	  win32/common/_stdint.h
	  win32/common/audio-enumtypes.c
	  win32/common/config.h

2012-03-01 17:36:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: proxy allocation meta when we can
	  Proxy all the metadata APIs in the allocation query.
	  Remove all metadata that is dependent on the colorspace, copy others.

2012-03-01 17:34:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: fix for decide_allocation changes
	  Chain up to parent.

2012-03-01 17:29:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theora: fix bufferpool negotiation
	  Store the uncropped frame dimensions in the videoinfo.
	  Always set the caps with the dimension of the cropped output.
	  Don't negotiate the bufferpool multiple times.
	  Remove the old crop feature, we always crop now.

2012-03-01 13:24:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add support for setting a subtitle URI

2012-03-01 12:52:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add support for changing the remaining playbin2 properties
	  Including video/audio/text sinks.

2012-03-01 10:45:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add advanced seek ability
	  This allows to seek to a specific value in a specific format and
	  also lists the current position and duration in a specific format.

2012-03-01 09:46:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Some more variable moving

2012-02-24 13:54:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Move seek flags/settings into its own expander

2012-02-29 21:54:49 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: drop newsegment events on sink-pads
	  Adder is sending an own newsegment event on the src pad.

2012-02-29 21:39:44 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  test: improve adder test on event handling
	  Use new consitency checker api to test event handling in more detail.

2012-02-29 17:25:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	  update for metadata API changes

2012-02-27 11:57:55 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: sink event handling fix
	  Turn _sink_event() into the collectpads event function and merge the logic from
	  the recently added gst_adder_event. Drop flush_start events as we allready
	  handle them on the src-pad side. Fixes #670850.

2012-02-28 16:49:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  add more debug about cropping

2012-02-28 16:18:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	  meta: add return value to transform

2012-02-28 16:16:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: fix some comments

2012-02-28 11:38:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  update for metadata tags

2012-02-27 15:06:36 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: link against libm
	  It is used in gststreamvolume.

2012-02-27 14:28:15 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/alsa/gstalsadeviceprobe.c:
	* ext/theora/gsttheoraparse.c:
	* gst-libs/gst/audio/mixerutils.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gsturidecodebin.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/alsa.c:
	* tests/check/elements/playbin.c:
	* tests/examples/v4l/probe.c:
	* tests/icles/test-colorkey.c:
	  Suppress deprecation warnings in selected files, for g_value_array_* mostly

2012-02-27 13:13:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  audioencoders: chain up to parent event handler

2012-02-27 13:08:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: don't leak event

2012-02-27 12:52:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: improve fixation

2012-02-27 12:51:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: chain up to parent event function

2012-02-27 12:49:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: use default event function
	  Implement a default event function so that subclasses can call it without having
	  to return FALSE (and make it impossible to report errors).

2012-02-27 09:58:18 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: include event name in log message

2012-02-26 23:35:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: add some videoscale tests for new Lanczos-based method
	  Some crash. Others show invalid memory access in valgrind.

2012-02-26 18:19:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* tests/check/elements/videoscale.c:
	  videoscale: fix negotiation after addition of new formats and methods
	  Now that we no longer support all methods for all formats, we
	  need to cater for that in the transform function: we can't
	  transform formats not supported by the currently-selected
	  mehod.
	  make check, folks. It's da bomb.

2012-02-26 17:46:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: fix videoscale test for new methods
	  Not all scaling methods are supported for all formats, so
	  can't just iterate over the template caps.

2012-02-26 20:36:46 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultisocketsink.c:
	  Fix compiler warnings

2012-02-26 20:32:05 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix compiler warning

2012-02-25 15:21:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: implement SEEKING query
	  We don't support seeking (in the sense that upstream can
	  make us jump back and forth to certain offsets in the
	  output).

2012-02-25 13:01:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/.gitignore:
	  tests: add multisocketsink test binary to .gitignore

2012-02-25 01:04:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: fix capsfilter-renegotiation test
	  videotestsrc has no peer-alloc property any longer, and
	  renegotiation should work regardless in 0.11.

2012-02-25 00:49:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/multisocketsink.c:
	  tests: fix multisocketsink unit test
	  Activate pad properly before using it.

2012-02-25 00:39:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/install-plugins.c:
	  pbutils: fix gst_install_plugins_{sync,async} g-i annotations
	  the gir scanner doesn't use a sensible defaults for string array
	  arguments, so we have to annotate it properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668343

2012-02-24 21:37:00 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/mixer.h:
	  interfaces: fix ABI class padding after the recent changes

2012-02-24 12:09:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Let the XOverlay element handle events
	  Need for proper resizing.

2012-02-24 12:03:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Use the same adjustment for the color balance scales as for the seek scale

2012-02-24 12:00:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Change the volume/mute widgets from the main thread
	  And also connect to notify::mute to get notified about mute changes.

2012-02-24 11:44:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Refactor and cleanup seek example application

2012-02-24 11:03:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	  update for basetransform change

2012-02-24 10:26:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  update for metadata changes

2012-02-23 16:55:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  video: fix docs

2012-02-23 16:28:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/video.c:
	  video: Improve video frame map/unmap
	  Install defaul map/unmap function on the metadata and really call the functions
	  instead of always calling a default implementation.
	  Rework some bits so that we don't have to mess with the GstMapInfo information
	  (adding the offset), instead pass the adjusted data pointer from the map function.

2012-02-23 16:16:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.h:
	  videopool: fix docs

2012-02-23 14:46:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Fix mistake in last commit

2012-02-23 13:41:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use g_signal_handlers_block_by_func()/unblock_by_func() instead of disconnecting and reconnecting

2012-02-23 13:39:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: The volume property signals are proxied in playbin2 since some time already

2012-02-23 13:31:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Use colorbalance of playbin2 directly

2012-02-23 13:27:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Proxy colorbalance interface

2012-02-23 13:19:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Proxy colorbalance interface

2012-02-23 12:06:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* NEWS:
	* RELEASE:
	  Update NEWS and RELEASE as well

2012-02-23 11:04:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	  Bump version after release

2012-02-23 11:59:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Directly use navigation interface on playbin2

2012-02-23 11:56:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Proxy navigation interface

2012-02-23 11:54:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Proxy navigation interface

2012-02-23 11:43:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Directly use the XOverlay interface on playbin2

2012-02-23 11:42:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Proxy the XOverlay interface

2012-02-23 11:33:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Proxy the XOverlay interface

2012-02-23 11:10:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: remove transform lock
	  In this particular case it was not sufficient anyways because the setcaps
	  function didn't take the transform lock.

2012-02-23 11:05:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Force the aspect ratio if the sink has such a property

2012-02-22 21:22:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: fix compilation on big-endian
	  Update to new gst_buffer_map() API

2012-02-22 15:52:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Make navigation/colorbalance settings work with non-playbin2 pipelines too

2012-02-22 15:43:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add checkboxes for the remaining playbin2 flags and refactor code a bit

2012-02-22 15:31:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: improve fixation
	  Use the fixed upstream caps to fixate the output caps by taking the
	  intersection.

2012-02-22 15:27:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: improve propose_allocation
	  When we are in passthrough, call the parent implementation. Otherwise we have to
	  suggest allocation parameters ourselves.

2012-02-22 15:25:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x[v]imagesink: remove size check
	  We can't to a size check like that, the strides might be different and the copy
	  will then take care of that just fine.

2012-02-22 15:01:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Only show colorbalance expander for playbin2 pipelines

2012-02-22 14:58:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add UI for setting the colorbalance interface properties on playbin2

2012-02-22 14:53:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Only use the sink's colorbalance interface if it supports at least brightness/contrast/hue/saturation

2012-02-22 14:12:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkvideoconvert.c:
	  playsinkvideoconvert: Fix element name

2012-02-22 12:27:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	  update for new fixate_caps function

2012-02-22 12:17:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Give a fixed name "playsink" to the internal playsink element

2012-02-22 12:07:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Only really use software volume if requested

2012-02-22 11:56:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: Add a software color-balance element before the sink if the sink doesn't support changing the color-balance

2012-02-22 09:32:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix YV12 chroma plane confusion
	  GST_VIDEO_FRAME_PLANE_DATA() returns the data for the n-th plane,
	  not the n-th component. In this case, the chroma planes are swapped.

2012-02-22 10:19:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	  mixer: Add ::get_mixer_type() vfunc and deprecate interface struct value

2012-02-22 10:15:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/colorbalance.h:
	  colorbalance: Add ::get_balance_type() vfunc and deprecated value inside the interface struct
	  Values in class/interface structs are not supported by most bindings.

2012-02-22 10:09:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/navigation.h:
	  navigation: Fix copy&paste error in documentation

2012-02-22 09:50:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Implement GstStreamVolume interface

2012-02-22 02:05:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst/gdp/gstgdppay.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/subparse.c:
	* tests/check/gst/typefindfunctions.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/tag.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  update for new memory api

2012-02-21 16:51:35 -0800  David Schleef <ds@schleef.org>

	* autogen.sh:
	  autogen: workaround for gettext/automake with git
	  Fixes: #669207.

2012-02-21 16:43:59 +0100  Vincent Untz <vuntz@gnome.org>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Fix a build warning when compiling with asserts disabled
	  Return a value even if the code will never be reached, to make compilers
	  happy.
	  https://bugzilla.gnome.org/show_bug.cgi?id=670548

2012-02-21 10:06:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/colorspace/colorspace.c

2012-02-21 10:06:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/colorspace/colorspace.c

2012-02-21 10:05:20 +0100  David Schleef <ds@schleef.org>

	* gst/videoconvert/videoconvert.c:
	  colorspace: Fix v210 writing out of bounds
	  Port from 0.10 branch in -bad

2012-02-21 10:01:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  tests/examples/seek/seek.c

2012-02-20 20:39:59 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/seek/seek.c:
	  seek: fix format strings

2012-02-20 17:44:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix connection

2012-02-20 16:44:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add support for sending navigation commands

2012-02-20 16:10:22 +0100  David Schleef <ds@schleef.org>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: clamp intermediates when dithering
	  Port from the colorspace plugin in -bad.

2012-02-20 16:07:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/opus/gstopusparse.c
	  gst/colorspace/colorspace.c

2012-02-20 16:07:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/opus/gstopusparse.c
	  gst/colorspace/colorspace.c

2012-02-20 15:29:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Make the seek-bar insensitive for DVD menus

2012-02-20 15:17:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: find raw caps correctly

2012-02-20 14:57:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add support for the navigation interface

2012-02-20 14:57:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Keep a reference to the xoverlay element

2012-02-20 14:35:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add window-embedding support for OS X/Quartz
	  osxvideosink implements the GstXOverlay interface since some time now.

2012-02-20 14:09:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Explicitely call gst_x_overlay_expose() from the GtkDrawingArea expose/draw signal

2012-02-20 12:36:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: try to preserver colorimetry and chroma-site
	  Try to preserve the original chroma-site and colorimetry when nothing else was
	  negotiated.

2012-02-19 00:03:03 -0800  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_lanczos.c:
	  videoscale: fix AYUV64 scaling

2012-02-18 17:37:29 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add v210, r210 formats

2012-02-17 23:59:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/_stdint.h:
	* win32/common/config.h:
	  win32: back to development

2012-02-17 23:46:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/rtsp/gstrtspconnection.c
	  win32/common/libgstaudio.def

2012-02-17 19:15:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/multifdsink.c:
	  tests: activate pad in multifdsink test before pushing on it

2012-02-17 15:08:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* win32/common/libgstaudio.def:
	  docs: add new audio base class API to docs and .def file

2012-01-30 15:55:26 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: only send new data immediately if there are no queued messages
	  Even if watch->messages->length is 0 there may still be some
	  data from a message that was only written partially at the
	  previous attempt stored in watch->write_data, so check for
	  that as well. We don't want to write data into the middle
	  of another message, which could happen when there wasn't
	  enough bandwidth.
	  https://bugzilla.gnome.org/show_bug.cgi?id=669039

2012-02-17 14:37:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/subparse/gstssaparse.c:
	  ssaparse: set caps on srcpad

2012-02-17 14:37:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitle: avoid deadlock

2012-02-17 11:04:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  back to development

=== release 0.11.2 ===

2012-02-17 11:03:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* 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/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/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/interfaces-enumtypes.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  RELEASE 0.11.2

2012-02-17 10:06:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  defs: update

2012-02-17 09:01:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-17 09:01:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-16 14:33:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/mpegtsdemux/mpegtspacketizer.c
	  gst/mpegtsdemux/tsdemux.c
	  gst/mve/gstmvedemux.c

2012-02-16 14:33:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/mpegtsdemux/mpegtspacketizer.c
	  gst/mpegtsdemux/tsdemux.c
	  gst/mve/gstmvedemux.c

2012-02-16 14:23:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst-libs/gst/pbutils/gstdiscoverer.c

2012-02-16 12:19:20 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: add some properties to tweak baseclass behaviour
	  ... so subclass can also rely upon never being bothered with some NULL buffer
	  it can't do any interesting with, or with any data before it received
	  any format configuration (and setup properly).

2012-02-16 12:18:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: add some properties to tweak baseclass behaviour
	  ... so subclass can also rely upon never being bothered with less data
	  than it desires or with some NULL buffer it can't do any interesting with.

2012-02-16 12:15:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: assert some more that subclass parsed frame has proper len

2012-02-15 17:14:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-15 17:14:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-15 13:42:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: chain up to parent for defaults
	  Chain up to the parent instead of using the FALSE return value from
	  the event function (because it's otherwise impossible to return an error).

2012-02-15 13:32:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: remove old code

2012-01-17 10:54:48 +0100  Olivier Aubert <olivier.aubert@liris.cnrs.fr>

	* gst/playback/gstplaybin2.c:
	  docs: fix playbin2 documentation about DVD URIs
	  and playbin => playbin2 in example pipelines.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668081

2012-02-15 13:03:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: call default event handler
	  Call the default event handler for unknown events.

2012-02-15 12:29:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: refactor the tag find function
	  Move the code to find the tags and to typefind the data into a separate
	  function. Call this function from the loop function.

2012-02-15 10:12:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: don't to data processing in state change
	  Start a task to perform the pulling and typefind of the tags.

2012-02-14 19:23:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: try harder to obtain a duration if we don't get one right away
	  If we don't get a duration right away, set the pipeline to playing
	  and sleep a bit, then try again. This is ugly, but the least worst
	  we can do right now. The alternative would be to make parsers etc.
	  return some bogus duration estimate even after only having pushed
	  a single frame, for example.
	  Fixes discoverer showing 0 durations for some mp3 and aac files
	  (e.g. soweto-adts.aac).

2012-02-14 13:25:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: fix src query handler
	  We don't want to blindly forward all queries.

2012-02-14 11:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-14 11:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2012-02-14 10:50:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/decodebin.c:
	  tests: fix after baseparse api change

2012-01-26 12:31:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: log why an overlay element cannot be used

2012-01-25 16:02:04 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix old style raw A/V caps
	  They're now {audio,video}/x-raw, not {audio,video}/x-raw-*
	  https://bugzilla.gnome.org/show_bug.cgi?id=668682

2012-01-25 15:57:02 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix probing of raw video caps
	  They're now video/x-raw, not video/x-raw-* anymore.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668682

2012-01-25 14:38:19 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: add a couple drive by const
	  https://bugzilla.gnome.org/show_bug.cgi?id=668682

2012-02-13 17:07:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: adjust for memory api change

2012-02-13 15:17:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: port to new memory api

2012-02-13 16:03:15 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add new file to spec file

2012-02-13 16:03:03 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst/tcp/Makefile.am:
	  Add missing header file to build file

2012-02-12 22:28:31 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  fix up tests

2012-02-12 22:04:02 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* configure.ac:
	* gst/tcp/Makefile.am:
	* gst/tcp/gsttcpplugin.c:
	  multifdsink: depends on sys/socket.h

2012-01-28 18:07:46 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcpserversink.c:
	  multihandlesink: finish refactor

2012-01-28 18:06:02 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandle: rename num-fds/-sockets to num-handles

2012-01-28 11:02:21 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multihandlesink: rework to use Handle

2012-01-28 09:29:55 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  tests multihandle: verify number of handles

2012-01-27 21:28:05 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcpserversink.c:
	  multihandlesink: introduce Handle union

2012-01-27 18:44:04 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandlesink: rework to use GST_TYPE_FORMAT

2012-01-27 18:40:30 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* tests/check/elements/multisocketsink.c:
	  multisocketsink: fix tests by setting units properly

2012-01-27 18:33:56 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* tests/check/elements/multifdsink.c:
	  test: use more literal enums

2012-01-27 15:46:31 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandlesink: further refactoring

2012-01-27 12:58:12 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultisocketsink.c:
	* tests/check/elements/multisocketsink.c:
	  multisocketsink: fix refcounting bug

2012-01-26 23:19:33 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcpserversink.c:
	  multihandlesink: further refactoring

2012-01-26 19:34:47 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandlesink: fix one bug in multisocketsink refactoring

2012-01-26 10:49:37 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multihandlesink: first stab at common base class

2012-01-26 10:41:22 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcp-marshal.list:
	* gst/tcp/gsttcpplugin.c:
	* tests/check/elements/multifdsink.c:
	  gst/tcp: Factor out common symbols; fix tests.

2012-01-26 10:08:47 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* tests/check/Makefile.am:
	* tests/check/elements/multifdsink.c:
	  multifdsink: put back multifdsink before refactoring

2012-01-26 12:30:21 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* tests/check/Makefile.am:
	* tests/check/elements/multisocketsink.c:
	  multisocketsink: copy over multifdsink unit tests, with FIXME

2012-02-12 16:54:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	  tag: make GstTagMux base class a bit more functional
	  We can't use G_DEFINE_*TYPE here because we need the klass in the _init
	  method to get to the padtemplates. Fixes 'GstTagDemux subclass GstTagDemux
	  did not set up a {sink,src} pad template' warnings.

2012-02-10 16:46:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/chromaprint/gstchromaprint.c
	  ext/mpeg2enc/Makefile.am
	  ext/voaacenc/gstvoaacenc.c
	  gst/dvbsuboverlay/gstdvbsuboverlay.c
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/sdp/gstsdpdemux.c
	  gst/videoparsers/gsth264parse.c
	  sys/d3dvideosink/d3dvideosink.c
	  tests/examples/camerabin/gst-camera-perf.c
	  tests/examples/camerabin/gst-camerabin-test.c
	  tests/examples/camerabin2/gst-camerabin2-test.c
	  tests/examples/mxf/mxfdemux-structure.c
	  tests/examples/scaletempo/demo-main.c

2012-02-10 16:46:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/chromaprint/gstchromaprint.c
	  ext/mpeg2enc/Makefile.am
	  ext/voaacenc/gstvoaacenc.c
	  gst/dvbsuboverlay/gstdvbsuboverlay.c
	  gst/mpegtsdemux/mpegtsbase.c
	  gst/sdp/gstsdpdemux.c
	  gst/videoparsers/gsth264parse.c
	  sys/d3dvideosink/d3dvideosink.c
	  tests/examples/camerabin/gst-camera-perf.c
	  tests/examples/camerabin/gst-camerabin-test.c
	  tests/examples/camerabin2/gst-camerabin2-test.c
	  tests/examples/mxf/mxfdemux-structure.c
	  tests/examples/scaletempo/demo-main.c

2012-02-10 15:41:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: don't run with unsupported formats
	  videoconvert does not work with GRAY formats yet so don't try to run the unit
	  test with it.

2012-02-10 15:41:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: improve error reporting

2012-02-10 15:41:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/vorbis/gstvorbisparse.c
	  gst-libs/gst/video/video.c
	  gst/videoscale/gstvideoscale.c
	  sys/v4l/gstv4lxoverlay.c
	  sys/v4l/v4l_calls.c
	  sys/v4l/v4lsrc_calls.c
	  tests/check/libs/video.c

2012-02-08 19:39:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: make h264 typefinder more picky when returning "likely" probability
	  Only return LIKELY probability if we've seen an SPS, PPS and an
	  IDR slice nal, i.e. try harder to avoid false positives such
	  as with certain VC-1 files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668565

2012-02-09 16:03:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: add performance log for frame copy

2012-02-09 16:00:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: avoid using _CATEGORY_GET

2012-02-09 15:51:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix merge error
	  Fix merge error from commit fb6d09055ae90979682fa4b1c6ee4f4abdaafd8f

2012-02-09 15:28:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	  debug: add some performance debug

2012-02-08 19:34:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: minor cosmetic change
	  Don't write < 1 when we mean == 0.

2012-02-08 15:17:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst/gio/gstgio.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	  GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING

2012-02-07 23:42:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: make g-ir-scanner include Gio-2.0 to suppress complaints about GSocket etc.

2012-02-06 22:09:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: remove stray obsolete declaration

2012-02-06 22:09:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: correctly fill in fallback channel positions in stereo case

2012-02-06 18:33:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: mark endianness correctly

2012-02-06 16:08:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: use right info structure for setup

2012-02-06 15:51:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: push event in the right direction
	  Push the stored events in the right direction

2012-02-06 13:49:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: fix up define that tells code where to find the license translations too
	  Tell code about new location of translation dict.

2012-02-06 13:22:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiofilter.h:
	  audiofilter: configure info after calling vmethod
	  First call the vmethod and then configure the audioinfo in the baseclass. This
	  allows subclasses to know about the old format.

2012-02-06 09:45:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  def: update

2012-02-06 09:44:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* m4/Makefile.am:
	  fix for removed file

2012-02-03 17:10:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: take care of in_place transform
	  If the subclass doesn't implement a transform_frame function we need to force
	  the baseclass into in_place transform.

2012-02-06 11:44:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: Install license translations into $(pkgdatadir)/0.11
	  This prevents file conflicts with GStreamer 0.10.

2012-02-06 10:52:01 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add GST_VIDEO_INFO_COMP_BITS

2012-02-06 09:53:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: Add GST_VIDEO_INFO_COMP_WIDTH

2012-02-05 10:56:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theoraenc: remove obsolete properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=669328

2012-01-30 08:21:54 -0800  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	  videoscale: Add nearest/linear scaling for NV12

2012-01-25 15:49:00 -0800  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	  videoscale: Add AYUV64 path to Lanczos

2011-08-30 19:02:51 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Use GAP flag when possible
	  Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
	  indicate to the encoder that the current frame is a duplicate
	  of the previous frame.

2012-02-03 15:01:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/volume.c:
	  tests: fix volume test

2012-02-03 12:53:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videotestsrc.c:
	  tests: video testsrc unit test

2012-02-03 12:41:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videorate.c:
	* tests/check/elements/videoscale.c:
	  tests: fix more unit tests

2012-02-03 12:09:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/textoverlay.c:
	  tests: don't set NULL caps

2012-02-03 11:38:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	  gdp: fixup unit tests

2012-02-03 11:38:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/gstgdppay.c:
	  gdppay: fixup for changed caps
	  Try to send the streamheader after the first buffer.

2012-02-03 11:37:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  dataprotocol: don't define default Category
	  Since we now include this into the unit tests directly, don't define the default
	  category macro because it conflicts with check.

2012-02-03 10:47:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  tests: fix audioresample test

2012-02-03 09:57:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	  tests: fix audiorate test
	  We need to add the layout to the audio caps.

2012-02-03 09:56:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: use default event handler
	  Use the default event handler for unknown events.

2012-02-03 09:48:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: don't unref caps parameter
	  Fix refcounting on incomming caps to make sure we don't unref it too much.

2012-02-03 00:50:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/opus/Makefile.am:
	  build: fix CFLAGS order and LIBS order
	  _BAD_CFLAGS should always come first, then GST_PLUGINS_BASE_CFLAGS,
	  then GST_BASE_CFLAGS then GST_CFLAGS. Same for libs: first plugins
	  base libs, then GST_BASE_LIB then GST_LIBS.

2012-01-07 23:09:23 -0500  Ryan Lortie <desrt@desrt.ca>

	* autogen.sh:
	  autogen.sh: allow calling from out-of-tree
	  https://bugzilla.gnome.org/show_bug.cgi?id=667665

2012-02-02 16:10:45 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update spec file

2012-02-01 15:28:45 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: fix granpos interpolation violating max keyframe distance
	  In case many packets fit on a page, we may not see a granpos for
	  a while, and granpos interpolation can wrap the 'frames since last
	  keyframe' part of the granpos, generating a granpos which is smaller
	  than what it should be.
	  This is fixed by detecting keyframe packets (at least for Theora),
	  and updating the last keyframe granpos from this.
	  This may still be generating potentially wrong granpos for streams
	  which have a Theora like granpos (keyframes, a max keyframe distance
	  and a count of frames since last keyframe), and which allow implicit
	  granules on packets. For these streams, a custom keyframe detection
	  routine should be plugged into their GstOggStream mapper.
	  https://bugzilla.gnome.org/show_bug.cgi?id=669164

2012-02-02 12:14:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: call the right default query handler
	  We need to call the default query handler of the proxy pad because only that one
	  will forward the query to the target pad in case of the allocation query.

2012-02-02 01:35:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions, subparse: fix for gst_type_find_register() API change

2012-02-01 19:26:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: mark GError argument of "discovered" signal with STATIC_SCOPE
	  So the error is passed to the callback as is without a copy being made.

2012-02-01 16:46:13 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: pedantically recognize undefined headers too

2012-02-01 16:32:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: fix header detection
	  It was matching non header packets.
	  This fixes various leaks, where buffers would be pushed onto a headers
	  list, but never popped.
	  Might also fix corruption as those buffers were dropped from the output
	  silently...
	  https://bugzilla.gnome.org/show_bug.cgi?id=669167

2012-01-29 00:21:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: suppress GValueArray deprecation warnings for the time being
	  until this gets sorted out and we have a viable alternative.
	  https://bugzilla.gnome.org/show_bug.cgi?id=667228

2012-02-01 16:33:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: gst_pad_get_pad_template_caps() now returns a new reference, don't forget to unref

2012-02-01 16:32:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{enc,dec}oder: Check if srcpad caps are a subset of the template caps

2012-02-01 16:04:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	  vorbis: Use new audio encoder/decoder base class API for srcpad caps

2012-02-01 16:00:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add gst_audio_encoder_set_output_format() function for consistency

2012-02-01 15:59:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Rename set_outcaps() to set_output_format() and take a GstAudioInfo as parameter

2012-01-31 17:56:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  tests: fix audioresample formats

2012-01-31 17:47:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	  tests: improve tests

2012-01-31 16:56:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	  tests: fix some more tests

2012-01-31 16:12:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/volume.c:
	  tests: update after controller changes

2012-01-31 16:12:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  defs: update for new API

2012-01-31 12:28:30 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: adapt to control-source type changes

2012-01-30 21:37:58 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: rename control-bindings
	  gst_control_binding_xxx -> gst_xxx_control_binding for consistency.

2012-01-30 20:58:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't blindly forward all unknown events
	  It causes the caps event to be send downstream and cause negotiation failures.

2012-01-30 17:16:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst/gdp/dataprotocol.c:
	* gst/gdp/gstgdppay.c:
	* gst/tcp/gstmultisocketsink.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/pipelines/oggmux.c:
	* tests/check/pipelines/streamheader.c:
	  update for HEADER flag changes

2012-01-10 21:17:58 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* tests/check/libs/video.c:
	  tests: test 16-bit rgb formats in test_parse_caps_rgb
	  https://bugzilla.gnome.org/show_bug.cgi?id=667681

2012-01-10 21:02:48 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/video/video.c:
	  video: Use host endianness when generating caps for 16-bit rgb formats
	  This is necessary in order to match what the caps strings in
	  video.h contain for 16-bit rgb formats and also to match how
	  gst_video_format_parse_caps expects them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=667681

2012-01-30 13:06:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	  videopool: update for allocator api update

2012-01-26 10:35:51 +0100  Jonathan Matthew <jonathan@d14n.org>

	* tests/icles/playback/test7.c:
	* tests/icles/playbin-text.c:
	* tests/icles/position-formats.c:
	* tests/icles/stress-playbin.c:
	  tests: use playbin, not playbin2

2012-01-28 14:53:21 +0000  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst/adder/gstadder.c:
	  Use macros to register boxed types thread safely

2012-01-27 17:52:49 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Set the map.size to the current size of the RTCP packet
	  maxsize is the maximum size

2012-01-27 12:55:45 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtpcbuffer: To write inside a RTCP buffer, you must be able to read
	  So always require read

2012-01-26 18:24:44 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: Return errors if the map mode doesn't match the actions

2012-01-26 18:24:20 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: Don't try to modify read-only buffers

2012-01-27 18:25:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: wait on the right cond variable
	  This broke with a merge commit

2012-01-27 17:55:34 +0100  Jason DeRose <jderose@novacut.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Use the number of samples for the in and out properties as documented

2012-01-27 17:10:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Properly generate the channel-mask on the sinkpad caps

2012-01-27 13:52:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/v4l/gstv4lxoverlay.c:
	* sys/v4l/v4l_calls.c:
	* sys/v4l/v4lsrc_calls.c:
	  v4l: include the glib compatiblity header for the deprecated mutex API

2012-01-27 14:49:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusenc.c:
	  plenty: fixup glib deprecations

2012-01-27 15:12:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/adder/gstadder.c

2012-01-27 12:08:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbisparse.h:
	  vorbisparse: Pass correct header buffer size to libvorbis and include channels/rate in the srcpad caps

2012-01-26 19:47:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: use default event handler for delayed events

2012-01-26 15:25:18 +0100  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/tcp/gsttcpserversink.c:
	  tcpserversink: remove unused include

2012-01-26 14:28:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: merge instead of appending structures

2012-01-26 11:02:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Add width/height/framerate to the srcpad caps

2012-01-26 11:01:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Add samplerate and channels to the srcpad caps

2012-01-26 10:27:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: Update for new collectpads2 event handling API

2012-01-25 18:24:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Fix encoding of non-mod-16 widths/heights
	  The next higher multiple of 16 has to be passed
	  in the input buffers but Theora does never read
	  beyond the configured picture size.

2012-01-25 16:42:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraparse.c:
	  theoraparse: Remove the synchronization points property
	  Is someone really using it? In that case it has to be
	  changed from a GValueArray property to something else.

2012-01-25 14:31:34 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect-build.stamp:
	* docs/plugins/inspect.stamp:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs/plugins: update docs, add multisocketsink

2012-01-25 15:02:09 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: Remove deprecation disabling
	  It's actually fixed in 0.11

2012-01-25 12:50:44 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/adder/gstadder.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/audio/volume.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	  Suppress deprecations in selected files

2012-01-25 13:46:35 +0100  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* common:
	  Automatic update of common submodule
	  From c463bc0 to 7fda524

2012-01-25 13:22:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  ext/kate/gstkateenc.c
	  gst/colorspace/colorspace.c
	  gst/mpegvideoparse/mpegvideoparse.c

2012-01-25 13:22:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  ext/kate/gstkateenc.c
	  gst/colorspace/colorspace.c
	  gst/mpegvideoparse/mpegvideoparse.c

2012-01-25 12:50:44 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/adder/gstadder.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/audio/volume.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	  Suppress deprecations in selected files

2012-01-24 17:44:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: factor memory freeing

2012-01-24 17:42:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: fix parsing by not misusing non time segments
	  A simple filesrc ! subparse ! fakesink type pipeline now works again.

2012-01-25 12:27:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitle: fix merge

2012-01-24 14:37:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtp: improve structures
	  Remove flags that is in the mapinfo now

2012-01-20 16:11:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/tags.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/gdp/dataprotocol.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesrc.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/volume/gstvolume.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/gst/typefindfunctions.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/audiocdsrc.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/video.c:
	* tests/check/libs/xmpwriter.c:
	* tests/check/pipelines/streamheader.c:
	* tests/examples/app/appsrc_ex.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/playbin-text.c:
	  port to new map API

2012-01-25 12:29:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/playback/gstdecodebin2.c

2012-01-25 12:25:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: Prune old groups before switching to the new one"
	  This reverts commit e2a038acee2969ed0b558093fa1c8b7422073e40.
	  This wasn't entirely correct yet and needs some changes here
	  and there.

2012-01-25 12:03:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Fix merge error

2012-01-25 11:04:43 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Port to group-less GstBufferList

2012-01-25 11:50:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/interfaces/propertyprobe.c
	  sys/xvimage/xvimagesink.c

2012-01-25 11:37:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 2a59016 to c463bc0

2012-01-23 09:28:18 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/interfaces/propertyprobe.c:
	  propertyprobe: fix documentation

2012-01-23 11:57:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/audio-trickplay.c:
	  tests: fix missing include in audio-trickplay

2012-01-18 14:58:08 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: do not try to deactivate an inactive group
	  A group may have failed to activate due to an error (for instance,
	  having set the URI to a non existent location in about-to-finish).
	  https://bugzilla.gnome.org/show_bug.cgi?id=666395

2012-01-21 20:06:53 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: move from control-binding to control-binding-direct

2012-01-22 22:52:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  Replace deprecated GStaticMutex with GMutex

2012-01-22 01:47:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: use G_TYPE_ERROR instead of GST_TYPE_G_ERROR

2012-01-17 16:05:41 +0200  Anssi Hannula <anssi.hannula@iki.fi>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix state change stall on PAUSED->READY->PAUSED
	  After a PAUSED->READY change the sink pads are currently not set to
	  blocking state. When the element is set back to PAUSED, the change will
	  be done asynchronously, but as the _pad_blocked_cb() callback is now not
	  called, the state change never completes.
	  Fix that by setting the sink pads to blocking state on a PAUSED->READY
	  change, which ensures that the _pad_blocked_cb() is called when needed
	  on any future READY->PAUSED change. The sink pads are already put to
	  blocking state on NULL->READY change, so this behavior is consistent.
	  Fixes bug #668097.

2012-01-20 14:44:19 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: adapt to control_binding changes

2012-01-20 08:29:02 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: adapt to controller api changes
	  Don't use the convenience api for control sources.

2012-01-19 16:40:22 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: avoid unlikely NULL dereference

2012-01-19 16:35:54 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videoscale/vs_fill_borders.c:
	  videoscale: prevent implicit upgrade to integer type and sign extension

2012-01-19 16:35:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: remove extraneous variable

2012-01-19 16:32:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: verify linking to overlay element

2012-01-19 16:32:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: avoid finding sink in NULL bin in corner case

2012-01-19 16:29:53 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: add missing break

2012-01-19 15:32:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/appsink.c:
	* tests/check/libs/rtp.c:
	* tests/check/pipelines/streamheader.c:
	  tests: fix some tests

2012-01-19 15:19:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcp: handle size update correctly
	  Do explicit resize to set the size of a buffer instead of setting a value in
	  unmap.

2012-01-19 15:18:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: handle NULL caps correctly

2012-01-19 14:07:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  Add --disable-fatal-warnings configure option

2012-01-19 09:17:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/video.c:
	  Update for memory API changes

2012-01-19 09:48:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixer.h:
	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst/adder/gstadder.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  port to new glib thread API

2012-01-17 18:13:43 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* docs/design/part-interlaced-video.txt:
	  docs: interlaced video: Update docs

2012-01-19 09:17:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: work around compiler warnings

2011-09-13 23:14:10 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Prune old groups before switching to the new one
	  In order to allow for proper functionality when a decoder only supports
	  one instance at a time (dsp), we must block the demuxer pads when they
	  get created if they are not part of the active group, preventing buffers
	  from being sent to the decoder (and initializing it through setcaps),
	  then after we switch to a new group, we unblock the demuxer pads for
	  the active groups. In the callback for the unblock, we prune the old
	  groups, making sure the previous decoder instance is destroyed before
	  we push a buffer to the new instance.

2012-01-18 17:22:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixer.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/glib-compat-private.h:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/xmpwriter.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/videorate/gstvideorate.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/examples/encoding/encoding.c:
	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/icles/stress-playbin.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	* tools/gst-discoverer.c:
	  Remove compatibility code cruft for old GLib versions

2012-01-18 17:21:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	  Add ext/gio/ to CRUFT_DIRS

2012-01-18 17:21:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombiner.h:
	* gst/encoding/gststreamsplitter.c:
	* gst/encoding/gststreamsplitter.h:
	  encoding: port to new GLib threading API

2012-01-18 17:21:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  pango: port to new GLib threading API

2012-01-18 16:55:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure.ac: Remove GIO check, it's in gst-glib2.m4 now

2012-01-18 16:46:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 0807187 to 2a59016

2012-01-18 16:19:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* ext/Makefile.am:
	* gst/gio/Makefile.am:
	* gst/gio/gstgio.c:
	* gst/gio/gstgio.h:
	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesink.h:
	* gst/gio/gstgiobasesrc.c:
	* gst/gio/gstgiobasesrc.h:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosink.h:
	* gst/gio/gstgiosrc.c:
	* gst/gio/gstgiosrc.h:
	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsink.h:
	* gst/gio/gstgiostreamsrc.c:
	* gst/gio/gstgiostreamsrc.h:
	* tests/check/Makefile.am:
	* tests/examples/Makefile.am:
	* tests/examples/gio/Makefile.am:
	  gio: Move to gst subdirectory
	  It's a plugin without external dependencies now because we
	  unconditionally depend on GIO anyway.

2012-01-18 16:15:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure.ac: Require GLib 2.31.10 and improve GIO check

2012-01-18 13:16:46 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update spec file with latest changes

2012-01-18 01:57:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/POTFILES.in:
	  po: update POTFILES.in for recent changes

2012-01-17 21:46:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: commit correct number of samples when not syncing

2012-01-17 18:19:30 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: initialize variable
	  ... to help out challenged compiler.

2012-01-17 16:55:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Remove socket/winsock and related checks, not necessary anymore

2012-01-17 16:38:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp.pc.in:
	  rtsp: Port to GIO

2012-01-17 13:27:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp.pc.in:
	  sdp: Port to GIO for multicast address detection

2012-01-17 12:21:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Fix handling of closed connections

2012-01-17 12:08:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Add support for IPv6

2012-01-17 11:52:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: register state change function

2012-01-17 11:44:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Only read as much as is currently available from the socket

2012-01-17 11:32:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Don't leak the resolver if name resolval failed

2012-01-17 11:29:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: We require GIO now

2012-01-16 11:43:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: fix high sample rates being rejected
	  An ALSA sink may select a different rate (as we use the _set_rate_near
	  API, which is not guaranteed to set the exact target rate).
	  The rest of the code seems to already handle this well, as output
	  from a 88200 Hz file seems to have the correct pitch when selecting
	  a 96 kHz rate.

2012-01-16 11:40:47 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: fix rate match message mistaking error code for sample rate

2012-01-16 11:40:16 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: log API errors along with the error code and string

2012-01-16 12:29:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: Fix possible GType namespace conflicts with the private element enums

2012-01-16 12:17:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: Re-add QoS DSCP property

2012-01-16 11:25:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* m4/gst-fionread.m4:
	* tests/check/Makefile.am:
	* tests/check/elements/multifdsink.c:
	  tcp: Remove remaining unused stuff

2012-01-16 11:01:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/Makefile.am:
	* gst/tcp/gsttcp.c:
	* gst/tcp/gsttcp.h:
	  tcp: Remove old socket helper functions

2012-01-16 10:08:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	* gst/tcp/gsttcp-marshal.list:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpplugin.c:
	* gst/tcp/gsttcpplugin.h:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversink.h:
	  tcpserversink: Port to GIO
	  And change multifdsink to GIO too and rename it to multisocketsink
	  because it only works on GSockets now, not generic fds.

2012-01-11 16:06:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpserversrc.c:
	* gst/tcp/gsttcpserversrc.h:
	  tcpserversrc: Port to GIO

2012-01-11 15:43:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsink.h:
	  tcpclientsink: Port to GIO

2012-01-11 15:09:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/Makefile.am:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpclientsrc.h:
	  tcpclientsrc: Port to GIO

2011-12-27 04:18:19 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: fix printf warning in debug message
	  https://bugzilla.gnome.org/show_bug.cgi?id=662607

2012-01-13 16:57:15 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* Android.mk:
	  Android, Add explicit path for zlib
	  This change fixes building gst-libs/gst/tag/ code with
	  the Android buildsystem.

2012-01-13 14:50:49 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* ext/vorbis/gstvorbisdec.c:
	  Fix wrong access to undefined struct member
	  For the USE_TREMOLO case, GstVorbisDec doesn't have
	  a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
	  expects a vorbis_dsp_state to be passed as first
	  argument. Not a vorbis_block.

2012-01-13 14:47:13 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* ext/vorbis/gstvorbisdec.c:
	  Fix TREMELO -> TREMOLO typo

2012-01-13 16:52:23 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix leak when images are freed after the X context
	  I'm not 100% sure this is valid on any other X server than mine,
	  but since the XFree call does not take the context as a parameter,
	  it seems pretty certain it's the right thing to do, but I'll put
	  this caveat here in case someone checks in the future.

2012-01-13 00:11:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2012-01-13 00:11:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2012-01-12 23:35:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2frames.c:
	* tests/check/libs/tag.c:
	  GST_TYPE_DATE -> G_TYPE_DATE

2012-01-12 23:25:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix up for GstTagList != GstStructure

2012-01-12 23:21:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  gst-libs/gst/pbutils/gstdiscoverer-types.c
	  gst-libs/gst/pbutils/gstdiscoverer.c
	  tests/check/Makefile.am

2012-01-12 17:31:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: discoverer test is now valgrind clean

2012-01-12 16:24:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraparse.c:
	  theoraparse: fix array leak

2012-01-12 14:26:05 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix structure leak
	  I hit the 'misc' one, but let's also make sure the topology
	  one get freed as well, though I do not know if this can happen
	  twice.

2012-01-12 13:57:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: release extra ref on converter elements

2012-01-11 20:47:00 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* gst-libs/gst/video/Makefile.am:
	  Add missing DEFAULT_INCLUDES on androgenizer call
	  Fix building of the libgstvideo module on Android by adding the
	  missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
	  androgenizer call on gst-libs/gst/video/Makefile.am
	  Before this change, building was failing due to gst-plugins-base/
	  and gst-plugins-base/gst-libs/gst/video being left out of the
	  include path.

2012-01-11 16:17:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix push mode chain leak
	  When I first implemented push mode seeking, I removed the chain
	  freeing there as it could be used later. The current code does not
	  seem to do that though, so I'm restoring the previous freeing,
	  which plugs the leak while apparently not reintroducing use of
	  freed data with chained and normal files, both with gst-launch
	  playbin2 and Totem.

2012-01-11 13:32:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/elements/opus.c:
	  tests: fix buffer leaks in opus tests

2012-01-11 12:52:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: fix leaks caused by some base class dtors not being called

2012-01-11 12:16:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix caps and discoverer object ref leaks

2012-01-11 11:55:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: add a few consts where appropriate

2012-01-11 11:55:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix pad leak

2012-01-11 10:49:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: More UNPOSITION flag sanity checks
	  ..and turn the GST_WARNING() into a g_warning(). This is a programming
	  error and should be fixed.

2012-01-11 10:44:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Add validity check for the UNPOSITIONED audio flag
	  Also reset the flag when parsing caps.

2012-01-10 19:01:11 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  Revert "oggmux: fix pad leak"
	  This reverts commit 5df30c1b905edce16f2258e414a0a4afb540d0f1.
	  I must have dreamt the Valgrind logs, reverting this reintroduces
	  no leak, and gets rid of the test failures it introduced :S

2012-01-10 18:27:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: use GST_TYPE_TAG_LIST for tag lists
	  They may not be structures in 0.11/1.0.

2012-01-10 18:07:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix potential tag list leaks
	  Not that I have ever seen these in practice, but if they
	  can't happen we may just as well just assign the new tag
	  list. Merge properly to be on the safe side, and also
	  avoid a useless tag list copy in the normal case where
	  there is no tag list yet.

2012-01-10 17:48:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix potential caps leak
	  in last else chunk.

2012-01-10 16:57:04 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: fix tag list leak

2012-01-10 16:51:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix pad leak

2012-01-10 16:14:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix hang on small truncated files
	  A first hang was happening when trying to locate a page backwards,
	  where we'd sync forever on the same page.
	  With that fixed, a second hang would happen after preparing an EOS
	  event, but with no chain created yet to send it to, the pipeline
	  would stay idle forever.
	  An element error is now emitted for this case.

2012-01-10 14:35:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix pad leak

2012-01-10 15:59:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't unref the parent in the event function

2012-01-10 15:50:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/mpegtsdemux/tsdemux.c
	  gst/videoparsers/gsth264parse.c
	  tests/check/elements/camerabin2.c

2012-01-10 15:50:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/mpegtsdemux/tsdemux.c
	  gst/videoparsers/gsth264parse.c
	  tests/check/elements/camerabin2.c

2012-01-10 13:38:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix slist leak

2012-01-10 13:38:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix caps leak

2012-01-10 13:15:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/app/gstappsrc.c
	  gst-libs/gst/audio/multichannel.h
	  gst-libs/gst/video/videooverlay.c
	  gst/playback/gstplaysink.c
	  gst/playback/gststreamsynchronizer.c
	  tests/check/Makefile.am
	  win32/common/libgstvideo.def

2012-01-10 12:57:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  win32: Add the new audio symbols to the list of exported symbols

2012-01-10 12:46:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	  audiometa: Improve GstAudioDownmixMeta to be actually usable
	  This now has a two-dimensional array of coefficients
	  as required and also stores the source and destination
	  channel positions.

2012-01-10 12:02:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Don't crash if NULL positions are passed to gst_audio_info_set_format()

2012-01-09 14:19:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Fix infinite recursion by chaining up to the correct parent class vfunc

2012-01-09 12:31:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplay-enum.h:
	  playback: document DEINTERLACE flag

2012-01-09 08:24:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Don't check for channel positions in valid order when converting to a channel mask

2012-01-07 20:12:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: make hostname lookup more thread-safe
	  Don't write IP number string to return into a static
	  array which is shared amongst all threads (note: of
	  course a copy is returned).
	  https://bugzilla.gnome.org/show_bug.cgi?id=666711

2012-01-07 19:39:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: make is_subtitle_caps thread-safe

2012-01-07 16:43:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/libs/discoverer.c:
	* tests/files/Makefile.am:
	* tests/files/theora-vorbis.ogg:
	  tests: add ogg test file and some proper unit tests for discoverer
	  Leaks when re-used, so blacklisted for valgrind for now.

2012-01-07 14:44:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: .def file should be sorted for make check-exports

2012-01-06 16:15:40 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: use right channel variable even more

2012-01-06 16:13:35 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix debug message format specifier

2012-01-06 15:40:06 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: Try harder to get initial topology caps"
	  This reverts commit 6b3e3544d41ce0bc42c3597b3eb2130719379917.
	  I really shouldn't put WIP commits in my main branch ...

2012-01-06 15:16:00 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	  tests: Remove dead header include

2012-01-06 15:14:59 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Fix size check
	  We fail (and return) if the size is *NOT* a multiple of samples.

2012-01-05 08:29:43 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Try harder to get initial topology caps
	  Since caps are no longer 'shared' between two pads (but forwarded from
	  source pad to sink pad) we end up with the first chain pad not having
	  specified caps (i.e. typefind:src).
	  This solves the issues by getting the pad's peer caps.
	  It is not optimal since it will (for most demuxers) return the pad
	  template caps, which might contain non-fixed caps (ex : with
	  qtdemux "video/quicktime; video/mj2; audio/x-m4a; application/x-3gp")
	  https://bugzilla.gnome.org/show_bug.cgi?id=667337

2012-01-06 12:06:00 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* docs/design/Makefile.am:
	  Fix playbin2 -> playbin in Makefile

2011-12-14 14:14:47 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* win32/common/libgstvideo.def:
	  video: overlays may now have premultiplied alpha
	  https://bugzilla.gnome.org/show_bug.cgi?id=666177

2011-11-01 17:57:59 +0100  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/tag/tags.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/playback/gstplaysink.c:
	* tools/gst-discoverer.c:
	  Fix various unlikely, but still potential memoryleaks in error code paths
	  https://bugzilla.gnome.org/show_bug.cgi?id=667311

2011-10-22 16:41:23 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: implement get_caps vfunc
	  This allows downstream elements to query what caps are available.
	  https://bugzilla.gnome.org/show_bug.cgi?id=667312

2012-01-05 13:59:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: expose API to convert channel array to a mask

2012-01-05 12:23:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tools/gst-discoverer.c:
	  tools: avoid unportable vararg macro construct in gst-discoverer
	  https://bugzilla.gnome.org/show_bug.cgi?id=667306

2012-01-05 12:32:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: use right channel variable

2012-01-05 12:31:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: don't use NULL arrays

2012-01-01 20:44:08 +0100  Idar Tollefsen <itollefs@cisco.com>

	* configure.ac:
	  build: Run platform check for platform specific configuration.

2011-10-12 11:28:10 +0200  Pascal Buhler <pabuhler@cisco.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: prevent overflow of 16bit header length.
	  RTCP header can be  (2^16 + 1) * 4 bytes long, so when validating a bogus
	  packet it was possible to get a 16bit overflow resulting in a length of 0.
	  This would put the gst_rtcp_buffer_validate_data function in a endless loop.
	  https://bugzilla.gnome.org/show_bug.cgi?id=667313

2011-09-24 14:05:42 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: keep the calculation fixed-point
	  https://bugzilla.gnome.org/show_bug.cgi?id=667315

2011-08-04 11:30:05 +0200  Idar Tollefsen <itollefs@cisco.com>

	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttimeoverlay.c:
	  pango: changes includes from brackets to quotes for local files
	  https://bugzilla.gnome.org/show_bug.cgi?id=667316

2012-01-04 14:48:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Improve/fix handling of NONE layouts

2012-01-04 14:35:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Add support again for more than 64 channels with NONE layouts

2012-01-04 10:26:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Fix channel-mask handling

2012-01-04 10:26:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Fix channel-mask handling

2012-01-04 09:54:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: Fix GST_AUDIO_CHANNEL_POSITION_MASK macro

2011-12-31 14:32:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	  ogg: Update for the libgstriff API changes
	  Still needs to handle the raw audio channel reordering.

2011-12-31 14:31:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/volume/gstvolume.c:
	  gst: Add new layout field to all raw audio caps

2011-12-31 14:25:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggstream.c:
	* ext/vorbis/gstvorbisenc.c:
	  ext: Add new layout field to the raw audio caps

2011-12-31 14:21:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	  gst: Add new layout field to the raw audio caps

2011-12-31 14:15:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-media.h:
	  riff: Return a channel reorder map for raw audio when creating the caps

2011-12-31 13:50:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add the layout field to the raw audio caps

2011-12-31 13:47:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Proxy the channel mask field instead of the old channel-layout field

2011-12-31 13:47:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Add the layout field to the caps

2011-12-31 13:46:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: Add "layout" field to the raw audio caps
	  This can be used to differentiate between interleaved
	  and non-interleaved audio and whatever comes in the future.

2011-12-31 13:33:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: Add function to reorder channel positions from any order to the GStreamer order

2011-12-24 10:54:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Use new function to get a channel reordering map

2011-12-24 10:50:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Add documentation for the new functions

2011-12-24 10:37:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: Add public functions to check channel positions validity and to get a reorder map

2011-12-20 16:55:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Port to the new multichannel caps

2011-12-20 16:34:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* Makefile.am:
	* tests/examples/audio/Makefile.am:
	* tests/examples/audio/testchannels.c:
	  audio: Remove testchannels example
	  It's not really relevant anymore

2011-12-20 12:08:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbiscommon.c:
	* ext/vorbis/gstvorbiscommon.h:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisenc.c:
	  vorbis: Port to the new multichannel caps

2011-12-20 11:44:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Port to the new multichannel caps

2011-12-19 14:27:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audioconvert.c:
	  audioconvert: Update unit test for the new multichannel caps

2011-12-19 12:41:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/plugin.c:
	  audioconvert: Port to the new multichannel caps
	  audioconvert still needs support for mixing all the new
	  channel positions, see:
	  https://bugzilla.gnome.org/show_bug.cgi?id=666506

2011-12-20 16:20:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: Add support for reordering of channels

2011-12-19 10:04:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/audio.c:
	  audio: Add tests for the new multichannel caps and reordering function

2011-12-16 10:55:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/multichannel.c:
	* gst-libs/gst/audio/multichannel.h:
	  audio: Add new channel positions and simplify channel expression in the caps
	  The available channel positions are all channels from SMPTE 2036-2-2008
	  (in that order) and DTS Coherent Acoustics, which are basically all 28
	  channels that currently can appear.
	  The channels are now expressed in the caps as a channel-mask, which
	  describes which of the channels are present, and an optional
	  channel-reorder-map, which must only be used after negotiation for
	  fixated caps.
	  For negotiation only the channel-mask and the channel count is relevant
	  and all elements are expected to handle all reorder maps. Elements that
	  don't can use the new API to reorder an audio buffer from any order to
	  another order.
	  This simplifies negotiation a lot while still having as few reorderings
	  necassary as possible and still allow all kinds of channel layouts.

2012-01-05 01:51:35 +0000  Philip Flarsheim <philip.flarsheim@gmail.com>

	* gst-libs/gst/interfaces/xoverlay.c:
	  docs: add win32 code snippets to GstXOverlay Gtk+ example

2012-01-04 19:50:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From a62f3d4 to 0807187

2012-01-04 17:57:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: use pad caps for streamheader
	  Instead of using the caps on the buffer, use the caps on the pad.

2012-01-04 16:41:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/appsink.c:
	* tests/check/elements/appsrc.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/check/pipelines/basetime.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/streamheader.c:
	  tests: port and enable more unit tests

2012-01-03 21:20:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/Makefile.am:
	  videotestsrc: don't build generate_sine_table utility by default

2012-01-03 11:04:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: force fallback buffer_alloc when other pad not available
	  ... to avoid unnecessary spurious errors (upon e.g. shutdown).
	  If a real error is applicable in this unusual circumstance (missing other pad),
	  other (STREAM_LOCK protected) call paths can take care of that.

2012-01-03 11:02:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: avoid crashing when operating on released pad

2012-01-03 10:41:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add macro to check interlaced
	  Add a convenience macro to check if the video is interlaced.

2012-01-02 18:31:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  defs: update

2012-01-02 18:31:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  tests: small cleanup

2012-01-02 18:28:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/encoding/gststreamcombiner.c:
	  streamcombiner: fix srcpad query caps
	  The caps query on the srcpad should return the template caps instead of
	  forwarding the query.

2012-01-02 17:42:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: chain up to parent event function

2012-01-02 17:28:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: fix caps negotiation function

2012-01-02 16:13:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: use caps of the allocation query
	  Use the caps from the allocation query to propose a video bufferpool instead of
	  our own negotiated caps.

2012-01-02 15:59:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: truncate in fixation

2012-01-02 15:40:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/pipelines/oggmux.c:
	  tests: fix a unit test
	  The ogg muxer now has video and audio pads

2012-01-02 15:39:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: turn assert into a real error
	  Post a real error instead of just asserting. Fixes a unit test.

2012-01-02 14:30:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/mixerutils.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/libvisual.c:
	* tests/check/generic/states.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  playback, mixerutils: gst_registry_get_default() -> gst_registry_get()

2012-01-02 15:03:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: handle unpositioned channels
	  Refuse to convert between unpositioned layouts.

2012-01-02 15:01:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: add flag for unpositioned layout
	  Check if thr layout is explicitly unpositioned and set a flag in the
	  audio info structure.

2012-01-02 15:00:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioconvert.c:
	  tests: remove unsupported formats
	  Remove tests for a format that is no longer supported

2012-01-02 13:30:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video: fix some video formats
	  Rename the offset field in GstVideoFormatInfo to poffset to avoid confusion with
	  the offset of the plane in the buffer. The poffset is the offset in the plane
	  where the first byte of the component data can be found.
	  Properly implement the COMP_OFFSET calculations.
	  Fix YV12 and YVU9, simply use the same offsets as the regular I420 and YUV9
	  variants, we use the plane info to reorder components already.
	  Improve the unit test.

2012-01-02 00:59:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/tag.h:
	* tests/check/libs/tag.c:
	* win32/common/libgsttag.def:
	  tag: add function to check whether a string is a valid language code
	  API: gst_tag_check_language_code()

2011-12-20 21:48:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  audio, rtsp: remove private/protected gtk-doc markup for enums
	  This confuses glib-mkenums, and is not really useful anyway.
	  https://bugzilla.gnome.org/show_bug.cgi?id=666618

2011-12-30 18:36:37 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: port to latest API changes

2011-12-30 19:26:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.h:
	  video: add some padding to GstVideoFilter

2011-12-30 19:24:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/video/gstvideofilter.h:
	  docs: make gtk-doc happier

2011-12-30 16:47:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/audiocdsrc.c:
	  tests: disable direct structure access in audiocd test

2011-12-30 16:26:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	  audiocdsrc: remove some probing-related vfuncs
	  GstPropertyProbe was removed, so these aren't actually used
	  and we probably want something different for the new API.

2011-12-30 16:18:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: update for GstIndex removal

2011-12-30 16:12:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	  audiocdsrc: make private bits private

2011-12-30 13:21:35 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/theora/gsttheoraenc.c
	  gst-libs/gst/tag/gstexiftag.c
	  gst/adder/gstadder.c
	  gst/adder/gstadder.h
	  gst/playback/gstdecodebin2.c
	  gst/playback/gstsubtitleoverlay.c
	  tests/check/libs/tag.c

2011-12-30 11:49:27 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  tests/examples/camerabin2/Makefile.am

2011-12-30 11:49:27 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  tests/examples/camerabin2/Makefile.am

2011-12-30 11:41:17 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11-premerge
	  Conflicts:
	  docs/libs/Makefile.am
	  ext/kate/gstkatetiger.c
	  ext/opus/gstopusdec.c
	  ext/xvid/gstxvidenc.c
	  gst-libs/gst/basecamerabinsrc/Makefile.am
	  gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	  gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	  gst-libs/gst/video/gstbasevideocodec.c
	  gst-libs/gst/video/gstbasevideocodec.h
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideoencoder.c
	  gst/asfmux/gstasfmux.c
	  gst/audiovisualizers/gstwavescope.c
	  gst/camerabin2/gstcamerabin2.c
	  gst/debugutils/gstcompare.c
	  gst/frei0r/gstfrei0rmixer.c
	  gst/mpegpsmux/mpegpsmux.c
	  gst/mpegtsmux/mpegtsmux.c
	  gst/mxf/mxfmux.c
	  gst/videomeasure/gstvideomeasure_ssim.c
	  gst/videoparsers/gsth264parse.c
	  gst/videoparsers/gstmpeg4videoparse.c

2011-12-30 11:41:17 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11-premerge
	  Conflicts:
	  docs/libs/Makefile.am
	  ext/kate/gstkatetiger.c
	  ext/opus/gstopusdec.c
	  ext/xvid/gstxvidenc.c
	  gst-libs/gst/basecamerabinsrc/Makefile.am
	  gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.c
	  gst-libs/gst/basecamerabinsrc/gstbasecamerasrc.h
	  gst-libs/gst/video/gstbasevideocodec.c
	  gst-libs/gst/video/gstbasevideocodec.h
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideoencoder.c
	  gst/asfmux/gstasfmux.c
	  gst/audiovisualizers/gstwavescope.c
	  gst/camerabin2/gstcamerabin2.c
	  gst/debugutils/gstcompare.c
	  gst/frei0r/gstfrei0rmixer.c
	  gst/mpegpsmux/mpegpsmux.c
	  gst/mpegtsmux/mpegtsmux.c
	  gst/mxf/mxfmux.c
	  gst/videomeasure/gstvideomeasure_ssim.c
	  gst/videoparsers/gsth264parse.c
	  gst/videoparsers/gstmpeg4videoparse.c

2011-12-28 16:25:37 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/video.c:
	  check/video: Caps have "interlace-mode=progressive" by default

2011-12-28 16:24:53 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/decodebin.c:
	  check/decodebin: Fix callback signature
	  The "gboolean last" argument is gone.

2011-12-28 16:23:26 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils/descriptions: Handle "video/x-raw" without specified format
	  Without having it raise an assertion, which is valid when asking for
	  the description of the format.

2011-12-25 18:07:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	  videopool: add support for custom allocators

2011-12-27 14:37:26 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix leak when initializing pads
	  Pads are initialized twice: when requesting pads and when
	  initializing collectpads. Avoid double initialization by
	  checking if collectpads are still going to be initialized when
	  creating request pads.

2011-12-25 23:19:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* android/gdp.mk:
	* configure.ac:
	* gst/gdp/Makefile.am:
	* gst/gdp/dataprotocol.c:
	* gst/gdp/dp-private.h:
	* gst/gdp/gstgdp.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* tests/check/Makefile.am:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	  gdp: move dataprotocol library into gdp plugin and make private
	  We have removed things like protocol=gdp in the tcp elements
	  in favour of explicit gdppay/depay elements, so there's no need
	  to keep a public API and library for now. We can still add it
	  back later. Someone needs to think hard about 0.11 and gdp
	  anyway one of these days.

2011-12-25 23:25:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge branch 'merge-dataprotocol-library-into-gdp-plugin' into 0.11

2011-12-25 23:10:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* android/tcp.mk:
	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcp.c:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpplugin.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: remove some dataprotocol cruft
	  The protocol=gdp property has been removed in favour
	  of explicit gdppay/depay.

2011-11-11 17:17:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.h:
	  gdp: fix header files
	  Ensure correct indentation and retab
	  Make sure all structure have padding

2011-08-16 17:32:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: rename buffer PREROLL -> LIVE flag
	  Rename the GST_BUFFER_FLAG_PREROLL to GST_BUFFER_FLAG_LIVE and give the new flag
	  a meaning. The old PREROLL flag never had a clear meaning.

2011-06-10 13:40:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: make new _buffer_allocate method
	  Make a new method to allocate a buffer + memory that takes the allocator and the
	  alignment as parameters. Provide a macro for the old method but prefer to use
	  the new method to encourage plugins to negotiate the allocator properly.

2011-05-13 18:07:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: Rework GstSegment handling
	  Improve GstSegment, rename some fields. The idea is to have the GstSegment
	  structure represent the timing structure of the buffers as they are generated by
	  the source or demuxer element.
	  gst_segment_set_seek() -> gst_segment_do_seek()
	  Rename the NEWSEGMENT event to SEGMENT.
	  Make parsing of the SEGMENT event into a GstSegment structure.
	  Pass a GstSegment structure when making a new SEGMENT event. This allows us to
	  pass the timing info directly to the next element. No accumulation is needed in
	  the receiving element, all the info is inside the element.
	  Remove gst_segment_set_newsegment(): This function as used to accumulate
	  segments received from upstream, which is now not needed anymore because the
	  segment event contains the complete timing information.

2011-05-10 11:50:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: Hide the GstStructure in GstEvent
	  Hide the GstStructure of the event in the implementation specific part so that
	  we can change it.
	  Add methods to check and make the event writable.
	  Add a new method to get a writable GstStructure of the element.
	  Avoid directly accising the event structure.

2011-05-02 16:00:52 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/gdp/dataprotocol.h:
	  gdp: add docs for GstDPPacketizer

2011-03-21 18:13:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: port code to new buffer data API

2010-12-06 19:40:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	* gst/gdp/dataprotocol.h:
	  gdp: remove deprecated code

2010-10-08 09:34:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: make public enum _get_type() functions thread-safe
	  Not that it is likely to matter in practice, but since these are public
	  API they should probably be thread-safe.

2010-10-08 00:38:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/gdp/dataprotocol.c:
	  gdp: dataprotocol, lfocontrolsource: fix enum value name in enums that are public API
	  So run-time bindings can introspect the names correctly (we abuse this
	  field as description field only in elements, not for public API
	  (where the description belongs into the gtk-doc chunk).
	  https://bugzilla.gnome.org/show_bug.cgi?id=629946

2010-03-02 22:58:06 +0100  Benjamin Otte <otte@redhat.com>

	* gst/gdp/dataprotocol.c:
	  gdp: Fixes for -Wmissing-declarations -Wmissing-prototypes
	  Also adds those flags to the configure warning flags
	  https://bugzilla.gnome.org/show_bug.cgi?id=611692

2010-03-02 23:51:18 +0100  Benjamin Otte <otte@redhat.com>

	* gst/gdp/dp-private.h:
	  gdp: Make code safe for -Wredundant-decls
	  Adds that warning to configure.ac
	  Includes a tiny change of the GST_BOILERPLATE_FULL() macro:
	  The get_type() function is no longer declared before being defined.
	  https://bugzilla.gnome.org/show_bug.cgi?id=611692

2009-11-27 16:39:37 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/gdp/dataprotocol.c:
	  gdp: fix broken xrefs in docs

2008-06-30 09:38:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gdp: Don't write to the same region of memory as a uint64 and uint16 as this breaks ...
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  Don't write to the same region of memory as a uint64 and uint16
	  as this breaks strict aliasing rules and apparantly breaks on PPC
	  and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.

2008-03-27 15:23:55 +0000  Michael Smith <msmith@xiph.org>

	  gdp: When calculating GDP body CRC, use the correct pointer.
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_packet_from_event_1_0):
	  When calculating GDP body CRC, use the correct pointer.
	  Fixes part of #522401.

2008-02-29 12:41:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gdp: Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
	  Original commit message from CVS:
	  * gst/gstconfig.h.in:
	  * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
	  * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
	  (gst_check_log_critical_func), (gst_check_drop_buffers),
	  (gst_check_element_push_buffer_list):
	  * libs/gst/controller/gstcontroller.c: (gst_controller_get),
	  (gst_controller_get_type):
	  * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
	  (gst_object_get_controller), (gst_object_get_control_source):
	  * libs/gst/controller/gstinterpolationcontrolsource.c:
	  (gst_interpolation_control_source_new):
	  * libs/gst/controller/gstlfocontrolsource.c:
	  (gst_lfo_control_source_new):
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_event_from_packet_0_2):
	  * plugins/elements/gstfdsrc.c:
	  * plugins/elements/gstmultiqueue.c:
	  * plugins/elements/gsttee.c:
	  * plugins/elements/gsttypefindelement.c:
	  * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
	  (gst_file_index_add_association):
	  * plugins/indexers/gstmemindex.c:
	  * tests/benchmarks/gstpollstress.c: (mess_some_more):
	  * tests/check/elements/queue.c: (setup_queue):
	  * tests/check/gst/gstpipeline.c:
	  * tests/check/libs/collectpads.c: (setup), (teardown),
	  (gst_collect_pads_suite):
	  * tests/examples/adapter/adapter_test.c:
	  * tests/examples/metadata/read-metadata.c: (make_pipeline):
	  * tests/examples/xml/createxml.c:
	  * tests/examples/xml/runxml.c:
	  * tools/gst-inspect.c:
	  * tools/gst-run.c:
	  Correct all relevant warnings found by the sparse semantic code
	  analyzer. This include marking several symbols static, using
	  NULL instead of 0 for pointers, not using variable sized arrays
	  on the stack, moving variable declarations to the beginning of
	  a block and using "foo (void)" instead of "foo ()" for declarations.

2008-01-08 02:07:38 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  gdp: Fix empty prototypes. Fixes bug #507957.
	  Original commit message from CVS:
	  Patch by: Damien Lespiau <damien.lespiau@gmail.com>
	  * libs/gst/controller/gstcontroller.h:
	  * libs/gst/controller/gstcontrolsource.h:
	  * libs/gst/controller/gstinterpolationcontrolsource.h:
	  * libs/gst/controller/gstlfocontrolsource.h:
	  * libs/gst/dataprotocol/dataprotocol.h:
	  Fix empty prototypes.  Fixes bug #507957.

2007-11-01 21:50:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gdp: g_type_class_ref() other types as well, see #349410 and #64764.
	  Original commit message from CVS:
	  * gst/gst.c: (init_post):
	  * gst/gstevent.c: (_gst_event_initialize):
	  * gst/gstquery.c: (_gst_query_initialize):
	  * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
	  g_type_class_ref() other types as well, see #349410 and #64764.
	  * gst/gstbuffer.c: (_gst_buffer_initialize):
	  * gst/gstmessage.c: (_gst_message_initialize):
	  Simplify existing g_type_class_ref().

2006-10-05 14:26:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gdp: Printf fixes.
	  Original commit message from CVS:
	  * gst/gstpad.c: (pre_activate):
	  * gst/gstregistry.c: (gst_registry_scan_path_level):
	  * gst/gstregistryxml.c: (load_plugin):
	  * libs/gst/controller/gstcontroller.c:
	  (gst_controlled_property_set_interpolation_mode):
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_packet_from_event_1_0):
	  * libs/gst/net/gstnetclientclock.c:
	  (gst_net_client_clock_observe_times):
	  * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
	  Printf fixes.

2006-08-11 15:26:33 +0000  Andy Wingo <wingo@pobox.com>

	  gdp: GST_DISABLE_DEPRECATED is only for users of API that don't want to see deprecated functions in the headers; people th...
	  Original commit message from CVS:
	  2006-08-11  Andy Wingo  <wingo@pobox.com>
	  * configure.ac:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
	  * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
	  is only for users of API that don't want to see deprecated
	  functions in the headers; people that want to compile out
	  deprecated code should pass -DGST_REMOVE_DEPRECATED into the
	  CFLAGS. Fixes the build of multifdsink, or will soon..

2006-08-10 19:46:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gdp: add gst_object_{s,g}et_control_rate(), add private data section, fix docs
	  Original commit message from CVS:
	  * docs/libs/gstreamer-libs-sections.txt:
	  * libs/gst/controller/gstcontroller.c:
	  (_gst_controller_get_property), (_gst_controller_set_property),
	  (_gst_controller_init), (_gst_controller_class_init):
	  * libs/gst/controller/gstcontroller.h:
	  * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
	  (gst_object_set_control_rate):
	  API: add gst_object_{s,g}et_control_rate(), add private data section,
	  fix docs
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  add deprecation guards to make gtk-doc happy and allow disabling cruft

2006-08-02 15:19:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Make debug category static
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
	  (gst_dp_crc), (gst_dp_header_payload_length),
	  (gst_dp_header_payload_type), (gst_dp_packet_from_event),
	  (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
	  (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
	  (gst_dp_event_from_packet), (gst_dp_validate_header),
	  (gst_dp_validate_payload):
	  Make debug category static
	  Constify the crc table.
	  Do some more arg checking in public functions.
	  Fix some docs and do some small cleanups.
	  * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
	  Add some more checks to see if GDP deals with bogus input.

2006-07-13 14:02:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: fix failure to deserialize event packets with empty payload (only ev...
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_event_from_packet_1_0):
	  Fixes #347337: failure to deserialize event packets with
	  empty payload (only event type)

2006-06-13 19:24:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: add a gdp image to the docs
	  Original commit message from CVS:
	  * docs/README:
	  * docs/images/gdp-header.svg:
	  add a gdp image
	  * docs/libs/Makefile.am:
	  * docs/libs/gdp-header.png:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  add it to the API docs
	  * docs/manual/intro-motivation.xml:
	  fix typo

2006-06-06 14:29:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	  gdp: add note to docs about GDP versioning; remove tmpl file
	  Original commit message from CVS:
	  add note to docs about GDP versioning; remove tmpl file

2006-06-06 14:24:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: add a GstDPPacketizer object, and create/free functions
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
	  (gst_dp_version_get_type), (gst_dp_init),
	  (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
	  (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
	  (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
	  (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
	  (gst_dp_event_from_packet), (gst_dp_packetizer_new),
	  (gst_dp_packetizer_free):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  API: add a GstDPPacketizer object, and create/free functions
	  API: add GstDPVersion enum
	  Add 1.0 event function that uses the string serialization
	  Serialize more useful buffer flags
	  Fixes #343988

2006-06-02 16:46:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: factor out CRC code
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	  (gst_dp_packet_from_event):
	  factor out CRC code

2006-06-02 10:58:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: factor out some common header init code
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	  (gst_dp_packet_from_event):
	  factor out some common header init code

2006-06-02 10:08:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: make gst_dp_crc() public
	  Original commit message from CVS:
	  * docs/libs/gstreamer-libs-sections.txt:
	  * docs/libs/tmpl/gstdataprotocol.sgml:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  API: make gst_dp_crc() public

2006-06-01 11:13:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gdp: make sure we zero the whole ABI-compatible area
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer):
	  make sure we zero the whole ABI-compatible area

2006-05-08 15:53:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	  gdp: whitespace, comment, doc fixup
	  Original commit message from CVS:
	  whitespace, comment, doc fixup

2006-04-28 13:40:15 +0000  Michael Smith <msmith@xiph.org>

	  gdp: Fixes in reading/writing events over GDP (not currently used?) - dereferencing ...
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	  (gst_dp_event_from_packet):
	  Fixes in reading/writing events over GDP (not currently used?) -
	  dereferencing NULL events for unknown/invalid event types, memory
	  leak, and change g_warning to GST_WARNING.

2006-03-10 15:30:27 +0000  Michael Smith <msmith@xiph.org>

	  gdp: Fix docs for dataprocotol to not get the return types completely wrong for a fe...
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  Fix docs for dataprocotol to not get the return types completely
	  wrong for a few functions.

2005-12-18 16:04:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Documentation updates.
	  Original commit message from CVS:
	  * libs/gst/base/gstadapter.c:
	  * libs/gst/base/gstadapter.h:
	  * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
	  (gst_base_sink_get_position):
	  * libs/gst/base/gstbasesink.h:
	  * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
	  (gst_base_src_default_query), (gst_base_src_default_do_seek),
	  (gst_base_src_do_seek), (gst_base_src_perform_seek),
	  (gst_base_src_send_event), (gst_base_src_update_length),
	  (gst_base_src_get_range), (gst_base_src_loop),
	  (gst_base_src_start):
	  * libs/gst/base/gstbasesrc.h:
	  * libs/gst/base/gstbasetransform.h:
	  * libs/gst/base/gstcollectpads.h:
	  * libs/gst/base/gstpushsrc.c:
	  * libs/gst/base/gstpushsrc.h:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  * libs/gst/dataprotocol/dataprotocol.h:
	  * libs/gst/net/gstnetclientclock.h:
	  * libs/gst/net/gstnettimeprovider.h:
	  Documentation updates.

2005-10-13 16:26:12 +0000  Andy Wingo <wingo@pobox.com>

	  gdp: Fix Timmeke Waymans bug.
	  Original commit message from CVS:
	  2005-10-13  Andy Wingo  <wingo@pobox.com>
	  * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
	  Fix Timmeke Waymans bug.
	  (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
	  string of the proper length to gst_caps_from_string. There's a
	  potential for, before this fix, that this could cause someone
	  connecting over the network to cause a segfault if the payload is
	  not NUL-terminated.

2005-10-10 23:55:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	  gdp: fix more valgrind warnings before turning up the heat
	  Original commit message from CVS:
	  fix more valgrind warnings before turning up the heat

2005-10-08 17:17:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: It's about time we bump the version number.
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
	  (gst_dp_packet_from_event):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  * libs/gst/dataprotocol/dp-private.h:
	  It's about time we bump the version number.
	  Since event types don't fit in the guint8 anymore describing
	  the payload type, make payload type 16 bits wide.

2005-09-27 16:30:26 +0000  Andy Wingo <wingo@pobox.com>

	  gdp: Fix error-checking return values.
	  Original commit message from CVS:
	  2005-09-27  Andy Wingo  <wingo@pobox.com>
	  * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
	  values.

2005-07-27 19:00:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Fix serialization of seek events.
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	  (gst_dp_event_from_packet):
	  Fix serialization of seek events.

2005-07-27 18:33:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Some docs updates
	  Original commit message from CVS:
	  * CHANGES-0.9:
	  * docs/design/part-TODO.txt:
	  * docs/design/part-events.txt:
	  Some docs updates
	  * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
	  (gst_base_sink_event), (gst_base_sink_do_sync),
	  (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
	  * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
	  (gst_base_src_do_seek), (gst_base_src_event_handler),
	  (gst_base_src_loop):
	  * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
	  (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
	  (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
	  (gst_base_transform_event), (gst_base_transform_handle_buffer),
	  (gst_base_transform_set_passthrough),
	  (gst_base_transform_is_passthrough):
	  * gst/elements/gstfakesink.c: (gst_fake_sink_event):
	  * gst/elements/gstfilesink.c: (gst_file_sink_event):
	  Event updates.
	  * gst/gstbuffer.h:
	  Use faster casts.
	  * gst/gstelement.c: (gst_element_seek):
	  * gst/gstelement.h:
	  Update gst_element_seek.
	  * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
	  (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
	  (gst_event_new_flush_start), (gst_event_new_flush_stop),
	  (gst_event_new_eos), (gst_event_new_newsegment),
	  (gst_event_parse_newsegment), (gst_event_new_tag),
	  (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
	  (gst_event_parse_qos), (gst_event_new_seek),
	  (gst_event_parse_seek), (gst_event_new_navigation):
	  * gst/gstevent.h:
	  Make GstEvent use GstStructure. Add parsing code, make sure the
	  API is sufficiently generic.
	  Mark possible directions of events and serialization.
	  * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
	  (_gst_message_copy), (gst_message_new_segment_start),
	  (gst_message_new_segment_done), (gst_message_new_custom),
	  (gst_message_parse_segment_start),
	  (gst_message_parse_segment_done):
	  Small cleanups.
	  * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
	  (gst_pad_set_caps), (gst_pad_send_event):
	  Update for new events.
	  Catch events sent in wrong directions.
	  * gst/gstqueue.c: (gst_queue_link_src),
	  (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
	  (gst_queue_handle_src_query):
	  Event updates.
	  * gst/gsttag.c:
	  * gst/gsttag.h:
	  Remove event code from this file.
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
	  (gst_dp_event_from_packet):
	  Event updates.

2005-07-05 10:20:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Ported dataprotol to 0.9.
	  Original commit message from CVS:
	  * configure.ac:
	  * libs/gst/dataprotocol/Makefile.am:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  * pkgconfig/Makefile.am:
	  * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
	  * pkgconfig/gstreamer-dataprotocol.pc.in:
	  Ported dataprotol to 0.9.
	  Added pkgconfig files.

2005-05-16 20:21:55 +0000  David Schleef <ds@schleef.org>

	  gdp: remove GstData checks
	  Original commit message from CVS:
	  * check/Makefile.am: remove GstData checks
	  * check/gst-libs/gdp.c: (START_TEST): fix for API changes
	  * gst/Makefile.am: add miniobject, remove data
	  * gst/gst.h: add miniobject, remove data
	  * gst/gstdata.c: remove
	  * gst/gstdata.h: remove
	  * gst/gstdata_private.h: remove
	  * gst/gsttypes.h: remove GstEvent and GstMessage
	  * gst/gstelement.c: (gst_element_post_message): fix for API changes
	  * gst/gstmarshal.list: change BOXED -> OBJECT
	  Implement GstMiniObject.
	  * gst/gstminiobject.c:
	  * gst/gstminiobject.h:
	  Modify to be subclasses of GstMiniObject.
	  * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
	  (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
	  (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
	  (gst_subbuffer_get_type), (gst_subbuffer_init),
	  (gst_buffer_create_sub), (gst_buffer_is_span_fast),
	  (gst_buffer_span):
	  * gst/gstbuffer.h:
	  * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
	  (gst_event_class_init), (gst_event_init), (gst_event_finalize),
	  (_gst_event_copy), (gst_event_new):
	  * gst/gstevent.h:
	  * gst/gstmessage.c: (_gst_message_initialize),
	  (gst_message_get_type), (gst_message_class_init),
	  (gst_message_init), (gst_message_finalize), (_gst_message_copy),
	  (gst_message_new), (gst_message_new_error),
	  (gst_message_new_warning), (gst_message_new_tag),
	  (gst_message_new_state_changed), (gst_message_new_application):
	  * gst/gstmessage.h:
	  * gst/gstprobe.c: (gst_probe_perform),
	  (gst_probe_dispatcher_dispatch):
	  * gst/gstprobe.h:
	  * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
	  (gst_query_class_init), (gst_query_finalize), (gst_query_init),
	  (_gst_query_copy), (gst_query_new):
	  Update elements for GstData -> GstMiniObject changes
	  * gst/gstquery.h:
	  * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
	  (gst_queue_chain), (gst_queue_loop):
	  * gst/elements/gstbufferstore.c:
	  (gst_buffer_store_add_buffer_func),
	  (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
	  * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
	  (gst_fakesink_render):
	  * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
	  * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
	  (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
	  (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
	  (gst_filesrc_create_read):
	  * gst/elements/gstidentity.c: (gst_identity_class_init):
	  * gst/elements/gsttypefindelement.c:
	  (gst_type_find_element_src_event), (free_entry_buffers),
	  (gst_type_find_element_handle_event):
	  * libs/gst/dataprotocol/dataprotocol.c:
	  (gst_dp_header_from_buffer):
	  * libs/gst/dataprotocol/dataprotocol.h:
	  * libs/gst/dataprotocol/dp-private.h:

2005-05-04 21:29:44 +0000  Andy Wingo <wingo@pobox.com>

	  gdp: GCC 4 fixen.
	  Original commit message from CVS:
	  2005-05-04  Andy Wingo <wingo@pobox.com>
	  * check/Makefile.am:
	  * docs/gst/tmpl/gstatomic.sgml:
	  * docs/gst/tmpl/gstplugin.sgml:
	  * gst/base/gstbasesink.c: (gst_basesink_activate):
	  * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
	  (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
	  (gst_basesrc_query), (gst_basesrc_set_property),
	  (gst_basesrc_get_property), (gst_basesrc_check_get_range),
	  (gst_basesrc_activate):
	  * gst/base/gstbasesrc.h:
	  * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
	  (gst_base_transform_src_activate):
	  * gst/elements/gstelements.c:
	  * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
	  (gst_fakesrc_set_property), (gst_fakesrc_get_property):
	  * gst/elements/gsttee.c: (gst_tee_sink_activate):
	  * gst/elements/gsttypefindelement.c: (find_element_get_length),
	  (gst_type_find_element_checkgetrange),
	  (gst_type_find_element_activate):
	  * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
	  * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
	  (gst_caps_load_thyself):
	  * gst/gstelement.c: (gst_element_pads_activate),
	  (gst_element_save_thyself), (gst_element_restore_thyself):
	  * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
	  (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
	  * gst/gstpad.h:
	  * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
	  (gst_xml_parse_file), (gst_xml_parse_memory),
	  (gst_xml_get_element), (gst_xml_make_element):
	  * gst/indexers/gstfileindex.c: (gst_file_index_load),
	  (_file_index_id_save_xml), (gst_file_index_commit):
	  * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
	  (read_enum), (load_pad_template), (load_feature), (load_plugin),
	  (load_paths):
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
	  (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
	  * tools/gst-complete.c: (main):
	  * tools/gst-compprep.c: (main):
	  * tools/gst-inspect.c: (print_element_properties_info):
	  * tools/gst-launch.c: (xmllaunch_parse_cmdline):
	  * tools/gst-xmlinspect.c: (print_element_properties):
	  GCC 4 fixen.

2005-03-21 17:34:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	* gst/gdp/dataprotocol.c:
	  gdp: Next big merge.
	  Original commit message from CVS:
	  Next big merge.
	  Added GstBus for mainloop integration.
	  Added GstMessage for sending notifications on the bus.
	  Added GstTask as an abstraction for pipeline entry points.
	  Removed GstThread.
	  Removed Schedulers.
	  Simplified GstQueue for multithreaded core.
	  Made _link threadsafe, removed old capsnego.
	  Added STREAM_LOCK and PREROLL_LOCK in GstPad.
	  Added pad blocking functions.
	  Reworked scheduling functions in GstPad to prepare for
	  scheduling updates soon.
	  Moved events out of data stream.
	  Simplified GstEvent types.
	  Added return values to push/pull.
	  Removed clocking from GstElement.
	  Added prototypes for state change function for next merge.
	  Removed iterate from bins and state change management.
	  Fixed some elements, disabled others for now.
	  Fixed -inspect and -launch.
	  Added check for GstBus.

2005-03-07 18:27:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	* gst/gdp/dataprotocol.c:
	  gdp: First THREADED backport attempt, focusing on adding locks and making sure the API is threadsafe. Needs more work. Mor...
	  Original commit message from CVS:
	  First THREADED backport attempt, focusing on adding locks and
	  making sure the API is threadsafe. Needs more work. More docs
	  follow this week.

2005-02-18 13:58:36 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  gdp: Allocate the 1 byte more memory that was forgotten!!!!!
	  Original commit message from CVS:
	  2005-02-18  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_dump_byte_array):
	  Allocate the 1 byte more memory that was forgotten!!!!!

2004-10-01 16:49:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gdp: Fix threadsafety of the crc checking function.
	  Original commit message from CVS:
	  * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
	  Fix threadsafety of the crc checking function.

2004-08-16 10:35:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	  gdp: fix for #150242
	  Original commit message from CVS:
	  fix for #150242

2004-07-28 10:22:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	  gdp: doc style fixes
	  Original commit message from CVS:
	  doc style fixes

2004-06-09 16:24:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	* gst/gdp/dataprotocol.h:
	* gst/gdp/dp-private.h:
	  gdp: bump GDP to 0.1, add buffer flags
	  Original commit message from CVS:
	  bump GDP to 0.1, add buffer flags

2004-05-24 16:38:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.h:
	  gdp: wrap header in _NEW
	  Original commit message from CVS:
	  wrap header in _NEW

2004-05-19 17:22:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	* gst/gdp/dp-private.h:
	  Original commit message from CVS: use GST macros; add asserts

2004-05-19 16:59:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dp-private.h:
	  gdp: private prototype
	  Original commit message from CVS:
	  private prototype

2004-05-19 16:37:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/dataprotocol.c:
	* gst/gdp/dataprotocol.h:
	* gst/gdp/dp-private.h:
	  gdp: add dataprotocol
	  Original commit message from CVS:
	  clean up libs docs; add dataprotocol

2011-12-25 21:39:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstapp.def:
	* win32/common/libgstaudio.def:
	* win32/common/libgstinterfaces.def:
	* win32/common/libgsttag.def:
	* win32/common/libgstvideo.def:
	  win32: update .def files for API changes

2011-12-25 21:38:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: rename GST_BUFTYPE_* to GST_AUDIO_RING_BUFFER_FORMAT_TYPE_*
	  Bit unwieldy, but more appropriate. Could also be moved into
	  audio.h as GstAudioFormatType.

2011-12-25 21:37:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/alsa.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	  tests: remove more propertyprobe cruft

2011-12-25 21:23:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: remove unused GstAudioRingBufferSegState enum and field

2011-12-25 21:19:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/audio-trickplay.c:
	  tests: fix unused-variable compiler warning in audio trickplay test

2011-12-25 21:18:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  docs: remove references to elements that don't exist any longer

2011-12-25 19:14:55 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/icles/audio-trickplay.c:
	  controller: port to new controlsource api

2011-12-23 22:51:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix template caps creation on big endian systems

2011-12-23 22:24:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: fix writing of Exif tag payloads <= 4 bytes
	  When the payload for an Exif tag is less than or equal to 4 bytes,
	  the data is simply put into the offset field. Fix writing these
	  kinds of payloads on big endian systems (and possibly also on
	  little endian systems). The caller will have already formatted
	  the bytes in memory according to the writer's endianness, so just
	  write out the bytes as they are in this case. Fixes tags unit test
	  on big endian systems.

2011-12-20 22:58:26 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  controller: port to new controlbinding api

2011-12-23 16:09:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: improve cropping
	  Only add cropping metadata when needed
	  Remove some used code.

2011-12-23 00:54:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: make work for raw audio formats by fixing template caps

2011-12-22 16:54:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: add a few more debug statements

2011-12-22 16:53:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: tweak documentation

2011-12-22 16:37:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsadeviceprobe.h:
	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: remove more property probe stuff

2011-12-22 07:53:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Keep compatibility with our old generated xmp
	  We used to add a trailing \n to the end of generated xmp packets.
	  Windows viewer was unhappy with it and we fixed it in
	  96d2120c2bb0b29e1849098198f5fbef81939cdd
	  The problem is that this caused xmp generated before this fix
	  to not be recognized and parsed anymore. This patch makes it
	  recognize xmp with the trailing \n and without, fixing the
	  regression. Also adds tests for it.

2011-12-21 23:46:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videofilter: improve video filter
	  Flesh out the video filter base class. Make it parse the input and output caps
	  and turn them into GstVideoInfo. Map buffers as video frames and pass them to
	  the transform functions.
	  This allows us to also implement the propose and decide_allocation vmethods.
	  Implement the transform size method as well.
	  Update subclasses with the new improvements.

2011-12-21 18:58:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videofilter: implement propose_allocation
	  With the new video bufferpool we can now implement the propose_allocation
	  vmethod on some video filter elements so that we can also use video metadata and
	  bufferpools when not operating in passthrough mode.

2011-12-21 18:58:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: small fixes

2011-12-21 18:14:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: reset alignment

2011-12-21 18:13:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	  videopool: add videopool implementation
	  Add a GstVideoPool object that can be used to allocate video frames with support
	  for metadata and alignment.
	  Add method to reset alignment info.

2011-12-21 11:58:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* ext/alsa/gstalsadeviceprobe.c:
	* gst-libs/gst/audio/mixerutils.c:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/propertyprobe.c:
	* gst-libs/gst/interfaces/propertyprobe.h:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video.h:
	* sys/xvimage/xvimagesink.c:
	* tests/icles/test-colorkey.c:
	  propertyprobe: remove propertyprobe
	  Remove the propertyprobe interface
	  Improve docs

2011-12-14 16:34:39 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/video-blend.c:
	  gstvideo: fix a RGB ordering mixup in colorspace conversion code

2011-12-19 17:41:23 +0100  Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theoraenc: add "dup-on-gap" option
	  This option will produce duplicate frames if we get
	  a frame with GAP flag. This will reduce CPU load and file size.
	  This option should be disabled for real time applications, because it
	  collects GAP frames and waits until it gets a non GAP frame to start
	  encoding.
	  v30.06.2011: make some spell changes.
	  v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
	  v19.12.2011: fix pointer dangling in theora_timefifo_free
	  v20.12.2010: fix timestamp bug for dup-on-gap=0
	  Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=627459
	  Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>

2011-12-20 14:35:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Use guint8 instead of guchar

2011-12-20 14:34:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  audioringbuffer: Use guint8 instead of guchar

2011-12-20 13:26:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-audio-raw.txt:
	  docs: small update

2011-12-20 12:53:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitle: don't use GST_CAPS_NONE macro
	  This macro returns a singleton.

2011-12-20 12:42:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: set a non-zero default maximum tolerated errors
	  Whereas the previous default 0 was backwards compatible in that it lead
	  to erroring out immediately upon any error, elements that are really
	  ported and using the base class error macro can be assumed to intend to
	  improve behaviour rather than maintaining the old one.  So, make it easy
	  on those and any future one and tolerate some errors by default, as intended.
	  Fixes #666579.

2011-12-20 12:02:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-audio-raw.txt:
	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	  add audio metadata
	  Add some audio metadata to describe a downmix matrix.
	  Add metadata to media type document.

2011-12-20 10:58:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/part-mediatype-audio-raw.txt:
	* docs/design/part-mediatype-video-raw.txt:
	  docs: update media design docs some more
	  Add audio media type design doc

2011-12-20 10:08:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/design-audiosinks.txt:
	* docs/design/part-interlaced-video.txt:
	* docs/design/part-mediatype-video-raw.txt:
	* docs/design/part-playbin.txt:
	  docs: small update to design docs

2011-12-19 23:41:25 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: port to new interpolation-mode api

2011-12-19 22:51:47 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: port to new controller api

2011-12-19 18:03:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-media-types.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: update interlace caps and docs
	  Remove interlaced boolean from caps and replace with an interlace-mode enum.
	  document this new property in the video caps document. With the enum we can
	  put fields into separate video meta.
	  Add enum for this interlace-mode in the VideoInfo.
	  Update the buffer flags.

2011-12-19 11:03:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: add FIXME
	  Add a FIXME because the EOS before-type case now has to be solved differently
	  because the srcpad is always available.

2011-12-19 09:49:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/examples/seek/stepping.c:
	* tests/examples/seek/stepping2.c:
	  use playbin instead of playbin2

2011-12-16 17:32:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: do not send too many flush-stop events
	  GstCollectPads2 now allows us to override the event function,
	  so we can withhold flush stop events if none are to be sent.
	  https://bugzilla.gnome.org/show_bug.cgi?id=666379

2011-12-16 17:31:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: use the stream lock where appropriate
	  GstCollectPads2 locking was changed from GstCollectPads to use
	  the stream lock instead of the object lock for those cases, so
	  change it so here as well to match.
	  https://bugzilla.gnome.org/show_bug.cgi?id=666379

2011-12-16 17:25:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: send a flush event before trying to get the stream lock
	  This avoids hanging when the streaming thread is busy in _chain
	  waiting for preroll.
	  https://bugzilla.gnome.org/show_bug.cgi?id=666379

2011-12-16 15:27:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: assume live stream if byte size cannot be determined
	  This prevents trying to seek and failing, then ending up unable
	  to stream because we can't get back at the headers.
	  A more robust way would be to find a good place to reinject the
	  headers when a seek fails, but I can't seem to get this to work.

2011-12-15 16:42:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opus: fix bad merge (stray unmap, undeclared var)

2011-12-15 11:01:01 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: do not include \0 in size passed to g_convert
	  When using g_convert, we should only pass the length
	  of the string content (without the \0) as g_convert will
	  only parse the real contents when changing formats. Including
	  the \0 causes it to add another \0, increasing the string
	  size when not needed.
	  For example, when writting a North geo location ref entry, that should
	  be a string with a single N letter, it would write:
	  "N\0\0", causing the string to have size 3, instead of 2 as expected.
	  In our case, we can pass -1 and let g_convert calculate the strlen as
	  we don't use the length anywhere else.
	  This fixes jifmux's tests on gst-plugins-bad.

2011-12-14 18:26:07 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: port to GstCollectPads2

2011-12-14 17:34:55 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  Fix 666168, add missing allow-None to encodebin APIs

2011-10-03 14:51:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: tweak chain topology description
	  ... to also properly indicate chain's endpad if no elements are in the
	  chain (due to the endpad being a raw demuxer pad, or one setup without
	  decoders since uridecodebin or higher up decided not to need those).

2011-12-14 12:28:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: add some missing allow-none g-i annotations
	  Fix gst_encoding_container_profile_new() annotations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=666096

2011-12-14 11:31:31 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: port GST_BUFFER_DATA to 0.11 in conditional code branch

2011-12-13 12:55:45 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix late buffer leak

2011-12-13 13:28:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Refactor code to check if a property exists on an element

2011-12-13 13:20:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Refactor autoplugging code and select overlay element by rank too
	  Previously we always used textoverlay for rendering the output of
	  a parser, now the same code as for the renderers is used and the
	  element with the highest rank is used.
	  Fixes bug #663822.

2011-12-12 11:54:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/glib-compat-private.h:
	  glib-compat: Add license boilerplate for LGPL

2011-12-12 17:27:10 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update file locations for 0.11

2011-12-12 13:02:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/cs.po:
	* po/es.po:
	* po/sr.po:
	  po: update translations

2011-12-12 12:59:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  Require gobject-introspection >= 1.31.1
	  Same as core.

2011-12-12 12:40:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  gst-plugins-base.spec.in
	  po/LINGUAS
	  po/cs.po
	  po/eo.po
	  po/es.po
	  po/gl.po
	  po/lv.po
	  po/sr.po

2011-12-10 01:36:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* po/cs.po:
	* po/eo.po:
	* po/es.po:
	* po/gl.po:
	* po/lv.po:
	* po/sr.po:
	  po: update translations

2011-12-09 17:25:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	  opusenc: add upstream negotiation for multistream ability
	  This will help elements that cannot deal with multistream,
	  such as the RTP payloader.
	  The caps now do not include a "streams" field anymore, but
	  a "multistream" boolean, since we have no real use for knowing
	  the exact amount of streams.
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-09 19:21:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsp: use rtpbin

2011-12-09 10:49:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtp: add INIT macros

2011-12-09 15:39:12 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add latest header file to spec file

2011-12-09 15:06:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: disable composition tests in video unit test for now

2011-12-07 15:13:11 -0200  Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	  Adding opus RTP payloader/depayloader element
	  Adding OPUS RTP module based on the current draft:
	  http://tools.ietf.org/id/draft-spittka-payload-rtp-opus-00.txt
	  https://bugzilla.gnome.org/show_bug.cgi?id=664817

2011-12-08 19:47:55 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	  opus: include streams count in caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-08 18:45:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: properly create channel mapping tables
	  There are two of them, unintuitively enough; the one passed
	  to the encoder should not be the one that gets written to the
	  file. The former maps the input to an ordering which puts
	  paired channels first, while the latter moves the channels
	  to Vorbis order. So add code to calculate both, and we now
	  have properly paired channels where appropriate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-09 15:03:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: add GST_RTP_BUFFER_INIT to initialize RTP buffers on the stack
	  Fixes build of -good.

2011-12-09 12:08:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-12-09 01:31:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: only typefind text with a BOM as text/utf16 or text/utf32
	  We added the utf typefinder because the mp3 typefinder was a tad
	  overzealous when it came to typefinding things as mp3, and replaced
	  it with even more overzealous utf16/32 typefinders.
	  Fixes unit test.

2011-12-08 01:20:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/audiocdsrc.c:
	  Revert "tests: fix audiocdsrc for changed preroll behaviour"
	  This reverts commit 2c9d442d51dd681463ae090c3c57320a90a4f888.
	  Behaviour changed again, so revert this.

2011-12-08 01:19:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/alsa/gstalsadeviceprobe.c
	  ext/alsa/gstalsamixer.c
	  ext/pango/gsttextoverlay.c
	  ext/pango/gsttextoverlay.h
	  gst-libs/gst/audio/gstaudiobasesink.c
	  gst-libs/gst/audio/gstaudioringbuffer.c
	  gst-libs/gst/audio/gstaudiosrc.c
	  gst-libs/gst/video/Makefile.am
	  gst-libs/gst/video/video.c
	  gst/encoding/gststreamcombiner.c
	  gst/encoding/gststreamsplitter.c
	  gst/playback/gstplaybasebin.c
	  gst/playback/gststreamsynchronizer.c
	  gst/playback/gstsubtitleoverlay.c
	  gst/playback/gsturidecodebin.c
	  sys/xvimage/xvimagesink.c
	  tests/examples/Makefile.am
	  win32/common/libgstvideo.def
	  Video overlay composition disabled for now, needs
	  porting to buffer meta.

2011-12-07 18:45:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	  video: make composition_blend() return a boolean
	  Not that anyone will ever check that, and it's not clear what
	  they're supposed to do if it fails, but at least it's there.

2011-12-07 18:31:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	  docs: add new API to docs

2011-12-07 17:57:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* tests/check/libs/video.c:
	* win32/common/libgstvideo.def:
	  video: add seqnum getters for overlay compositions and rectangles
	  API: gst_video_overlay_composition_get_seqnum()
	  API: gst_video_overlay_rectangle_get_seqnum()

2011-11-23 15:45:57 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/video.c:
	  video: support any type of video in _parse_caps
	  Slight change in semantics for convenience. Shouldn't cause any
	  problems since this function is usually only used on pre-filtered
	  caps and not random caps, and it's hard to imagine a situation
	  where someone would want to rely on the previous behaviour.

2011-12-07 00:06:11 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	  opusdec: header cleanup
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-07 00:06:11 -0500  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Truncate caps first
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-11-28 19:47:34 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: default to stereo 48000 Hz if possible when no headers seen
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-06 21:57:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: don't leak previous buffer when shutting down
	  Implement stop vfunc after port to basetransform, so we
	  can clean up properly. Fixes make elements/videorate.valgrind

2011-12-06 20:30:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: fix calculation of last pixel offset in video unit test
	  And check the right buffer (pix2) in one case.

2011-12-06 15:01:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/fft/Makefile.am:
	  examples: fix build of fft example
	  Should link against our own libgstfft-0.10.

2011-12-06 14:55:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: fix leak in gst_video_format_new_template_caps()
	  g_value_reset() is not the same as g_value_unset()

2011-12-06 15:06:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	  ringbuffer: remove old _full version

2011-12-06 13:59:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  fix for basesrc changes

2011-11-23 15:43:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: add suport for hardware accelerated videos
	  Don't plug converters for non-raw video.

2011-12-06 08:37:32 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  controller: port to GstValueArray removal API change

2011-12-05 20:33:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  Revert "videoconvert: We can handle GST_VIDEO_META_API"
	  This reverts commit bd539753eb098c37afa033065f122712bf85f53a.
	  Adding the supported metadata to the query does nothing at this stage. Proposing
	  allocation parameters and supported metadata for upstream should use the
	  propose_allocation vmethod.

2011-12-05 18:42:24 +0100  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtp: Initialize GstRTPBuffer before usage

2011-12-05 18:30:50 +0100  Edward Hervey <edward@collabora.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: We can handle GST_VIDEO_META_API

2011-12-05 18:30:37 +0100  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtp: Don't forget to initialize GstRTPBuffer

2011-12-05 15:48:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video: don't use deprecated GStaticMutex with newer glib versions

2011-12-05 15:34:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/Makefile.am:
	  examples: dist fft sub-directory

2011-11-28 10:05:50 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: unpremultiply text image
	  The GstVideoOverlayComposition only supports unpremultiplied ARGB
	  (for now anyway, support for pre-multiplied alpha is planned.)

2011-11-23 12:49:02 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Attach OverlayComposition to buffers when needed
	  Add video/x-surface support in the caps
	  We should then attach it whenever the sink supports it, but this
	  is working for the time being

2011-11-18 13:22:52 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Make the text_image data a buffer
	  This way we won't free data that would be attached to some buffer.

2011-11-18 11:04:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Sync the caps with the new supported formats
	  Thanks to the use of the new video composition library, we gain support to
	  more colospaces and formats, let's state it.

2011-11-16 17:54:43 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Make use of the new video blending utility

2011-11-25 16:46:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: add basic unit test for video overlay composition and rectangles

2011-11-12 14:59:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-overlay-composition.c:
	* gst-libs/gst/video/video-overlay-composition.h:
	* win32/common/libgstvideo.def:
	  video: add video overlay composition API for subtitles
	  Basic API to attach overlay rectangles to buffers,
	  or blend them directly onto raw video buffers.
	  To be used primarily for things like subtitles or
	  logo overlays, not meant to replace videomixer.
	  Allows us to associate subtitle overlays with
	  non-raw video surface buffers, so that subtitles
	  are not lost and can instead be rendered later
	  when those surfaces are displayed or converted,
	  whilst re-using all the existing overlay plugins
	  and not having to teach them about our special
	  video surfaces. Could also have been made part
	  of the surface buffer abstraction of course, but
	  a secondary goal was to consolidate the blending
	  code for raw video into libgstvideo, and this
	  kind of API allows us to do both in a way that's
	  minimally invasive to existing elements, and at
	  the same time is fairly intuitive.
	  More features and extensions like the ability to
	  pass the source data or text/markup directly will
	  be added later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=665080
	  API: gst_video_buffer_get_overlay_composition()
	  API: gst_video_buffer_set_overlay_composition()
	  API: gst_video_overlay_composition_new()
	  API: gst_video_overlay_composition_add_rectangle()
	  API: gst_video_overlay_composition_n_rectangles()
	  API: gst_video_overlay_composition_get_rectangle()
	  API: gst_video_overlay_composition_make_writable()
	  API: gst_video_overlay_composition_copy()
	  API: gst_video_overlay_composition_ref()
	  API: gst_video_overlay_composition_unref()
	  API: gst_video_overlay_composition_blend()
	  API: gst_video_overlay_rectangle_new_argb()
	  API: gst_video_overlay_rectangle_get_pixels_argb()
	  API: gst_video_overlay_rectangle_get_pixels_unscaled_argb()
	  API: gst_video_overlay_rectangle_get_render_rectangle()
	  API: gst_video_overlay_rectangle_set_render_rectangle()
	  API: gst_video_overlay_rectangle_copy()
	  API: gst_video_overlay_rectangle_ref()
	  API: gst_video_overlay_rectangle_unref()

2011-11-23 00:31:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-blend.h:
	  video: hide private video-blend.[ch] from gobject-introspection
	  And remove unused fields from helper structure.

2011-11-15 18:00:00 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/videoblendorc-dist.c:
	* gst-libs/gst/video/videoblendorc-dist.h:
	  video: add fallbacks for compilation without orc

2011-10-17 17:25:11 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/.gitignore:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-blend.c:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/videoblendorc.orc:
	  video: add some internal helper functions for image blending
	  This could be improved if we decide we don't need it to
	  be this generic/flexible.

2011-12-05 09:38:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/xoverlay.c:
	  xoverlay: Fix mistakes in the sample code
	  Fixes bug #665430.

2011-12-04 22:19:23 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/app/gstappsink.c:
	  Appsink fixes

2011-12-04 20:50:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/tcp/gstmultifdsink.c:
	  Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
	  GStaticRecMutex is part of our API/ABI, not much we can do here
	  in 0.10 for most of these.

2011-12-04 20:38:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixer.h:
	  alsamixer: use GRectMutext instead of GStaticRecMutex with newer glib versions

2011-12-04 20:21:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixer.h:
	  alsamixer: embed static mutexes into the mixer structure
	  instead of allocating them dynamically

2011-12-04 17:02:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/encoding/encoding.c:
	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/examples/overlay/qt-xoverlay.cpp:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/icles/stress-playbin.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	* tools/gst-discoverer.c:
	  tools, tests: g_thread_init() is deprecated in glib master
	  It's not needed any longer.

2011-12-04 16:43:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsadeviceprobe.c:
	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/pango/gsttextoverlay.c:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/glib-compat-private.h:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/video/convertframe.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/tcp/gstmultifdsink.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.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'll change these
	  over to the new API once we depend on glib >= 2.32.
	  Replace g_thread_create() with g_thread_try_new().

2011-12-04 15:23:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/xmpwriter.c:
	  xmpwriter: update for thread API deprecations in glib master

2011-12-04 13:43:06 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/fft/Makefile.am:
	  fft-example: re-add Makefile.am

2011-12-02 23:35:50 +0100  Stefan Sauer <ensonic@users.sf.net>

	* configure.ac:
	  configure: trim trailing whitespace

2011-12-02 23:34:47 +0100  Stefan Sauer <ensonic@users.sf.net>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/fft/.gitignore:
	* tests/examples/fft/fftrange.c:
	  tests: add a test for fft result value-ranges
	  Add a small example that uses ffts of various types and parameters and check the
	  result value ranges.

2011-12-02 22:24:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  update for basesink event handler changes

2011-11-28 19:38:34 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: guard against decoding 0 samples
	  https://bugzilla.gnome.org/show_bug.cgi?id=665078

2011-12-02 11:10:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  gst-libs/gst/netbuffer/gstnetbuffer.c
	  gst/ffmpegcolorspace/avcodec.h
	  gst/ffmpegcolorspace/gstffmpegcodecmap.c
	  gst/ffmpegcolorspace/imgconvert.c
	  gst/ffmpegcolorspace/imgconvert_template.h
	  gst/ffmpegcolorspace/mem.c
	  gst/playback/README
	  gst/playback/gstplaybasebin.c
	  gst/playback/gstplaybasebin.h
	  gst/playback/gstplaybin.c
	  sys/v4l/v4lmjpegsrc_calls.c
	  sys/v4l/videodev_mjpeg.h
	  tests/check/elements/gnomevfssink.c

2011-09-13 21:10:43 +0200  Piotr Fusik <fox@scene.pl>

	* docs/design/design-audiosinks.txt:
	* docs/design/design-decodebin.txt:
	* docs/design/design-encoding.txt:
	* docs/design/design-orc-integration.txt:
	* docs/design/draft-keyframe-force.txt:
	* docs/design/draft-va.txt:
	* ext/alsa/gstalsamixer.c:
	* ext/libvisual/visual.c:
	* ext/ogg/README:
	* ext/ogg/gstoggdemux.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	* gst-libs/gst/interfaces/navigation.c:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.3.0.txt:
	* gst-libs/gst/tag/id3v2.4.0-frames.txt:
	* gst-libs/gst/tag/id3v2.4.0-structure.txt:
	* gst/adder/gstadder.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	* gst/ffmpegcolorspace/mem.c:
	* gst/playback/README:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybasebin.h:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcp.c:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* m4/freetype2.m4:
	* sys/v4l/v4lmjpegsrc_calls.c:
	* sys/v4l/videodev_mjpeg.h:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	* tests/check/elements/adder.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/gnomevfssink.c:
	* tests/check/elements/textoverlay.c:
	* tests/examples/encoding/encoding.c:
	  various: typo fixes
	  Fix typos in code and docs. Fixes. #658984

2011-12-02 00:07:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/alsa/gstalsasrc.c
	  ext/alsa/gstalsasrc.h
	  gst/adder/gstadder.c
	  gst/playback/gstplaybin2.c
	  gst/playback/gstplaysinkconvertbin.c
	  win32/common/libgstvideo.def

2011-12-01 23:26:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  Add {audio,video}-marshal.[ch] to .gitignore

2011-12-01 18:51:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tags: make the tag functions return GstSample
	  gst_tag_image_data_to_image_buffer() ->
	  gst_tag_image_data_to_image_sample() And make it return a GstSample.
	  Store the image-type into the extra sample info.
	  Remove a deprecated tag

2011-12-01 16:48:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* tests/check/libs/video.c:
	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsrc_ex.c:
	* tests/examples/seek/seek.c:
	  Use the new GstSample for snapshots
	  Make appsink return a GstSample. Remove the pull_buffer_list method because it
	  is not very useful anymore.
	  Pass GstSample to the conversion function.
	  Update playbin2 and examples

2011-12-01 15:54:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstapp-marshal.list:
	  update marshal list

2011-12-01 15:47:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: fix the transform_size function
	  The output size of a buffer does not depend on the input size but simply on the
	  caps of the output buffers. Don't let the base implementation deal with
	  unit_sizes, because input buffers might not be a multiple of that when they have
	  padding or non-default strides. instead, implement a transform size function
	  that simply calculate the natural size of an output buffer based on the caps.

2011-12-01 15:45:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: add copy functions
	  Without copy functions, the metadata is lost when we make a buffer copy such as
	  when we make a buffer writable.

2011-12-01 15:38:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix negotiation
	  Remove old useless caps code.
	  Make a negotiate function and use the configured caps as the caps on the appsrc
	  pad. If nothing was configured, fall back to the parent implementation.

2011-12-01 11:59:17 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: be more graceful in the clipfunction
	  Doing dynamic pipelines is hard in 0.10. As we don't have the sticky events in
	  0.10 and sending such events in special elements like adder and tee was outvoted
	  on last attempt, be graceful to the misbehaviour instead.

2011-12-01 01:22:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  tests: fix caps leak in audioresample tests

2011-12-01 01:07:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/basetime.c:
	  tests: fix memory leak in basetime test

2011-11-30 23:58:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: tone down debug message about file URIs with spaces
	  Complain a bit less loudly about URIs that have not been
	  escaped properly.

2011-11-30 23:15:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  Revert "alsasrc: Improve timestamp accuracy"
	  This reverts commit 0b774e0b7cf7a8ef1780fb6100228ca6e8ca8bcf.

2011-11-30 23:15:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  Revert "alsasrc: Fix some compilation errors"
	  This reverts commit 2b84f5bd74ddb50f7832917ea8b4dd38d005631b.

2011-11-30 23:15:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  Revert "alsa: Remove unused but set variable"
	  This reverts commit e9aed7f31c7e9e415f733e147140ce3ef2f57a61.

2011-11-30 23:15:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  Revert "alsasrc: fail gracefully when ALSA does not give timestamps"
	  This reverts commit c7282a5718c7f31f84fb31b2c38fab0f9a38e2b0.

2011-11-30 23:14:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  Revert "alsasrc: handle the case where the drivers don't supply timestamps"
	  This reverts commit 8154b69112cdc4830cd6002ec6c1f2917d30437b.

2011-11-28 10:55:39 +0100  Stefan Sauer <ensonic@google.com>

	* ext/alsa/gstalsasrc.c:
	  Revert "alsasrc: style fix"
	  This reverts commit f70ca6d4cbfd2b672dcc7215814bf6b39ce2c3f8.

2011-11-30 14:25:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Don't send undefined NEWSEGMENT events to the internal elements
	  This happens when the internal elements are added before any NEWSEGMENT
	  event arrived and in that case we shouldn't send a NEWSEGMENT event
	  to the internal elements at all. They will get the NEWSEGMENT event
	  from upstream later.

2011-11-30 11:34:23 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/alsa.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/mixer.c:
	  tests: More fixes for moved interfaces

2011-11-30 11:34:04 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstaudio.def:
	* win32/common/libgstinterfaces.def:
	* win32/common/libgstvideo.def:
	  win32: update for API changes

2011-11-30 11:33:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Add audio-marshal.list to dist-ed files

2011-11-30 07:57:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* ext/alsa/gstalsamixer.h:
	* ext/alsa/gstalsamixeroptions.h:
	* ext/alsa/gstalsamixertrack.h:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-marshal.list:
	* gst-libs/gst/audio/mixer.c:
	* gst-libs/gst/audio/mixer.h:
	* gst-libs/gst/audio/mixeroptions.c:
	* gst-libs/gst/audio/mixeroptions.h:
	* gst-libs/gst/audio/mixertrack.c:
	* gst-libs/gst/audio/mixertrack.h:
	* gst-libs/gst/audio/mixerutils.h:
	* gst-libs/gst/audio/streamvolume.c:
	* gst-libs/gst/audio/streamvolume.h:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/interfaces-marshal.list:
	* gst/playback/Makefile.am:
	* gst/playback/gstplaybin2.c:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolume.h:
	  audio: move audio interfaces
	  Move the audio related interfaces to the audio library.

2011-11-30 07:23:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-videooverlay.c:
	  fix includes for moved interfaces

2011-11-30 07:23:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: small cleanup in docs

2011-11-29 19:49:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	  video: Don't forget to install moved header files

2011-11-29 19:31:55 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/examples/seek/Makefile.am:
	* tests/icles/Makefile.am:
	* tests/icles/test-colorkey.c:
	  tests: More fixes for moved interfaces

2011-11-29 19:10:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/colorbalance.c:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/colorbalancechannel.c:
	* gst-libs/gst/video/colorbalancechannel.h:
	* gst-libs/gst/video/video-marshal.list:
	* gst-libs/gst/video/videoorientation.c:
	* gst-libs/gst/video/videoorientation.h:
	* gst-libs/gst/video/videooverlay.c:
	* gst-libs/gst/video/videooverlay.h:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.cpp:
	* tests/icles/Makefile.am:
	* tests/icles/stress-videooverlay.c:
	  video: move some interfaces
	  Move some interfaces to the video library

2011-11-29 14:47:37 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: fill the audio-info that we use and not some random other one

2011-11-29 14:22:19 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: unbreak adder
	  There was one line too much removed when porting.

2011-11-29 14:15:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix decoder-sink compatibility check for raw audio/video formats
	  If the sink supports raw audio/video, we first check
	  if the decoder could output any raw audio/video format
	  and assume it is compatible with the sink then. We don't
	  do a complete compatibility check here if converters
	  are plugged between the decoder and the sink because
	  the converters will convert between raw formats and
	  even if the decoder format is not supported by the decoder
	  a converter will convert it.
	  We assume here that the converters can convert between
	  any raw format.
	  Fixes bug #665120.

2011-11-29 10:40:40 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: fix deadly setcaps recursion
	  Use a flag to avoid calling setcaps until our stack is exhausted. I don't see how this would be useful.

2011-11-29 09:11:21 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix compiler warning

2011-11-29 08:49:53 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* win32/common/libgstvideo.def:
	  libgstvideo: minor fixes to key unit events
	  Make out args to gst_video_event_parse_{downstream|upstream}_force_key_unit
	  optional, update libgstvideo.def and fix docs a bit.
	  API: gst_video_event_new_upstream_force_key_unit
	  API: gst_video_event_new_downstream_force_key_unit
	  API: gst_video_event_is_force_key_unit
	  API: gst_video_event_parse_upstream_force_key_unit
	  API: gst_video_event_parse_downstream_force_key_unit
	  https://bugzilla.gnome.org/show_bug.cgi?id=607742

2011-06-05 01:49:38 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  libgstvideo: Add force key unit events

2011-11-28 23:20:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-11-28 23:20:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-11-28 23:20:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11

2011-11-28 23:20:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '7521b597f4dc49d8d168f368f0e7ebaf98a72156' into 0.11

2011-11-28 23:20:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '26d6add9457f00ce8ec13844368466f0e3816e5d' into 0.11
	  Conflicts:
	  ext/rtmp/gstrtmpsink.c

2011-11-28 23:20:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '26d6add9457f00ce8ec13844368466f0e3816e5d' into 0.11
	  Conflicts:
	  ext/rtmp/gstrtmpsink.c

2011-11-28 21:25:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  gst-libs/gst/fft/gstffts16.h

2011-11-28 21:20:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit 'c5544630250ec434e4dafaf17274e83865415120' into 0.11

2011-11-28 21:20:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge commit '4a58223e4c824fedc024af435337a769e8ce593e' into 0.11

2011-11-28 20:11:09 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/fft/gstfft.h:
	* gst-libs/gst/fft/gstfftf32.h:
	* gst-libs/gst/fft/gstfftf64.h:
	* gst-libs/gst/fft/gstffts16.h:
	* gst-libs/gst/fft/gstffts32.h:
	  fft: Bracket public headers
	  This is especially needed if the gstfftw library is used from C++
	  code.
	  Fixes #665074

2011-11-28 20:10:18 +0100  Philippe Normand <phil@base-art.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Fix compiler warning

2011-11-28 19:03:50 +0100  Alexey Fisher <bug-track@fisher-privat.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix build error
	  fix build errors:
	  gsttypefindfunctions.c:248:25: error: 'low' may be used uninitialized in this function [-Werror=uninitialized]
	  gsttypefindfunctions.c:239:24: error: 'high' may be used uninitialized in this function [-Werror=uninitialized]
	  Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>

2011-11-28 19:06:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Fix stupid mistake in last commit

2011-11-28 19:03:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Only return the converter caps if we actually have raw caps
	  Fixes bug #664818 (hopefully).

2011-11-28 18:24:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  Update for indexable change

2011-11-28 17:59:32 +0100  Kipp Cannon <kcannon@cita.utoronto.ca>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Don't emit DISCONT buffers if no discontinuity happened
	  audioresample is derived from GstBaseTransform, and one of
	  GstBaseTransform's traits is that if the derived element does not
	  produce an output buffer from some input buffer then the first output
	  buffer after that gets flaged as a discontinuity, whether or not the
	  buffer actually is discontinuous from the output buffer that preceded
	  it. When downsampling, the audioresample element requires more than
	  one input sample for each output sample, and if the ratio of input to
	  output sample rates is high enough and the input buffers short enough
	  it can come to pass that the resampler does not receive enough samples
	  on its input to produce any output.  Currently the resampler returns
	  GST_BASE_TRANSFORM_FLOW_DROPPED from the transform() method in this case,
	  causing the next buffer to be flagged as a discontinuity. If subsequent
	  elements in the pipeline reset themselves on disconts, this can cause
	  clicks and other undesireable behaviour.
	  Fixes bug #665004.

2011-11-28 17:51:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audio: update for clock provider API change

2011-09-30 20:00:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/Makefile.am:
	* gst/typefind/gsttypefindfunctions.c:
	  typefind: typefind UTF-16 and UTF-32
	  This avoids the MP3 typefinder from getting the highest score
	  every time it thinks there's something it might possibly be
	  able to parse.
	  https://bugzilla.gnome.org/show_bug.cgi?id=607619

2011-11-28 16:55:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	  fix for element flag cleanups

2011-11-28 13:27:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  Revert "theoradec: move the QoS logic to libgstvideo"
	  This reverts commit 149a4ce390a78e21309b210f7daba9db5d42afe6.
	  *grumble* I managed to merge something I did not mean to.

2011-11-28 13:26:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* win32/common/libgstvideo.def:
	  Revert "libgstvideo: add a new API to handle QoS events and dropping logic"
	  This reverts commit eb03323fb683e06ed8e7f557037f13252f150c25.
	  *grumble* I managed to merge something I did not mean to.

2011-11-28 12:51:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/v4l/gstv4lmjpegsink.c:
	* sys/v4l/gstv4lmjpegsrc.c:
	* sys/v4l/gstv4lsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2-compressed.c:
	* tests/check/elements/playbin2.c:
	* tests/check/elements/videoscale.c:
	  various: fix pad template leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=662664

2011-11-28 13:08:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  various: fix pad template ref leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=662664

2011-09-07 16:04:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: move the QoS logic to libgstvideo
	  https://bugzilla.gnome.org/show_bug.cgi?id=658241

2011-09-05 13:56:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* win32/common/libgstvideo.def:
	  libgstvideo: add a new API to handle QoS events and dropping logic
	  https://bugzilla.gnome.org/show_bug.cgi?id=658241

2011-11-28 11:30:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: elaborate some documentation

2011-11-28 11:28:06 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: add some documentation

2011-11-21 14:26:54 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: really discard NULL decoded frame altogether
	  ... including any timestamp, rather than having that one influence base_ts.

2011-11-28 10:55:39 +0100  Stefan Sauer <ensonic@google.com>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: style fix
	  Use timestamp==0 instead of mixing it with !timestamp style checks.

2011-11-28 09:12:37 +0100  Stefan Sauer <ensonic@users.sf.net>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: handle the case where the drivers don't supply timestamps
	  If highres-timestamp is 0, try lowres and if that fails fallback to system clock
	  timestamps.

2011-11-27 23:33:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-11-27 23:33:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-11-27 20:14:08 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix debug message printf format compiler warning
	  https://bugzilla.gnome.org/show_bug.cgi?id=662607

2011-11-26 15:37:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusparse.c
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideodecoder.h

2011-11-26 15:37:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusparse.c
	  gst-libs/gst/video/gstbasevideodecoder.c
	  gst-libs/gst/video/gstbasevideodecoder.h

2011-11-26 12:12:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/vorbis/gstvorbisenc.c
	  gst/playback/gstdecodebin2.c
	  gst/playback/gstplaysinkconvertbin.c
	  gst/videorate/gstvideorate.c

2011-11-01 15:21:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: set collectpads2 not to wait on sparse streams
	  https://bugzilla.gnome.org/show_bug.cgi?id=663174

2011-11-25 11:41:19 -0200  Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opusenc: Fixing "Unused var" compiling error for opus codec
	  https://bugzilla.gnome.org/show_bug.cgi?id=664815

2011-11-25 14:00:18 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	  opusenc: only use mono streams for > 2 channels
	  I'm getting odd results with packing streams into stereo
	  streams, and using only mono streams is enough in all cases.

2011-11-25 12:47:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: add some more debug information about channel mapping

2011-11-25 12:40:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: do not cause the decoder to apply the channel mapping again
	  Since we already reorder channels, we do not want to write that
	  reordering in the header, or the decoder will do it again.

2011-11-25 12:39:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix bogus assertion

2011-11-25 15:35:39 +0100  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: make identiy silent

2011-11-25 13:11:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audio: remove unstable API guards from the audio decoder and encoder base classes

2011-11-25 12:58:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  docs: mention explicitly that playbin2 signals are emitted from a streaming thread

2011-11-25 12:48:58 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/faac/gstfaac.c
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusenc.c
	  gst/audiovisualizers/gstspacescope.c
	  gst/colorspace/colorspace.c

2011-11-25 12:48:58 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  ext/faac/gstfaac.c
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusenc.c
	  gst/audiovisualizers/gstspacescope.c
	  gst/colorspace/colorspace.c

2011-11-25 11:11:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Set the multiqueue limits to the playing limits after overrun too
	  We don't expect any new pads anymore and prerolling is finished now.

2011-11-25 11:08:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Cache the upstream seekability for demuxer decode chains and use it for the non-preroll multiqueue limits
	  After preroll the multiqueue limits are still set to the preroll
	  limits if use-buffering is set to TRUE. In that case we only want
	  time limits on the multiqueue if upstream is seekable.

2011-11-08 13:55:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix prerolling for low bitrate streams from hlsdemux
	  Such streams were detected as seekable, as the query on the typefind
	  element was testing the m3u8 file listing the actual streams, and
	  not going through the demuxer(s).
	  We now check for seekability for each multiqueue following a demuxer,
	  so the query will flow through the elements which might prevent seeking.
	  https://bugzilla.gnome.org/show_bug.cgi?id=647769

2011-11-25 10:31:38 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gst-libs: Add --warn-all to introspection scanner
	  And let's get fixing those docs :)

2011-11-24 21:39:14 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	  tests: update for gstcheck API change

2011-10-24 11:46:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: minor cleanup

2011-09-27 16:45:26 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	  libgstriff: add a couple tags that need skipping
	  Found in a sample in the wild, appears to be ID3 tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=660249

2011-11-24 14:41:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Rename ARG_ enums to PROP_
	  This is more consistent with other code and these are
	  properties anyway, not arguments

2011-11-24 14:29:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: Add property to force an output framerate
	  API: GstVideoRate:force-fps
	  Changing the framerate during playback is not possible
	  with a capsfilter downstream if upstream is not using
	  gst_pad_alloc_buffer(). In that case there's no way in
	  0.10 to signal to videorate that the preferred framerate
	  has changed.
	  This new property will force the output framerate to
	  a specific value and can be changed during playback.

2011-11-24 13:38:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: pre-skip and output gain are little endian, remove reminder note

2011-11-24 13:29:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopuscommon.c:
	* ext/opus/gstopuscommon.h:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: multichannel support

2011-11-23 17:49:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: switch to multistream API
	  It's very similar to the basic API, and is a superset ot it,
	  which will allow encoding and decoding more than 2 channels.

2011-11-23 17:32:03 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: shuffle supported sample rates to favor 48000

2011-11-23 16:36:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: remove useless setup field

2011-11-24 12:38:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Reconfigure if we switch from raw to incompatible raw caps
	  We might need to add converters and worked in passthrough mode before.

2011-11-24 12:37:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Override acceptcaps function for the two ghostpads
	  The ghostpad acceptcaps functions are not valid in this case because
	  we don't only accept the caps accepted by the target but could also
	  insert converters. Fixes bug #663892.

2011-11-24 11:34:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	  playsinkaudioconvert: use-volume and use-converters are no construct-only properties anymore
	  Fixes bug #663893.

2011-11-24 11:09:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix width/height mismatches
	  https://bugzilla.gnome.org/show_bug.cgi?id=663238

2011-11-24 11:04:10 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix odd width and height handling in some fastpath cases

2011-10-22 20:29:26 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: skip the second bisection when possible
	  If we already saw the keyframes that we need to find,
	  we do not need to bisect to find them.
	  This will always be the case for streams with audio only,
	  where each frame acts as a keyframe, but will occasionally
	  also happen for streams with video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=662475

2011-10-22 20:20:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: improve push time seeking
	  Various tweaks to improve convergence, in particular for
	  the worst case, which is now cut in about half.
	  https://bugzilla.gnome.org/show_bug.cgi?id=662475

2011-10-21 19:38:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: gather some more stats about bisection
	  https://bugzilla.gnome.org/show_bug.cgi?id=662475

2011-11-24 01:30:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: double-check property type before blindly setting/proxying values

2011-11-24 01:18:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin2, uridecodebin: make connection-speed property a guint64

2011-11-23 23:16:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  docs: update sgml for renames

2011-11-23 16:09:13 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: do not accept 256 channels, 255 is the max vorbis supports

2011-11-23 13:22:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: implement replay gain
	  It would ideally be better to leave this to a rgvolume element,
	  but we don't control the pipeline. So do it by default, and allow
	  disabling it via a property, so the correct volume should always
	  be output.

2011-11-23 11:58:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: add in-band FEC support
	  This allows reconstruction of lost packets if FEC info is included
	  in the next packet, at the cost of extra latency. Since we do not
	  know if the stream has FEC (and this can change at runtime), we
	  always incur the latency, even if we never lose any frame, or see
	  any FEC information. Off by default.

2011-11-23 11:10:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: fix compilation

2011-11-23 11:08:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusenc.c
	  ext/opus/gstopusparse.c
	  gst/audiovisualizers/gstwavescope.c
	  gst/filter/Makefile.am
	  gst/filter/gstfilter.c
	  gst/filter/gstiir.c
	  gst/playondemand/gstplayondemand.c

2011-11-23 11:08:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusenc.c
	  ext/opus/gstopusparse.c
	  gst/audiovisualizers/gstwavescope.c
	  gst/filter/Makefile.am
	  gst/filter/gstfilter.c
	  gst/filter/gstiir.c
	  gst/playondemand/gstplayondemand.c

2011-11-23 10:50:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/ogg/gstoggmux.c

2011-11-22 20:27:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: mark properties changeable at runtime with GST_PARAM_MUTABLE_PLAYING

2011-11-22 18:33:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/elements/opus.c:
	  opus: add test

2011-11-22 17:04:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: allow setting most properties at PLAYING time
	  Opus allows these to be changed during encoding, transparently
	  to the decoder.

2011-11-22 16:14:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: bound the bitrate to more sensible values
	  Go from the bounds mentioned in the spec, and allow some more
	  variation.
	  In particular, don't allow silly low bitrates, and allow reaching
	  the maximum useful bitrate.

2011-11-22 15:33:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: fix crash on pathological parameters
	  Asking for 1 bit/s would select a 0 byte buffer, leading
	  to a crash. Buffer size is now controlled by a max-payload-size
	  property, which can't be less than 2.

2011-11-22 13:29:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: extract opus comments if available

2011-11-21 17:48:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: move header magic testing to gstopusheader

2011-11-21 17:01:49 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: skip pre-skip samples

2011-11-21 12:50:22 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: read pre-skip from first header if available

2011-11-22 13:15:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: recognize opus headers from data, not packet count
	  Opus streams outside of Ogg may not have headers, and oggstream
	  may be used by oggmux to mux an Opus stream which does not come
	  from Ogg - thus without headers.
	  Determining headerness by packet count would strip the first two
	  packets from such an Opus stream, leading to a very small amount
	  of audio being clipped at the beginning of the stream.

2011-11-22 13:01:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add some more debug info when determining start time

2011-11-22 12:55:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: fix opus duration calculation

2011-11-22 12:00:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: early out on headers when determining packet duration

2011-11-21 17:03:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: account for opus pre-skip in granpos/time mapping

2011-11-22 10:04:12 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: avoid removing children from bin twice
	  GstBin base class removes children in dispose, so we need to do the same.

2011-11-22 01:21:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	  Fix some more printf format warnings

2011-11-21 19:28:01 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  Fix printf format compiler warnings for OSX / 64bit
	  https://bugzilla.gnome.org/show_bug.cgi?id=662607

2011-11-21 13:35:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  update for activation changes

2011-11-21 13:04:42 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	  ximagebufferpool: Use the default ::free_buffer() implementation
	  Which does exactly the same thing

2011-11-21 13:04:12 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	  xvimagebufferpool: Use the default ::free_buffer() implementation
	  Which does exactly the same thing

2011-11-21 12:02:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: reset tagsetter interface on stop

2011-11-21 11:44:01 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: handle NULL packets (used for PLC)

2011-11-21 11:28:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: light cleanup

2011-11-20 09:58:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: do not push header buffers
	  Opus headers appear only when muxed in Ogg, so only place them
	  on the caps, where oggmux will find them, but other elements will
	  be blithely unaware of them.

2011-11-20 09:52:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: make opusparse set headers on caps
	  Header-on-caps code moved to a new shared location to avoid
	  duplicating the code.

2011-11-19 16:06:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: add opus support

2011-11-19 15:58:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix terminating NUL being written in signature

2011-11-16 19:40:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: make frame-size an enum
	  It only supports a set number of specific values (including
	  a non integer one).

2011-11-16 19:22:44 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: the encoder might not make use of all the bytes

2011-11-18 17:58:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiosrc.c:
	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	  update for new scheduling query

2011-11-18 13:56:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  add parent to activate functions

2011-11-18 12:37:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  fix for scheduling mode rename

2011-11-17 17:32:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/celt/gstceltdec.c
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusdec.h
	  ext/opus/gstopusenc.c
	  ext/opus/gstopusenc.h
	  ext/opus/gstopusparse.c

2011-11-17 17:32:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/celt/gstceltdec.c
	  ext/opus/gstopusdec.c
	  ext/opus/gstopusdec.h
	  ext/opus/gstopusenc.c
	  ext/opus/gstopusenc.h
	  ext/opus/gstopusparse.c

2011-11-17 17:07:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/gstaudiodecoder.c

2011-11-17 16:15:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tag: update for new typefind

2011-11-17 12:48:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  add parent to pad functions

2011-11-17 08:24:27 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  collectpads: port API changes

2011-11-16 18:49:03 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: do not include variable fields in caps
	  Those can vary from one packet to the next, so have no reason
	  to be in the caps.

2011-11-16 18:43:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix constrained-vbr property name typo

2011-11-16 18:35:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: let the base class handle all timing

2011-11-16 19:00:44 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: reset tag setter interface when appropriate

2011-11-16 19:00:30 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: invalidate format info when setup negotiation failed
	  ... which ensures nothing subsequently tries to slip past _chain
	  and into a possibly improperly setup subclass.

2011-11-15 19:53:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	  opusparse: add opusparse element
	  A very simple element that parses Opus streams from the ad hoc
	  framing used by the Opus test vectors.

2011-11-16 17:24:20 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: allow negotiation of rate/channels with downstream
	  Since an opus stream may be decoded to any (sensible) rate,
	  and either stereo or mono, we try to accomodate downstream.

2011-11-16 17:05:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: rewrite logic
	  Parameters such as frame size, etc, are variable. Pretty much
	  everything can change within a stream, so be prepared about it,
	  and do not cache parameters in the decoder.

2011-11-16 16:56:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: port to base audio encoder/decoder

2011-11-15 13:29:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: accept dropped buffers before we know the format
	  This allows flacdec to not emit audio for headers, while allowing
	  the base audio decoder to keep its timestamps in sync.

2011-11-16 17:50:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  add parent to internal links

2011-11-16 17:25:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstsubparse.c:
	  add parent to query function

2011-11-16 13:26:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: allow negotiation of rate/channels with downstream
	  Since an opus stream may be decoded to any (sensible) rate,
	  and either stereo or mono, we try to accomodate downstream.

2011-11-16 01:14:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: rewrite logic
	  Parameters such as frame size, etc, are variable. Pretty much
	  everything can change within a stream, so be prepared about it,
	  and do not cache parameters in the decoder.

2011-11-15 23:00:32 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: remove buffer pool, buffers are not constant size

2011-11-15 19:53:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	  opusparse: add opusparse element
	  A very simple element that parses Opus streams from the ad hoc
	  framing used by the Opus test vectors.

2011-11-16 12:37:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: update for renamed flags
	  Use the _check_reconfigure method instead of checking flags.
	  Don't need to ref the parent anymore, core does that.

2011-11-15 17:49:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix pointer mismatch in memcpy on drain

2011-11-15 17:58:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	  _query_peer_*() -> _peer_query_*()

2011-11-15 17:17:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamsplitter.c:
	  _peer_get_caps() -> _peer_query_caps()

2011-11-15 16:48:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* tests/check/elements/audioconvert.c:
	* tests/examples/encoding/encoding.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	  update for _get_caps() -> _query_caps()

2011-11-15 16:30:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	  change getcaps to query
	  Add sink and src event functions in rtpbasepayload
	  Add query vmethod to rtpbasepayload.

2011-11-15 13:29:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: accept dropped buffers before we know the format
	  This allows flacdec to not emit audio for headers, while allowing
	  the base audio decoder to keep its timestamps in sync.

2011-11-14 13:41:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: port to encoder/decoder base classes

2011-11-14 12:45:31 +0100  Robert Swain <robert.swain@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audio: Remove some unused variables

2011-08-30 18:27:09 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtcpbuffer: Add feedback message types from RFC 5104
	  These are Codec Control messages (CCM)
	  https://bugzilla.gnome.org/show_bug.cgi?id=658419

2011-10-19 16:30:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: improve reverse playback
	  ... by doing some more (reverse) timestamp interpolating and
	  refactoring downstream pushing.
	  Fixes #661983.

2011-11-14 09:59:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tag: convert GstTagDemux's sometimes source pad to an always source pad
	  Originally decodebin couldn't deal with that in 0.10, but now simply
	  setting the caps when we know them should be enough. Pad activation
	  mode switching might need some more testing/tweaking with the new
	  arrangement.

2011-11-14 10:46:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  fix docs

2011-11-12 15:37:37 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/icles/audio-trickplay.c:
	  controller: no need to explicitely add controlled properties anymore

2011-11-13 23:44:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/gio/gstgio.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	  Update for GstURIHandler get_protocols() changes

2011-11-13 18:22:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/gio/gstgio.c:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* tests/check/libs/audiocdsrc.c:
	  gio, appsrc, appsink, cdaudiosrc: update for GstURIHandler API changes

2011-11-13 14:39:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstaudio.def:
	* win32/common/libgstinterfaces.def:
	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	  win32: update for API changes

2011-11-13 13:32:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/Makefile.am
	  gst-libs/gst/audio/audio.h
	  tests/examples/seek/jsseek.c
	  tests/examples/seek/seek.c
	  tests/icles/test-colorkey.c

2011-11-13 13:18:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audio: add GST_AUDIO_INFO_IS_VALID macro and use in audio decoder base class
	  API: GST_AUDIO_INFO_IS_VALID

2011-11-12 15:51:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	  tests: require Gtk+ 3.0 for examples and Gtk-based test apps
	  The Gtk+ dependency is entirely optional, we're just not
	  supporting Gtk+ 2.x any longer.

2011-11-07 17:36:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: fix order in LIBADD
	  Local libs must come first.

2011-11-12 12:00:17 +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/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/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 after library merge

2011-11-12 11:56:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	  tests: update after type renames

2011-11-11 11:29:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/POTFILES.in:
	  po: update POTFILES.in for renamed source files

2011-11-07 17:36:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: fix order in LIBADD
	  Local libs must come first.

2011-11-07 17:25:45 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/audiocdsrc.c:
	  tests: fix audiocdsrc for changed preroll behaviour
	  Previously, the source posted a TAG message before buffers would
	  even be pushed towards the sink, so we'd get the TAG message before
	  any ASYNC_DONE message. Now the tags get sent downstream to the sink
	  to get posted there, and the tag event will get queued and handled
	  later after preroll has finished, so now we get the ASYNC_DONE
	  message before the TAG message.

2011-09-24 19:55:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/audiocdsrc.c:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	  tests: fix up cddabasesrc unit test for GstCddaBaseSrc -> GstAudioCdSrc renaming

2011-09-24 19:35:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/Makefile.am:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	  cdparanoia: update for GstCddaBaseSrc -> GstAudioCdSrc renaming

2011-09-24 19:22:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-plugins-base.spec.in:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-cdda-uninstalled.pc.in:
	* pkgconfig/gstreamer-cdda.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* po/POTFILES.in:
	* win32/MANIFEST:
	* win32/common/libgstcdda.def:
	* win32/vs6/libgstcdda.dsp:
	  cdda: rename GstCddaBaseSrc to GstAudioCdSrc and move to libgstaudio
	  Another mini-lib down, to make space for new mini libs.
	  Remove bogus copyright line while at it.

2011-11-12 09:56:04 +0000  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  update spec file for latest 0.11 changes

2011-11-12 01:38:37 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/videoconvert/gstvideoconvert.c:
	  audioconvert, videoconvert: fix caps leak in transform_caps

2011-11-11 20:19:53 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	  audioconvert: fix leak of channel matrix
	  gst_channel_mix_unset_matrix relies on the channel count to free the matrix
	  array, so run it before resetting it to zero with gst_audio_info_init.

2011-11-11 19:55:41 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix crash with ARGB64
	  This got broken when it was ported.

2011-11-11 19:53:11 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: init chroma-size and colorimetry members even if missing from caps
	  This makes a TRUE return from gst_video_info_from_caps fully consistent with
	  gst_video_info_init.

2011-11-11 19:36:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-11 19:35:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspextension.h:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.h:
	  rtsp: cleanup headers
	  Add padding, fix indentation, remove deprecated stuff

2011-11-11 19:21:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	  rtp: fix headers
	  indent, add padding, remove old abidata

2011-11-11 19:16:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/propertyprobe.h:
	* gst-libs/gst/interfaces/streamvolume.h:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/videoorientation.h:
	  remove padding from interfaces

2011-11-11 19:16:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/tunernorm.h:
	  fix docs

2011-11-11 19:14:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/mixertrack.h:
	  mixertrack: fix docs

2011-11-11 19:13:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: fix docs

2011-11-11 19:01:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: clean up headers
	  Add padding
	  indent

2011-11-11 18:49:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/colorbalancechannel.h:
	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/mixeroptions.h:
	* gst-libs/gst/interfaces/mixertrack.h:
	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/propertyprobe.h:
	* gst-libs/gst/interfaces/streamvolume.h:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/tunerchannel.h:
	* gst-libs/gst/interfaces/tunernorm.h:
	* gst-libs/gst/interfaces/videoorientation.h:
	* gst-libs/gst/interfaces/videooverlay.h:
	  interfaces: clean up
	  Remove deprecated bits
	  Fix FIXMES
	  Indent
	  Add padding

2011-11-11 17:46:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	  opus: port to 0.11

2011-11-11 18:23:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf32.h:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstfftf64.h:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts16.h:
	* gst-libs/gst/fft/gstffts32.c:
	* gst-libs/gst/fft/gstffts32.h:
	  fft: fix headers
	  More fft structure into .c file
	  indent headers

2011-11-11 17:53:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	  audio: fix headers
	  Add const to some methods.
	  Add padding.
	  Add GType for GstAudioInfo and GstAudioFormatInfo.
	  Add new/copy/free for GstAudioInfo.

2011-11-11 17:52:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  app: fix headers

2011-11-11 13:32:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: fix visualisations again
	  Make caps writable before merging other caps into them.

2011-11-11 13:14:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-media-types.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add support for max-framerate
	  Add support for max-framerate in the video helpers and update the video
	  caps document.

2011-11-11 13:12:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  make the identity silent

2011-11-11 12:35:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideoclip.h:
	  remove bogus file

2011-11-11 12:32:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	  rename files to match object names

2011-11-11 12:24:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rename BaseRTP -> RTPBase

2011-11-11 12:00:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  rename baseaudio* -> audiobase*

2011-11-11 11:52:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.h:
	  rename GstBaseAudio* ->GstAudioBase*

2011-11-11 11:33:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* gst-libs/gst/audio/gstbaseaudiosrc.h:
	  rename files to match contained objects

2011-11-11 11:21:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.h:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	  audio: GstRingBuffer -> GstAudioRingBuffer

2011-11-11 10:54:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: rename internal audio ringbuffer

2011-11-11 10:27:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioprocess.c:
	* gst-libs/gst/audio/gstaudioprocess.h:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstbaseaudiosrc.c.orig:
	* gst-libs/gst/audio/gstbaseaudiosrc.c.rej:
	* gst-libs/gst/audio/gstringbufferthread.c:
	* gst-libs/gst/audio/gstringbufferthread.h:
	* gst-libs/gst/cdda/gst-plugins-base-sha1-2.patch:
	* gst-libs/gst/cdda/gstcddabasesrc.c.orig:
	* gst-libs/gst/rtp/gst-plugins-base-rtcp-feedback.patch:
	* gst-libs/gst/rtp/gstbasertppayload.c.orig:
	* gst-libs/gst/rtp/gstbasertppayload.c.rej:
	* gst-libs/gst/rtp/gstrtpbuffer.c.new:
	* gst-libs/gst/rtsp/gstrtspconnection.c.orig:
	* gst-libs/gst/rtsp/rtsp-marshal.c:
	* gst-libs/gst/rtsp/rtsp-marshal.h:
	* gst-libs/gst/rtsp/rtspdefs.patch:
	* gst/videorate/videorate-discont.patch:
	  remove bogus files
	  They got somehow commited in 7012e88090e69339c60a4eb9449f7a7e39ca6aa3

2011-11-11 10:39:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-11 10:39:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 23:02:35 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	* tests/icles/audio-trickplay.c:
	  controller: port controller api changes

2011-11-10 18:34:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 18:34:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 18:32:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/subparse/gstsubparse.c:
	  update for adapter api changes

2011-11-10 18:30:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	  tests: fix build after removal of base64 lib

2011-11-10 17:13:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix bandwidth property type mismatch

2011-11-10 17:52:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideosink.h:
	  videosink: reset padding

2011-11-10 17:39:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtspbase64.c:
	* gst-libs/gst/rtsp/gstrtspbase64.h:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: remove deprecated base64 library

2011-11-10 17:26:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 17:18:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  rtp: fix de/payloaders
	  gst_basertppayload -> gst_base_rtp_payload
	  Add pts/dts support in the depayloader
	  Remove old timestamp code
	  Add a default getcaps function so subclasses can chain up to it instead of
	  relying on the return value of the getcaps function.

2011-11-10 15:55:31 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: make unsigned properties unsigned, not signed

2011-11-10 16:24:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audio: fix base class vmethods

2011-11-10 16:02:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: fix negotiation
	  Don't assume the format is a string because now it is a list of string in the
	  template.
	  Chain up to the parent class implementation of get_caps.

2011-11-10 16:00:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: avoid deadlock

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

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: fix getcaps ignoring filter caps

2011-11-10 14:24:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: truncate caps in _fixate
	  Otherwise the resulting caps may not be fixed.

2011-11-10 14:18:54 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not try to write empty header buffers
	  Those are valid, and the EOS skeleton packet is actually empty.

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

	* ext/ogg/gstoggmux.c:
	  oggmux: split request pad templates into audio/video/subtitle
	  https://bugzilla.gnome.org/show_bug.cgi?id=663766

2011-11-10 13:50:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audioclock: remove _full version

2011-11-10 13:45:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.h:
	  appsink: fix header

2011-11-10 12:47:51 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  pbutils: Fix introspection annotations
	  Fixes #663689

2011-11-10 12:14:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 12:14:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-10 11:42:10 +0100  Edward Hervey <edward@collabora.com>

	* tests/check/libs/struct_arm.h:
	  tests: Remove old structures from struct_arm.h

2011-11-10 11:02:12 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/pango/gsttextrender.c:
	  update for removed fixate functions

2011-11-09 17:37:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	  upates for new ACCEPT_CAPS query

2011-11-09 12:24:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-09 12:24:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-09 12:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/colorspace/colorspace.c

2011-11-09 12:19:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/colorspace/colorspace.c

2011-11-09 12:11:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  common
	  ext/pango/gsttextoverlay.c
	  gst-libs/gst/video/video.c

2011-11-09 11:47:54 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/audioresample/gstaudioresample.c:
	  remove query types

2011-11-09 11:06:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamselector.h:
	  remove streamselector
	  It was only used by playbin, which is gone now

2011-11-09 10:53:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamselector.c:
	  streamselector: GstSelectorPad -> GstStreamSelectorPad
	  Rename object to avoid conflicts with an object of the same name in core.

2011-11-09 10:37:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamselector.c:
	  streamselector: cleanups

2011-11-09 00:36:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  configure: suppress warnings about unused variables if debugging system is disabled in core
	  https://bugzilla.gnome.org/show_bug.cgi?id=662952

2011-10-27 14:48:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: continue processing text when silent
	  This prevents playback wegding when text buffers are
	  left to pile up.
	  https://bugzilla.gnome.org/show_bug.cgi?id=662829

2011-11-08 11:07:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/pipelines/oggmux.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisenc.c:
	* tests/icles/audio-trickplay.c:
	  update for pad probe api changes

2011-11-08 08:22:56 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/video/video.c:
	  video: log important details and fix format strings
	  If we complain about wrong parameters passed, also log the actual value.

2011-11-08 00:16:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  win32: update .def file for new audiosink API
	  API: gst_base_audio_sink_get_alignment_threshold()
	  API: gst_base_audio_sink_set_alignment_threshold()
	  API: gst_base_audio_sink_get_discont_wait()
	  API: gst_base_audio_sink_set_discont_wait()

2011-11-07 23:41:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  examples: sprinkle GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS in seek test utility
	  https://bugzilla.gnome.org/show_bug.cgi?id=630497

2011-11-07 23:05:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* gst-libs/gst/video/video.c:
	  docs: fix up some Since: markers

2011-11-07 18:19:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix r210 writing only half a scanline

2011-11-07 17:18:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-07 17:10:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  fix for new pad probe types
	  Restore the previous behaviour by only blocking downstream items and not
	  upstream events.

2011-11-04 10:34:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix speed level failure test
	  It was testing the opposite of what it thought it was.
	  https://bugzilla.gnome.org/show_bug.cgi?id=663390

2011-11-04 10:57:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: make logically static const data just so
	  https://bugzilla.gnome.org/show_bug.cgi?id=663391

2011-11-04 10:58:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: use th_packet_iskeyframe instead of peeking at bits
	  https://bugzilla.gnome.org/show_bug.cgi?id=663391

2011-11-04 10:59:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: trivial comment typos fixes
	  https://bugzilla.gnome.org/show_bug.cgi?id=663391

2011-11-04 10:59:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: warn when trying to set an ignored obsolete property
	  https://bugzilla.gnome.org/show_bug.cgi?id=663391

2011-11-04 11:10:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: refuse to get to READY if the encoder was disabled
	  https://bugzilla.gnome.org/show_bug.cgi?id=663391

2011-10-18 17:58:49 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: survive skeleton finding length behind our backs in push mode
	  In push mode, we determine duration by doing a seek to the end of the
	  stream. However, a skeleton stream with an index will cause the duration
	  to be known already, and we end up never setting the push_time_duration
	  variable which we use to know duration has been determined.
	  https://bugzilla.gnome.org/show_bug.cgi?id=662049

2011-10-05 15:29:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/gst-plugins-base.supp:
	  valgrind: add ALSA leaks fixed by snd_config_update_free_global
	  If they go when calling snd_config_update_free_global, they're
	  not really bug leaks, but more like intentional ones we don't
	  want to get told about.
	  https://bugzilla.gnome.org/show_bug.cgi?id=615342

2011-11-07 12:43:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	  convertbin: port to 0.11 again

2011-11-07 12:23:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  common
	  configure.ac
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  gst/playback/gstdecodebin2.c
	  gst/playback/gstplaysinkaudioconvert.c
	  gst/playback/gstplaysinkaudioconvert.h
	  gst/playback/gstplaysinkvideoconvert.c
	  gst/playback/gstplaysinkvideoconvert.h

2011-10-05 18:25:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix latency query
	  This makes live 'audiosrc ! opusenc ! opusdec ! audiosink' pipelines
	  actually work without all audio being dumped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=660999

2011-10-05 15:47:06 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: use debug level for debug info, not error
	  https://bugzilla.gnome.org/show_bug.cgi?id=660999

2011-09-29 14:22:33 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: fix calculation of filler data size
	  https://bugzilla.gnome.org/show_bug.cgi?id=660469

2011-05-02 13:05:28 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  baseaudiosink: make discont-wait configurable
	  Now we can configure how much time to wait before deciding that a
	  discont has happened.
	  Also, adds getter and setter to allow derived implementations to set
	  this value upon construction.
	  Suggestions and several improvements by Havard Graff.
	  Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>

2011-11-07 11:31:47 +0100  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: delay the resyncing of timestamp vs ringbuffertime
	  A common problem for audio-playback is that the timestamps might not
	  be completely linear. This is specially common when doing streaming over
	  a network, where you can have jittery and/or bursty packettransmission,
	  which again will often be reflected on the buffertimestamps.
	  Now, the current implementation have a threshold that says how far the
	  buffertimestamp is allowed o drift from the ideal aligned time in the
	  ringbuffer. This was an instant reaction, and ment that if one buffer
	  arrived with a timestamp that would breach the drift-tolerance, a resync
	  would take place, and the result would be an audible gap for the
	  listener.
	  The annoying thing would be that in the case of a "timestamp-outlier",
	  you would first resync one way, say +100ms, and then, if the next
	  timestamp was "back on track", you would end up resyncing the other way
	  (-100ms) So in fact, when you had only one buffer with slightly off
	  timestamping, you would end up with *two* audible gaps. This is the
	  problem this patch addresses.
	  The way to "fix" this problem with the previous implementation, would
	  have been to increase the "drift-tolerance" to a value that was greater
	  than the largest timestamp-outlier one would normally expect.  The big
	  problem with this approach, however, is that it will allow normal
	  operations with a huge offset timestamp vs running-time, which is
	  detrimental to lip-sync. If the drift-tolerance is set to 200ms, it
	  basically means that lip-sync can easily end up being off by that much.
	  This patch will basically start a timer when the first breach of
	  drift-tolerance is detected. If any following timestamp for the next n
	  nanoseconds gets "back on track" within the threshold, it has basically
	  eliminated the effect of an outlier, and the timer is stopped.  If,
	  however, all timestamps within this time-limit are breaching the
	  threshold, we are probably facing a more permanent offset in the
	  timestamps, and a resync is allowed to happen.
	  So basically this patch offers something as rare as both higher
	  accuracy, it terms of allowing smaller drift-tolerances, as well as much
	  smoother, less glitchy playback!
	  Commit message and improvments by Havard Graff.
	  Fixes bug #640859.

2011-11-07 11:18:34 +0100  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: rename some variables

2011-05-21 16:16:42 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: use gst_util_uint64_scale_int when appropriate
	  It's probably safer this way.

2011-05-21 15:49:20 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  baseaudiosink: split drift-tolerance into alignment-threshold
	  So that drift-tolerance is used for clock slaving resync, and
	  alignment-threshold is for timestamp drift.

2011-05-21 16:02:36 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: trivial comment fixes
	  Some found by Havard Graff.
	  Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>

2011-11-07 10:02:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-07 10:02:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-04 22:00:43 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: don't ref NULL caps

2011-11-04 21:00:29 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: use new api to check activity of a controller

2011-11-04 15:23:25 +0100  Stefan Sauer <ensonic@users.sf.net>

	* ext/pango/Makefile.am:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	* gst/audiotestsrc/Makefile.am:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/volume/Makefile.am:
	* gst/volume/gstvolume.c:
	* tests/check/elements/volume.c:
	* tests/icles/audio-trickplay.c:
	  controller: port to new location and api changes

2011-11-04 17:40:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playback: name conversion elements differently

2011-11-04 15:36:25 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/encoding/Makefile.am:
	* tools/Makefile.am:
	  build: add audio libs (pulled by pbutils) to avoid linking against system version

2011-11-04 13:21:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: store bpf in the right variable

2011-11-04 13:01:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	* docs/design/design-encoding.txt:
	  docs: fix some docs

2011-11-04 13:00:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix template name

2011-11-04 12:53:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix somtimes pad

2011-11-04 11:01:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-04 11:01:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-04 10:48:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* tests/check/elements/adder.c:
	* tests/check/pipelines/oggmux.c:
	* tests/examples/dynamic/sprinkle.c:
	* tests/examples/dynamic/sprinkle2.c:
	* tests/examples/dynamic/sprinkle3.c:
	  fix pad template names for request pads

2011-11-04 10:37:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
	  This keeps the caps order and is more efficient.

2011-11-04 10:36:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()
	  This keeps the caps order and is more efficient.

2011-11-04 08:41:00 +0100  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Fix compilation issues with gcc 4.6.1

2011-11-04 08:58:23 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: Update for modified API

2011-11-04 08:57:45 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* Android.mk:
	* android/netbuffer.mk:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-plugins-base.spec.in:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/netbuffer.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	* win32/MANIFEST:
	* win32/common/libgstnetbuffer.def:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstnetbuffer.dsp:
	  Really remove all mention of gstnetbuffer

2011-11-03 21:35:38 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* gst-libs/gst/tag/Makefile.am:
	  Add missing default include paths to androgenizer call
	  Fixes building tag/ with Android's NDK

2011-11-03 17:58:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/icles/output-selector-test.c:
	  update for request pads change.

2011-11-03 16:48:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/netbuffer/README:
	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	* pkgconfig/gstreamer-netbuffer-uninstalled.pc.in:
	* pkgconfig/gstreamer-netbuffer.pc.in:
	  net: remove net library, it's now in core

2011-11-03 14:10:31 +0200  Mart Raudsepp <mart.raudsepp@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Post all source pads in stream-topology messages as "element-srcpad" values
	  This allows us to easily get ahold of all pads on a stream-topology message, including
	  pre-decoder ones, while "pad" only gives us access to the raw pads (as used by discoverer).

2011-10-20 13:04:52 +0300  Mart Raudsepp <mart.raudsepp@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Use existing "caps" quark for one of the structure sets

2011-11-03 14:19:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/netbuffer.c:
	  tests: fix netbuffer test

2011-11-03 10:07:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Don't add identity multiple times

2011-10-19 14:13:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: send flush start/stop event when we switch elements
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-19 14:13:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	  playsink: re-add identity where appropriate
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-19 14:12:01 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	  playsink: lock the new {set,get}_property functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 23:14:54 +0000  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Be more consistent with ghostpad targets
	  Set up targets on READY->PAUSED state change to passthrough by
	  default. This prevents the targets from being unset on the
	  first run, while the 'raw' variable would mean that some
	  target is set.

2011-10-17 22:41:49 +0000  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: No need to remove the identity
	  The identity element should be handled by the GstBin's cleanup,
	  removing it on the remove_elements function might remove it
	  too soon, as this function can be called directly from playsink

2011-10-17 22:41:11 +0000  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Adding some debug messages
	  Adds a couple debug messages and some g_assert to make debugging
	  easier

2011-10-17 22:02:03 +0000  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink-videoconvert: Fix warning on build
	  Remove unused variable

2011-10-17 21:05:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: handle after-the-fact changes in converters/volume booleans
	  The playsink was nastily poking a boolean in the structure.
	  Make those booleans properties, so we are told when they change,
	  and rebuild the conversion bin when they do.
	  Some cleanup to go with it too.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 18:43:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: handle NULL cached caps in getcaps
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 18:06:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: consider both passthrough and converter caps in getcaps
	  Since we can switch between both modes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 17:54:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	  playsink: cache inner converter bin caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 17:26:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: keep both raw and non raw pipelines at all times
	  and switch between them as needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

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

	* gst/playback/gstplaysinkconvertbin.c:
	  playsink: only compare against the media type we expect
	  ie, audio/x-raw- for audio, video/x-raw- for video.
	  Add a trailing - to be more specific. I doubt there's anything
	  like audio/x-rawhide or something, but you never know.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 16:55:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: refactor the converter bins since they are almost identical
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-17 13:00:05 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: fix passthrough mode (hopefully)
	  The code was doing counterintuitive rewiring of pads when the
	  bin did not contain any elements. We now add an identity element
	  in that case, which makes it simpler, and should fix the AC3
	  passthrough mode when using pulseaudio (but I don't see the bug
	  here so can't test).
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-10-07 11:16:44 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink: handle NULL ghost pad target
	  For the src pad anyway.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661262

2011-11-03 09:56:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	  Revert "playsinkaudioconvert: Fix warning when there is no target pad yet"
	  This reverts commit f35c51c14915729f0fdf2b348f351ea7e81027cc.
	  Better patch coming soon.

2011-10-28 10:07:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Remove obsolete #include

2011-11-02 23:33:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/draft-subtitle-overlays.txt:
	  docs: add draft for subtitle overlays to design docs
	  Main purpose is to provide a generic way to make subtitles work on
	  top of non-raw video (vaapi, vdpau, etc.).

2011-11-02 15:31:11 -0400  Colin Walters <walters@verbum.org>

	* common:
	* configure.ac:
	  configure: Allow setting GLIB_EXTRA_CFLAGS
	  Similar to gstreamer commit bb2020b1e794210cf7d44c6626122f611016a620

2011-11-02 12:08:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  update for tag API removal

2011-11-02 11:24:05 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: Add convenience macros for accessing GstVideoInfo flags

2011-11-02 10:31:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-11-02 10:31:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-31 02:39:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netbuffer: _netaddress_ -> _net_address_

2011-10-31 02:35:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netaddress: updata api

2011-10-31 02:23:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/video.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	  rename meta* -> *meta

2011-10-29 09:28:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	  alsa: update for new task api

2011-10-29 09:03:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/interfaces/videooverlay.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	  structure: fix for api update

2011-10-29 08:25:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  bufferlist: update for new API

2011-11-01 00:34:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/pipelines/oggmux.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisenc.c:
	* tests/icles/audio-trickplay.c:
	  Update for pad API changes
	  GstProbeType, GstProbeReturn and GstActivateMode -> GstPad*

2011-10-31 14:51:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-10-31 14:51:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-10-31 14:26:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: don't include header that's been removed

2011-10-31 14:22:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-10-30 14:51:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: save audio info parsed in setcaps in encoder context
	  Otherwise we'll just error out when the first buffer gets pushed.
	  This is a porting artefact, in 0.10 the infos were allocated on the
	  heap, now we're doing everything with stack-allocated structs.

2011-10-30 11:09:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/id3v2.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/xmpwriter.c:
	  ext, gst, gst-libs, tests: update for tag list API changes

2011-10-31 15:16:36 +0100  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilterexample.c:
	  audio: remove old C file generated from template
	  Not sure how this one got pulled into a merge. In 0.10, it was moved away to
	  gst-template a long time ago. gstaudiofilterexample.c got generated from
	  gstaudiofiltertemplate.c.

2011-10-30 20:00:47 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()

2011-10-28 18:45:09 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* configure.ac:
	  configure.ac: Fix build

2011-10-28 16:24:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-28 16:11:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  fix compile for SEEK_TYPE_CUR removal

2011-10-28 13:58:47 +0200  Mersad Jelacic <mersad@axis.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: avoid deadlocking audioringbuffer thread
	  ... when it goes into wait for ringbuffer starting just after such
	  having been signalled.
	  Fixes #661738.

2011-10-28 11:37:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: use BPF for unit_size

2011-10-28 11:34:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-28 10:44:38 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: fix get_unit_size

2011-10-28 11:13:52 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: init audio info sooner

2011-10-28 11:11:55 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/video/video.c:
	  audio, video: init audio/video format info to UNKNOWN format
	  This is to prevent e.g. GST_AUDIO_INFO_FORMAT() from crashing on a NULL pointer
	  dereference when used with an unset info.

2011-04-26 22:20:29 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: extract SOF marker in jpeg typefinder
	  The SOF types are defined by http://www.w3.org/Graphics/JPEG/itu-t81.pdf
	  This is needed to make sure that we plug a jpeg decoder that
	  can handle the type of JPEG we have (e.g. lossless JPEG)
	  https://bugzilla.gnome.org/show_bug.cgi?id=556648

2009-08-10 01:48:29 +0000  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: port to gstcollectpads2

2011-10-27 18:54:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppay: rename caps fields
	  Make the caps fields for timestamp and seqnum match the element
	  properties.
	  See #628773

2011-10-27 18:50:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basedepay: remove old fields

2011-10-27 17:33:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	  tests: fix compilation

2011-10-27 17:26:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst/subparse/gstsubparse.c:
	* gst/typefind/gsttypefindfunctions.c:
	  fix compilation

2011-10-27 16:13:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-27 16:13:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-27 15:44:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  gst/audioconvert/channelmixtest.c
	  gst/playback/gstplaybasebin.c
	  gst/playback/gstsubtitleoverlay.c
	  tests/examples/Makefile.am
	  tests/examples/audio/Makefile.am

2011-10-27 15:29:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/videooverlay.c:
	  overlay: fix compilation

2011-10-27 23:39:31 +1100  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/Makefile.am:
	  build: Fix build for moved volume subdir

2011-10-27 09:51:46 +0200  Stefan Sauer <ensonic@users.sf.net>

	* Makefile.am:
	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/audio/.gitignore:
	* tests/examples/audio/Makefile.am:
	* tests/examples/audio/volume.c:
	* tests/examples/volume/.gitignore:
	* tests/examples/volume/Makefile.am:
	  volume: move volume example to audio

2011-10-27 09:42:36 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/audio/Makefile.am:
	  audio examples. fix the makefile

2011-10-27 09:33:55 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/volume/volume.c:
	  volume: make global vars static

2011-10-27 09:33:01 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/audio/.gitignore:
	* tests/examples/audio/Makefile.am:
	* tests/examples/audio/audiomix.c:
	  audiomix: add a simple audiomix example

2011-10-25 20:04:06 +1100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaysinkaudioconvert.c:
	  playsinkaudioconvert: Fix warning when there is no target pad yet

2011-10-13 11:34:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Link elements before testing if they can reach the READY state
	  This is made possible by filtering errors. This is required to let
	  harware accelerated element query the video context. The video context
	  is used to determine if the HW is capable, and thus if the element is
	  supported or not.
	  Fixes bug #662330.

2011-10-21 21:57:17 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst/playback/gstplaybasebin.c:
	  playbasebin: remove avoidable call to gst_object_set_name

2011-10-21 21:41:03 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove avoidable call to gst_object_set_name

2011-10-21 21:39:01 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/channelmixtest.c:
	  audioconvert: bury dead test program

2011-10-21 14:37:31 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* ext/alsa/gstalsamixer.h:
	* gst-libs/gst/audio/gstaudioprocess.c:
	* gst-libs/gst/audio/gstaudioprocess.h:
	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/navigation.c:
	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/propertyprobe.c:
	* gst-libs/gst/interfaces/propertyprobe.h:
	* gst-libs/gst/interfaces/tuner.c:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/videoorientation.c:
	* gst-libs/gst/interfaces/videoorientation.h:
	* gst-libs/gst/interfaces/videooverlay.c:
	* gst-libs/gst/interfaces/videooverlay.h:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspextension.h:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/libs/mixer.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	* tests/check/libs/struct_x86_64.h:
	  interfaces: clean up the use of iface and class/klass

2011-10-20 10:13:46 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* Android.mk:
	  Disable ext/vorbis for the android ndk build
	  It currently makes the build fail. Idea is to enable
	  it back again once its building problems get sorted
	  out.

2011-10-19 19:44:06 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix leaks of pad templates and internal proxy pads

2011-10-19 19:37:07 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix leak of element reference through pad block
	  If the pad block never happens because there is no data flow at all, the
	  callback is never fired and the reference is never released. This causes a
	  reference cycle between the pad and element, so valgrind is not very vocal
	  about it (memory is still reachable).

2011-10-18 21:42:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: having gather queue contents implies some draining is in order
	  ... which ensures e.g. processing and sending last fragment of reverse playback
	  downstream at EOS.

2011-10-19 15:28:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: do not try to read past the buffer array
	  https://bugzilla.gnome.org/show_bug.cgi?id=662108

2011-10-18 21:40:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: only finish header packet frame if received in-stream
	  ... rather than scaring audiodecoder with a frame extracted from caps.
	  Fixes #662108 (partially).

2011-10-19 10:41:31 +0200  Stefan Sauer <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: make it more clean that "synchronous" props are not for avsync

2011-10-19 00:32:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix unused variable compiler warning if debugging in core is disabled
	  https://bugzilla.gnome.org/show_bug.cgi?id=660150

2011-10-18 14:32:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-18 14:32:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-18 13:00:29 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: fix event unref in (rare) error case

2011-10-17 15:41:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix crash when setting the wave property before having negotiated a format
	  https://bugzilla.gnome.org/show_bug.cgi?id=661911

2011-10-07 17:41:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fire drained signal where appropriate
	  This will allow playbin2 to send its about-to-finish signal.
	  Taken out (apparently by mistake) by the EOS rewrite in july.
	  https://bugzilla.gnome.org/show_bug.cgi?id=661202

2011-10-17 12:28:58 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: We can handle channels conversion

2011-10-17 12:00:55 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Add some default channel positions

2011-10-17 12:00:16 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* tests/check/libs/audio.c:
	  audio: Properly handle signedness in gst_audio_format_build_integer()

2011-10-16 11:32:41 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not retry seeking indefinitely
	  https://bugzilla.gnome.org/show_bug.cgi?id=661897

2011-10-17 11:45:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Indent and doc fixes

2011-10-16 15:28:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-16 15:28:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-13 08:53:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-11 17:42:35 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Only call gst_video_info_from_caps on raw video

2011-10-10 12:15:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: update blocksize when caps or samples-per-buffer change
	  Blocksize needs to be updated so we get a correct size buffer on
	  _fill function.

2011-10-10 13:11:59 +0200  Brian Cameron <brian.cameron@oracle.com>

	* gst/videotestsrc/Makefile.am:
	  videotestsrc: fix LDADD missing GST_LIBS

2011-10-10 11:45:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/vorbis/gstvorbisenc.c

2011-10-10 11:39:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gsttcp.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  update for UNEXPECTED -> EOS flowreturn

2011-10-09 14:21:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/video/video.c:
	  libs: video: Add protection against null strings
	  Check and assert if input for gst_video_format_from_string is null.
	  Return GST_VIDEO_FORMAT_UNKNOWN as a fallback

2011-10-09 13:36:38 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* tests/check/libs/struct_arm.h:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/struct_i386_osx.h:
	  tests: Updating some tests with GstXOverlayClass -> GstVideoOverlayIface

2011-10-09 21:19:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisenc: only push header buffers following initial events

2011-10-09 16:15:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: update to 0.11 API after merge

2011-10-09 16:08:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Conflicts:
	  tests/check/pipelines/vorbisdec.c
	  tests/check/pipelines/vorbisenc.c

2011-10-09 16:48:18 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audioencoder: fix compile warning

2011-10-08 20:17:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/pipelines/vorbisenc.c:
	  tests: vorbisenc: adjust discontinuity checking to audioencoder behaviour
	  ... which still detects gaps and marks DISCONT, depending on configuration,
	  but may come up with somewhat different timestamps when crossing the gap.

2011-10-08 20:16:04 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/pipelines/vorbisdec.c:
	  tests: vorbisdec: properly configure audiodecoder when requiring perfect ts

2011-10-08 20:14:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/vorbisdec.c:
	  tests: vorbisdec: remove empty header buffer check
	  ... as empty buffers are discarded, and header buffers are now
	  also optionally retrieved from caps anyway.

2011-10-08 20:13:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: only resync to upstream upon discont in perfect ts mode
	  ... as documented, where discont is marked here if tolerance has been
	  exceeded.

2011-10-08 20:11:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix timestamp tolerance handling

2011-10-08 20:09:09 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: handle empty input by discarding

2011-10-08 11:17:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-08 11:17:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-08 11:05:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbisdec: report to 0.11

2011-10-08 10:19:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/vorbis/gstvorbisdec.c
	  ext/vorbis/gstvorbisenc.c
	  ext/vorbis/gstvorbisenc.h
	  gst/audiotestsrc/gstaudiotestsrc.c

2011-10-07 14:52:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	  vorbisdec: port to audiodecoder

2011-10-07 14:33:04 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: make upstream queries MT-safe

2011-10-07 14:32:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: make upstream queries and events MT-safe

2011-10-05 15:43:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisenc: port to audioencoder

2011-10-07 14:05:19 +0200  René Stadler <rene.stadler@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't leak scheduling query

2011-10-06 18:21:29 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/elements/audiotestsrc.c:
	  tests: actually test what we said we would
	  All tests were testing the default sine wave
	  https://bugzilla.gnome.org/show_bug.cgi?id=661106

2011-10-06 18:20:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: add missing break
	  And make violet noise usable
	  https://bugzilla.gnome.org/show_bug.cgi?id=661105

2011-10-06 15:38:49 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink: fix caps negotiation through the new convenience bins
	  The bins' getcaps was bypassing the inner elements, and thus
	  failing to account for the caps transformations they allow,
	  which caused YUV video pipelines to fail with ximagesink, which
	  does not support YUV, even though the convenience bin includes
	  a colorspace converter for just this purpose.
	  https://bugzilla.gnome.org/show_bug.cgi?id=660816

2011-10-06 11:53:26 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix mismatch between video/ and video/x-dvd-subpicture
	  The new code was checking for a prefix, and would find video/
	  first. Check in two passes, first checking for a perfect match,
	  and falling back to a prefix check if nothing was found.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657261

2011-10-06 14:05:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-06 14:05:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-04 21:17:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Re-enable parsers
	  Re-enable parsers in encodebin to allow more passthrough scenarios
	  to work. Specially the ones that require changing 'stream formats'.
	  i.e. h264 in mkv to mpegts.

2011-10-05 12:45:19 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Add audio- and text-sink props

2011-10-05 11:57:54 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Make sure 'channels' and 'channel-positions' are coherent
	  If channel-positions are present, check they match the reported
	  'channels' value.

2011-10-05 11:51:07 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: Fix overread in channel positions
	  The array we're writing to is limited to 64 ... but the amount of
	  input positions might be lower than 64. Therefore use MIN and not
	  MAX to know how many values to read from the array.

2011-10-04 23:09:42 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  auditestsrc: indent fix

2011-10-04 18:06:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: port new bits to 0.11

2011-10-04 17:58:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-04 17:56:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	  Makefile: remove 0.11 fixme

2011-10-04 16:22:55 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Add video-sink property
	  The video-sink property allows manual specification via g_object_set ()
	  of the video sink element to be used.

2011-10-04 13:29:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-04 13:29:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-03 15:20:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Minor cleanup of decoder-sink compatibility checking code

2011-09-30 12:29:34 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: Make sure that the decoders we plug are compatible with the fixed sink
	  The fact that a decoder is not compatible with the fixed sink
	  is currently happenning in the case where we have hardware accelerated
	  video decoders on the system (especially vaapi elements that are actually plugged),
	  and the user is providing a sink that doesn't support the surface.
	  A simple example that shows how it used to crash on a system where gstreamer-vaapi
	  is installed:
	  gst-launch playbin2 video-sink=xvimagesink uri=/codec/supported/by/vaapi
	  What we are now doing in this case, is avoid using the accelerated
	  decoder and plug a "normal" decoder instead (if avalaible).
	  This commit doesn't handle the case where we have hardware accelerated
	  demuxing.

2011-02-18 11:48:37 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* win32/common/libgstpbutils.def:
	  encoding-profile: add a function to create a profile from a discoverer info
	  Only A/V streams are added at the moment, there does not seem to be
	  a similar way to add other streams (eg, subtitles).
	  https://bugzilla.gnome.org/show_bug.cgi?id=642878

2011-10-03 11:24:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-10-03 11:24:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-28 14:57:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix decoding
	  A simple ... opusenc ! opusdec ... pipeline now works.
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-28 14:56:18 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: moan if we get an unexpected amount of data
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-28 14:22:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: properly setup caps and init state from caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-28 13:25:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: use the same frame size setup as the opus test code
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-28 13:24:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: opus supports a select set of sampling rates
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-28 13:24:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: make it build against current, and remove cruft
	  https://bugzilla.gnome.org/show_bug.cgi?id=660364

2011-09-27 00:26:29 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  alsasrc: fail gracefully when ALSA does not give timestamps
	  https://bugzilla.gnome.org/show_bug.cgi?id=660170

2011-10-03 10:55:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Use a TIME limit for pre-rolling in live streams and not in non-live streams
	  Fixes bug #647769 for real.

2011-10-03 10:11:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/pango/gsttextoverlay.c
	  gst/encoding/gstencodebin.c

2011-10-03 10:02:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add h264 transfer functions

2011-10-01 01:05:00 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: add YV12 support
	  Basically the same as I420, just with chroma planes swapped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=660604

2011-09-30 09:44:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix typo on formatter adding condition
	  The condition is if the muxer doesn't have tag setter *and* isn't
	  a formatter itself. Any of those two conditions makes the muxer
	  good enough to not need a formatter.

2011-09-30 10:54:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: don't use GST_PTR_FORMAT for segments
	  Avoids crashes with debugging output enabled.

2011-09-30 11:45:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  Revert "sbutitleoverlay: fix compiler warning"
	  This reverts commit ed792293e7fc2bd54f4627649bb836a05709b5ab.
	  Not needed anymore because of another commit

2011-09-30 11:00:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add another color matrix for mpeg2

2011-09-30 11:00:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  sbutitleoverlay: fix compiler warning

2011-09-30 10:59:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: fix docs

2011-09-29 21:50:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: set channel positions

2011-09-29 21:30:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subitleoverlay: fix compiler warning
	  gstsubtitleoverlay.c: In function 'gst_subtitle_overlay_video_sink_event':
	  gstsubtitleoverlay.c:1736:22: error: 'target' may be used uninitialized in this function

2011-09-29 17:43:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  back to development

=== release 0.11.1 ===

2011-09-29 17:43:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	  RELEASE 0.11.1

2011-09-29 17:41:34 +0200  Wim Taymans <wim.taymans@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/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

2011-09-29 13:46:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/adder.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/encodebin.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/vorbisdec.c:
	* tests/check/pipelines/vorbisenc.c:
	  tests: update for new audio caps

2011-09-29 13:45:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  defs: add new symbols

2011-09-28 16:08:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix refcounting error

2011-09-28 16:07:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: store info so we can debug it

2011-09-28 15:46:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-28 15:41:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: really push pending events

2011-09-28 15:35:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: add method to set output caps
	  Add a method to configure the output caps. Subclasses can't use
	  gst_pad_set_caps() anymore because then we won't see the caps.
	  Unbreak the padtemplate registration, the GTypeClass that is configured in the
	  object during _init is not the right one, we need to use the klass passed as the
	  argument to the init function..

2011-09-28 14:32:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: remove more tags from upstream tag events such as bitrate tags
	  We want to remove all codec specific tags.

2011-09-28 11:35:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst/playback/gstplaybin2.c
	  gst/videotestsrc/videotestsrc.c

2011-09-28 01:56:42 +0300  Raimo Järvi <raimo.jarvi@gmail.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix compiler warning on 64 bit mingw-w64
	  Fixes bug #660304.

2011-09-28 01:11:30 +0300  Raimo Järvi <raimo.jarvi@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix compiler warnings on 64 bit mingw-w64
	  Fixes bug #660301.

2011-09-27 16:18:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: only got_data if we really got some
	  ... which avoids going loopy with casual subclass.

2011-09-27 16:57:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: really push pending events

2011-09-27 16:16:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: send tag event after pending events
	  ... which probably includes a pending newsegment event.

2011-09-27 16:16:29 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: protect pending_events with proper lock

2011-09-27 15:31:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: clean up some documentation

2011-09-27 11:19:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstringbuffer.h:
	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.h:
	  docs: improve docs

2011-09-27 00:32:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: minor docs fix

2011-09-26 22:31:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-26 22:31:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-26 21:11:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioenc: fix compilation

2011-09-26 19:22:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/gstaudiodecoder.c
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst/encoding/gstencodebin.c

2011-09-26 16:36:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Adjust for GstAudioEncoder API changes

2011-09-26 16:36:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstaudio.def:
	  win32: Adjust for GstAudioEncoder API changes

2011-09-26 16:35:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Improve set_frame_sample_{min,max} documentation

2011-09-26 16:22:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Fix thread safety issues if both pads have different streaming threads

2011-09-26 16:19:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Delay sending of serialized events to finish_frame()

2011-09-26 16:02:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  Revert "audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code"
	  This reverts commit 11e375486e07cfa0686a97b5cf6110909b3a828c.
	  GST_BOILERPLATE() can't define an abstract type and
	  G_DEFINE_ABSTRACT_TYPE() does not pass the class struct to
	  the instance_init function and there's no way to get the
	  class struct of the current type in instance_init().

2011-09-26 15:59:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add support for requesting a minimum and maximum number of samples per frame
	  This extends the special case of a fixed number of samples per frame
	  that was supported before already.

2011-09-26 15:45:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Fix thread safety issues if both pads have different streaming threads

2011-09-26 15:42:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Delay sending of serialized events to finish_frame()
	  This makes sure that the caps are already set before any serialized
	  events are sent downstream.

2011-09-26 15:34:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code

2011-09-26 15:14:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: add some tag handling convenience help

2011-09-26 14:48:55 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: provide CODEC/AUDIO_CODEC handling

2011-09-26 13:42:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: filter AUDIO_CODEC/CODEC tags from passing tag events

2011-09-25 15:31:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: backport some const-ifications from 0.11 branch
	  To keep code identical as much as possible between the two branches,
	  for easier merging.

2011-09-25 15:24:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix indentation

2011-09-23 21:18:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* configure.ac:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/floatcast/Makefile.am:
	* gst-libs/gst/floatcast/floatcast.h:
	* gst-plugins-base.spec.in:
	* gst/audioconvert/audioconvert.c:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-floatcast-uninstalled.pc.in:
	* pkgconfig/gstreamer-floatcast.pc.in:
	* tests/check/elements/audioconvert.c:
	* tests/check/libs/gstlibscpp.cc:
	  libs: remove unused floatcast header-only library
	  There's no code whatsoever that uses these macros. If anyone
	  ever feels the need to resurrect them, we should add them to
	  gstutils.h in core or libgstaudio or so.

2011-09-23 18:27:11 +0200  Edward Hervey <bilboed@bilboed.com>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/ogg/gstoggdemux.c
	  ext/pango/gsttextoverlay.c
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst-libs/gst/audio/gstbaseaudiosrc.c
	  gst/playback/gstsubtitleoverlay.c
	  gst/videorate/gstvideorate.c

2011-09-23 17:50:31 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Avoid unnecessary read only caps copy

2011-09-21 13:30:43 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	  gst-libs: Temporarily remove dependency of gstaudio on gstpbutils
	  Also re-order the SUBDIRS in the higher-level Makefile so it cleanly
	  installs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657675

2011-09-22 15:38:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: proxy some more optional downstream caps fields to upstream

2011-09-22 15:38:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: changed is verily the opposite of equal

2011-09-22 15:37:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: prevent crashing when comparing to a freshly inited GstAudioInfo

2011-09-22 15:36:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: some more accessor macros for GstAudioInfo

2011-09-22 15:34:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix documentation typo

2011-09-21 13:54:27 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Update common to 0.11 branch

2011-09-21 13:31:35 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstaudio.def:
	  win32: Update .def files

2011-09-19 18:32:26 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  videorate: Add tests for the max-rate case

2011-09-19 18:31:07 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  videorate: Print which caps didn't match up

2011-09-19 18:26:04 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: Add a max-rate property
	  In various use-case you want to dynamically change the framerate (e.g.
	  live streams where the available network bandwidth changes). Doing this
	  via capsfilters in the pipeline tends to be very cumbersome and racy,
	  using this property instead makes it very painless.

2011-09-01 17:05:23 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  videorate: Add test for caps negotiation

2011-09-01 16:47:49 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Add more strict caps negotiation
	  When in drop-only mode we can never provide a framerate that is higher
	  then the input, so let the caps negotiation reflect this.

2011-09-20 13:35:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: don't unref event we don't own
	  http://bugzilla.gnome.org/show_bug.cgi?id=659562

2011-09-20 14:04:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Only check if this is a discarded type if we have fixed caps
	  For unfixed caps we will get here again later when the caps are fixed.

2011-09-20 14:03:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Only call autoplug-continue with fixed caps
	  With unfixed caps we can't reliably decide if the final caps
	  are going to be "raw" (e.g. supported by a sink) or not.
	  We will get here again later when the caps are fixed.

2011-09-20 13:45:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  decodebin2: Fix unit test by strictly implementing parser behaviour instead of relying on basetransform

2011-01-13 15:35:30 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  oggstream: only use information from skeleton if we have nothing better
	  The codec setup headers are a lot more likely to have correct information,
	  especially as it's easy to remux a skeleton in a file where streams don't
	  have the same parameters (I've even seen a file with two skeletons).
	  Still, this is useful in the case we have a codec we can't decode, so we
	  can at least (theoretically) convert granpos to time, so we discard this
	  information if the codec setup has already provided it.
	  This fixes playback on (at lesat) the original archive.org encoding of
	  "The Night of the Living Dead" (now replaced by another encoding).
	  https://bugzilla.gnome.org/show_bug.cgi?id=612443

2011-09-19 14:16:19 +0200  Age Bosma <agebosma@gmail.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: Don't use gtk-doc /* < ... > */ style comments for signals
	  The /*< ... >*/ style is only used for public|protected|private,
	  signal comments use /* signals */. This prevents the some code
	  parsers/binding generators to be confused by the comment.

2011-09-19 14:02:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Get the target of the video sinkpad, not the target sinkpad in the video setcaps handler

2011-08-18 15:13:23 +0000  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Initialize variable correctly
	  If subdrained isn't initialized to FALSE then a chain might think
	  that its group is drained when in fact it's not and this can cause
	  a switch too early or even cause a deadlock.

2011-07-28 16:44:33 +0000  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Rewrite EOS-handling code
	  This is now really threadsafe and improves switching
	  between different groups.

2011-09-19 11:53:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Fix non-prerolling pipelines and not-linked errors if a parser is available but no decoder
	  Fixes bug #658846.

2011-08-01 07:54:02 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspdefs: add RTCP-Interval header

2011-09-19 11:24:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Implement support for switching between raw and non-raw video streams

2011-09-19 09:34:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Protect against accessing the NULL parent of the pads during shutdown
	  Fixes bug #658901.

2011-09-16 20:14:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove superfluous check in newsegment event handler
	  If we get a newsegment event from upstream, we can be quite
	  sure we're not operating pull-based.

2011-09-16 20:11:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: minor printf format fix

2011-09-14 12:23:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix wedge when seeking twice quickly in push mode
	  This could happen when testing with navseek, and pressing
	  right and left at roughly the same time. The current chain
	  is temporarily moved away, and this caused the flush events
	  not to be sent to the source pads, which would cause the
	  data queues downstream to reject incoming data after the
	  seek, and shut down, wedging the pipeline.
	  Now, I can't really decide whether this is a nasty steaming
	  hack or a good fix, but it certainly does fix the issue, and
	  does not seem to break anything else so far.
	  https://bugzilla.gnome.org/show_bug.cgi?id=621897

2011-08-13 14:18:56 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: implement push mode seeking
	  This patch implements seeking in push mode (eg, over the net)
	  in Ogg, using the double bisection method.
	  As a side effect, it also fixes duration determination of network
	  streams, by seeking to the end to check the actual duration.
	  Known issues:
	  - Getting an EOS while seeking stops the streaming task, I can't
	  find a way to prevent this (eg, by issuing a seek in the event
	  handler).
	  - Seeking twice in a VERY short succession with playbin2 fails
	  for streams with subtitles, we end up pushing in a dataqueue
	  which is flushing. Rare in normal use AFAICT.
	  - Seeking is slow on slow links - byte ranges guesses could be
	  made better, decreasing the number of required requests
	  - If no granule position is found in the last 64 KB of a stream,
	  duration will be left unknown (should be pretty rare)
	  https://bugzilla.gnome.org/show_bug.cgi?id=621897

2011-09-15 22:04:56 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix compiler warning
	  Remove a check for gchar >= 128

2011-09-15 16:47:26 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: don't access the event after pushing
	  Fixes valgrind warnings.

2011-09-15 14:27:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  Revert "playbin2: autoplug sink if stream is incompatible to the configured one"
	  This reverts commit b0b4e286c8cde2e79a959a444a2c68e99c3f29c6.
	  We agreed that the previous (pre-.35) behaviour is broken and a bug and the
	  current behaviour is correct, deterministic and allows the application to
	  handle stuff properly while the old behaviour can't be handled properly by
	  applications and just worked in some applications by luck.
	  The solution to the problem that was solved by relying on the old, broken
	  behaviour would be, to make decodebin2/playbin2 more aware of decoders and
	  improve the autoplugging of decoders by considering the caps supported by the
	  sink instead of just using something with the highest rank.
	  See bug #656923.

2011-09-15 09:23:54 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: autoplug sink if stream is incompatible to the configured one
	  Fixes regression since 0.10.33 where sinks that can cope with non raw
	  caps or custom caps are not autoplugged if there's a sink configured
	  with the properties video-sink and audio-sink which cannot handle
	  the stream. This change checks for compatibility on the configured one
	  and use it if success. Otherwhise it tries with the found factories.

2011-08-13 14:14:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not propagate discontinuities in sparse streams
	  The first packet of a sparse stream may arrive after an initial
	  delay in the stream. If ogg_stream_packetout reports a discontinuity
	  in a sparse stream, do not propagate it to other streams in the
	  chain unnecessarily.
	  https://bugzilla.gnome.org/show_bug.cgi?id=621897

2011-09-12 15:48:59 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstplaysink.c:
	  Revert "playsink: only add text overlay if vido sink also accepts raw caps"
	  This reverts commit a22faad18a73a27a2a0c903748c1a355df4d8c13. Instead
	  of disabling subtitles completelly when video stream have custom caps,
	  just let the sutbtileoverlay cope with them as now it's able to.

2011-09-12 15:46:46 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: gracefully handle non raw video streams
	  Implement handling of non raw video streams by avoiding colorspace
	  elements and autoplugging a compatible renderer if available. Fallback
	  to passthrough if no compatible renderer is found.

2011-09-12 15:10:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: try to catch malformed URIs
	  Only log in debug log for now, since the check is a bit
	  half-hearted, its purpose is mostly to make sure people
	  use gst_filename_to_uri() or g_filename_to_uri().
	  https://bugzilla.gnome.org/show_bug.cgi?id=654673

2011-09-12 19:53:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/tag.h:
	  docs: minor addition to GST_TAG_ID3V2_HEADER_SIZE docs

2011-09-11 14:22:59 -0400  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Fix descriptions of properties

2011-09-10 18:30:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: don't try to fixate "width" field for alaw/mulaw
	  Fixes warning when trying to fixate e.g. pulsesrc ! audio/x-alaw ! fakesink.

2011-09-09 13:10:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	  docs: fix some typos in the decodebin design document

2011-09-09 13:07:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.c:
	  colorbalance: add some guards to interface methods
	  https://bugzilla.gnome.org/show_bug.cgi?id=658584

2011-09-09 12:07:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: recognize Asylum modules
	  Note that there is already a AMF detection for a different
	  magic, I'm not sure if that's a different format with the
	  same initials or not. AMF is used for a few different formats
	  (including video), so...
	  This fixes playbin2 playing Asylum modules.
	  https://bugzilla.gnome.org/show_bug.cgi?id=658514

2011-08-31 20:51:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Improve subrip type check regex
	  This patch prevents timestamp like "1 1:00:00", which would have been seen
	  as hour 101 by our parser, and allow single digit hour, minute and seconds
	  as it's already supported by the parser, and also by other implementation
	  like in mplayer. This fixes bug 657872.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657872

2011-09-08 14:46:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	  decodebin: Update design documentation about how Parser/Converter are handled

2011-09-08 14:42:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "Revert "decodebin2: Do a subset check before actually using a factory""
	  This reverts commit 5f5d832a3bcff0828758f164fcb13c4258aefb36.

2011-09-08 14:42:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  docs/libs/Makefile.am
	  tests/check/elements/decodebin2.c

2011-09-08 13:25:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: Do a subset check before actually using a factory"
	  This reverts commit 50a88396ae6d54a83a10e7d2efd551d39033148e.
	  See bug #658541.

2011-09-07 16:44:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  decodebin2: Don't use bufferalloc in the test elements
	  This will cause not-linked errors that usually don't happen
	  because normal decoders/parsers will set srcpad caps before
	  allocating buffers from downstream.

2011-09-07 16:43:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Make sure to fixate Parser/Converter caps before continuing autoplugging

2011-09-07 16:04:43 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: only add text overlay if vido sink also accepts raw caps
	  Fixes regression, pipeline fails with not negotiated, on media
	  containing subtitles when decoder/sink with custom caps is used.

2011-09-07 14:19:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Intersect the factory caps with the current caps for the capsfilter
	  Otherwise we'll include many incompatible caps in the capsfilter that
	  will only slow down negotiation.

2011-09-07 14:07:00 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/Makefile.am:
	* 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-07 14:04:10 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.h:
	  docs: add two mising enum docs

2011-09-07 14:10:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	  audiorate: Use complete audio caps, including the endianness field

2011-09-07 12:32:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix element factory refcounting
	  g_value_get_object() does not give us our own ref.
	  Fixes "Trying to dispose object "flacparse", but it still has a parent "registry0".
	  You need to let the parent manage the object instead of unreffing the object directly."
	  and similar warnings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=658416

2011-09-07 11:06:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: do not automatically override quality when using target bitrate
	  If both quality and bitrate are set, libtheora will try to meet
	  both constraints, causing it to prefer emitting a smaller number
	  of good frames, to emitting the full number of frames that would
	  not meet the requested quality. This causes a slideshow effect
	  when the bitrate is low and the quality is high. And the default
	  theoraenc is high (48/63).
	  So only set quality when it is requested, and leave it unset
	  otherwise.
	  https://bugzilla.gnome.org/show_bug.cgi?id=658443

2011-09-06 21:24:33 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From a39eb83 to 11f0cd5

2011-09-06 19:18:27 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add latest files to spec file

2011-09-06 20:13:30 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/Makefile.am:
	  docs: activate overrides file to fix make distcheck

2011-09-06 16:42:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11
	  Merge in doc updates for audio enums from 0.10, and get rid
	  of the #if #else in the enum list, since that confuses gtk-doc.
	  Conflicts:
	  gst-libs/gst/audio/audio.c
	  gst-libs/gst/audio/audio.h

2011-09-06 16:46:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN

2011-09-06 16:46:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  audio/video add descriptions
	  Add a description to the audio and video format info in case we want to use this
	  later.

2011-09-06 15:46:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: update internal silent sample defines as well to match 0.11

2011-09-06 16:46:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst/audioconvert/audioconvert.c:
	  rename IS_LE/BE to _IS_LITTLE_ENDIAN/BIG_ENDIAN

2011-09-06 15:16:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: update audio format enums to match changes in 0.11
	  And add new audio format info stuff to docs.

2011-09-06 16:13:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-06 16:13:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-09-06 15:40:02 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 605cd9a to a39eb83

2011-09-06 15:31:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/playback/gstsubtitleoverlay.c
	  tests/check/elements/decodebin2.c

2011-09-06 15:24:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/audio/audio.h
	  gst-libs/gst/audio/gstaudiodecoder.c
	  gst-libs/gst/audio/gstaudiodecoder.h
	  gst-libs/gst/audio/gstaudioencoder.c
	  gst-libs/gst/audio/gstbaseaudioencoder.h
	  gst/playback/Makefile.am
	  gst/playback/gstplaybin.c
	  gst/playback/gstplaysink.c
	  gst/playback/gstplaysinkvideoconvert.c
	  gst/playback/gstsubtitleoverlay.c
	  gst/videorate/gstvideorate.c
	  gst/videoscale/gstvideoscale.c
	  win32/common/libgstaudio.def

2011-09-06 14:16:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Do a subset check before actually using a factory
	  This prevents autoplugging if the caps have a non-empty intersection
	  but are not accepted by the next element's pad.

2011-09-06 14:04:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Use subset check instead of non-empty-intersection check to check if pads are compatible

2011-09-06 14:03:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Use subset check instead of non-empty-intersection check to check if pads are compatible

2011-09-06 13:06:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Fix memory leak

2011-09-06 12:14:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  decodebin2: Add unit test for correct parser/converter negotiation

2011-06-26 15:40:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Correctly negotiate format for parsers that can convert different stream formats
	  This is done by adding a capsfilter after every parser/converter that contains
	  all possible caps supported by downstream elements. A capsfilter is necessary
	  here because the decoder is only selected after the parser selected a format
	  and the parser can't know what downstream would support otherwise.

2011-09-05 15:19:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If a audio/video sink was already selected don't check caps of all other possible sinks

2011-09-06 08:25:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  decodebin2: Add Tim as author for the parser test

2011-09-06 12:06:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggstream.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/volume/gstvolume.c:
	  audio: change audio format syntax a little
	  Remove the _ in front of the endianness prefix.
	  Remove the _3 postfix for the 24 bits formats.
	  Add a _32 postfix after the formats that occupy extra space beyond their
	  natural size.
	  The result is that the GST_AUDIO_NE() macro can simply append the endianness
	  after all formats and that we only specify a different sample width when it is
	  different from the natural size of the sample. This makes things more consistent
	  and follows the pulseaudio conventions instead of the alsa ones.

2011-09-06 10:07:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  docs: more docs clean-ups

2011-09-05 23:00:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: don't take the object lock twice in {set,get}_property
	  https://bugzilla.gnome.org/show_bug.cgi?id=658294

2011-09-05 22:51:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: fix GST_AUDIO_FORMAT_INFO_IS_*() macros to return a boolean

2011-09-05 21:40:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  docs: some docs love

2011-09-05 20:45:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  docs: add GstAudioDecoder and GstAudioEncoder to documentation

2011-09-05 15:01:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	* win32/common/libgstaudio.def:
	  audio: rename GstBaseAudioDecoder/Encoder to GstAudioDecoder/Encoder
	  API: gst_gst_audio_decoder_finish_frame()
	  API: gst_gst_audio_decoder_get_audio_info()
	  API: gst_gst_audio_decoder_get_byte_time()
	  API: gst_gst_audio_decoder_get_delay()
	  API: gst_gst_audio_decoder_get_latency()
	  API: gst_gst_audio_decoder_get_max_errors()
	  API: gst_gst_audio_decoder_get_min_latenc()y
	  API: gst_gst_audio_decoder_get_parse_state()
	  API: gst_gst_audio_decoder_get_plc()
	  API: gst_gst_audio_decoder_get_plc_aware()
	  API: gst_gst_audio_decoder_get_tolerance()
	  API: gst_gst_audio_decoder_get_type()
	  API: gst_gst_audio_decoder_set_byte_time()
	  API: gst_gst_audio_decoder_set_latency()
	  API: gst_gst_audio_decoder_set_max_errors()
	  API: gst_gst_audio_decoder_set_min_latency()
	  API: gst_gst_audio_decoder_set_plc()
	  API: gst_gst_audio_decoder_set_plc_aware()
	  API: gst_gst_audio_decoder_set_tolerance()
	  API: gst_gst_audio_encoder_finish_frame()
	  API: gst_gst_audio_encoder_get_audio_info()
	  API: gst_gst_audio_encoder_get_frame_max()
	  API: gst_gst_audio_encoder_get_frame_samples()
	  API: gst_gst_audio_encoder_get_hard_resync()
	  API: gst_gst_audio_encoder_get_latency()
	  API: gst_gst_audio_encoder_get_lookahead()
	  API: gst_gst_audio_encoder_get_mark_granule()
	  API: gst_gst_audio_encoder_get_perfect_timestamp()
	  API: gst_gst_audio_encoder_get_tolerance()
	  API: gst_gst_audio_encoder_get_type()
	  API: gst_gst_audio_encoder_proxy_getcaps()
	  API: gst_gst_audio_encoder_set_frame_max()
	  API: gst_gst_audio_encoder_set_frame_samples()
	  API: gst_gst_audio_encoder_set_hard_resync()
	  API: gst_gst_audio_encoder_set_latency()
	  API: gst_gst_audio_encoder_set_lookahead()
	  API: gst_gst_audio_encoder_set_mark_granule()
	  API: gst_gst_audio_encoder_set_perfect_timestamp()
	  API: gst_gst_audio_encoder_set_tolerance()
	  https://bugzilla.gnome.org/show_bug.cgi?id=642690

2011-08-03 13:31:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Select muxer further
	  Sort muxers based on their caps and ranking before iterating to
	  find one that fits the profile.
	  Sorting is done by putting the elements that have a pad template
	  that can produce the exact caps that is on the profile. For example:
	  when asking for "video/quicktime, variant=iso", muxers that
	  have this exact caps on their pad templates will be put first on
	  the list than ones that have only "video/quicktime".
	  https://bugzilla.gnome.org/show_bug.cgi?id=651496

2011-09-05 20:31:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Actually iterate over the factories instead of only taking the first one

2011-09-05 15:51:25 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/libs/profile.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/video.c:
	  tests: supress ERROR log output for some tests
	  Be nice when we tests for correct error handling and don't spam stdout.

2011-09-05 14:40:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  Revert "playsink: Try include 'pitch', if no other sink is provided"
	  This reverts commit 105814e2c78f9867c61531b9e8166e4ae994296f.
	  The general consensus seems to be that we should revert this for
	  now. If such behaviour is desired, we should probably enable it
	  via a flag. And maybe use the scaletempo plugin instead.

2011-09-05 12:02:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Don't leak the videochain ts-offset element
	  Also don't leak the audiochain ts-offset element if one is
	  found but the sink doesn't support volume settings.

2011-09-05 11:55:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use gst_object_unref() instead of g_object_unref() for better debugging

2011-03-17 19:13:58 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/Makefile.am:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	  videoscale: Add modified Lanczos scaling method
	  Adds a Lanczos-derived scaling method, which is rather slow, but very
	  high quality.  Adds a few properties that can be used to tune various
	  scaling properties: sharpness, sharpen, envelope, dither.  Not currently
	  Orcified, but was designed with that in mind.

2011-05-16 14:46:52 -0700  David Schleef <ds@schleef.org>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: Add define for colorspace element
	  Single point of change if you want to switch from ffmpegcolorspace
	  to colorspace.

2011-08-25 15:14:58 +0100  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: fix dynamically changing average period
	  The average_period_set variable can be accessed in different threads, so
	  always lock it when reading. Furthermore when switching to averaging
	  mode we should make sure we don't have cached buffers that aren't used
	  in that mode. And any modeswitch will cause the latency to change, so we
	  should post a NewLatency message

2011-08-23 10:11:52 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: Port to basetransform

2011-08-22 15:52:57 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  Correct added versions

2011-08-31 14:45:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Only unref ts_offset elements if they're not NULL

2011-08-31 13:32:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: improve docs a little

2011-08-31 12:39:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Keep the chain mutex locked while connecting to the notify::caps signal

2011-08-30 14:04:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add some more macros

2011-08-30 18:21:31 +1000  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/seek/seek.c:
	  seek: Accept pipeline descriptions for audiosink/videosink
	  Make the element_factory_make_or_warn utility function try parsing
	  the input string as a bin if element_factory_make() fails. This makes
	  the --audiosink/--videosink commandline options accept a pipeline
	  string.

2011-08-30 18:21:31 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaysink.c:
	  playsink: Try include 'pitch', if no other sink is provided
	  As a default, try the pipeline 'pitch ! audioconvert ! autoaudiosink'
	  before trying plain autoaudiosink

2011-08-29 13:33:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix ts_offset refcounting

2011-08-29 13:28:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  base: port to 0.11

2011-08-29 11:42:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	  audio: fix after merge

2011-08-29 11:38:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  pbutils: port to new API

2011-08-29 11:37:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/ogg/gstoggmux.c
	  gst-libs/gst/audio/audio.c
	  gst-libs/gst/audio/audio.h
	  gst-libs/gst/audio/multichannel.h
	  gst-libs/gst/pbutils/Makefile.am
	  gst-libs/gst/pbutils/gstdiscoverer.c
	  gst/playback/gstplaysinkaudioconvert.c
	  gst/playback/gstplaysinkvideoconvert.c
	  win32/common/libgstaudio.def

2011-08-27 14:57:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: don't depend on libgstvideo just to parse some caps
	  Let's extract those ints and fractions ourselves and not depend
	  on libgstvideo.

2011-08-27 13:31:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* win32/common/libgstaudio.def:
	  audio: add GstBaseAudioDecoder and GstBaseAudioEncoder to build
	  However, libgstaudio now depends on libgstvideo (via pbutils).
	  https://bugzilla.gnome.org/show_bug.cgi?id=642690
	  API: gst_audio_info_clear()
	  API: gst_audio_info_convert()
	  API: gst_audio_info_copy()
	  API: gst_audio_info_free()
	  API: gst_audio_info_from_caps()
	  API: gst_audio_info_init()
	  API: gst_audio_info_to_caps()
	  API: gst_base_audio_decoder_finish_frame()
	  API: gst_base_audio_decoder_get_audio_info()
	  API: gst_base_audio_decoder_get_byte_time()
	  API: gst_base_audio_decoder_get_delay()
	  API: gst_base_audio_decoder_get_latency()
	  API: gst_base_audio_decoder_get_max_errors()
	  API: gst_base_audio_decoder_get_min_latency()
	  API: gst_base_audio_decoder_get_parse_state()
	  API: gst_base_audio_decoder_get_plc()
	  API: gst_base_audio_decoder_get_plc_aware()
	  API: gst_base_audio_decoder_get_tolerance()
	  API: gst_base_audio_decoder_get_type()
	  API: gst_base_audio_decoder_set_byte_time()
	  API: gst_base_audio_decoder_set_latency()
	  API: gst_base_audio_decoder_set_max_errors()
	  API: gst_base_audio_decoder_set_min_latency()
	  API: gst_base_audio_decoder_set_plc()
	  API: gst_base_audio_decoder_set_plc_aware()
	  API: gst_base_audio_decoder_set_tolerance()
	  API: gst_base_audio_encoder_finish_frame()
	  API: gst_base_audio_encoder_get_audio_info()
	  API: gst_base_audio_encoder_get_frame_max()
	  API: gst_base_audio_encoder_get_frame_samples()
	  API: gst_base_audio_encoder_get_hard_resync()
	  API: gst_base_audio_encoder_get_latency()
	  API: gst_base_audio_encoder_get_lookahead()
	  API: gst_base_audio_encoder_get_mark_granule()
	  API: gst_base_audio_encoder_get_perfect_timestamp()
	  API: gst_base_audio_encoder_get_tolerance()
	  API: gst_base_audio_encoder_get_type()
	  API: gst_base_audio_encoder_proxy_getcaps()
	  API: gst_base_audio_encoder_set_frame_max()
	  API: gst_base_audio_encoder_set_frame_samples()
	  API: gst_base_audio_encoder_set_hard_resync()
	  API: gst_base_audio_encoder_set_latency()
	  API: gst_base_audio_encoder_set_lookahead()
	  API: gst_base_audio_encoder_set_mark_granule()
	  API: gst_base_audio_encoder_set_perfect_timestamp()
	  API: gst_base_audio_encoder_set_tolerance()

2011-08-27 13:15:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  docs: add since markers to baseaudio{decoder,encoder} documentation

2011-08-27 12:47:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudiodecoder, baseaudioencoder: fix some compiler warnings
	  Leaving the GST_USE_UNSTABLE_API guards in until some of the
	  ported decoders have been updated and it's clear that I didn't
	  mess up anywhere porting things to the new audio API.

2011-08-27 12:41:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioutils.c:
	* gst-libs/gst/audio/gstbaseaudioutils.h:
	  baseaudioutils: remove, merged into or superseded by audio.c

2011-08-27 12:39:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: port to new GstAudioInfo API

2011-08-27 12:37:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: port to GstAudioInfo API

2011-08-27 11:43:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: add gst_audio_info_{init,clear} and gst_audio_info_{copy,free}

2011-08-22 20:15:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/multichannel.c:
	* gst-libs/gst/audio/multichannel.h:
	  audio: add GstAudioFormat, GstAudioFormatInfo and GstAudioInfo
	  Same as in 0.11, but with caps parsing/serialising for 0.10 style
	  caps. Add setting default channel positions.

2011-08-17 18:48:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: remove leftover experimental code

2011-08-17 18:32:54 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioutils.c:
	* gst-libs/gst/audio/gstbaseaudioutils.h:
	  audioutils: modify _parse, add GType support functions

2011-08-16 21:11:42 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: move properties to private storage and add _get/_set

2011-08-16 21:11:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: rename property

2011-08-16 20:39:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: replace context helper structure by various _get/_set

2011-08-16 18:59:13 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: move properties to private storage and add _get/_set

2011-08-16 18:25:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: rename some properties

2011-08-16 18:23:14 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: replace context helper structure by various _get/_set

2011-08-16 17:27:07 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	* gst-libs/gst/audio/gstbaseaudioutils.c:
	* gst-libs/gst/audio/gstbaseaudioutils.h:
	  baseaudio: rename GstAudioState to GstAudioFormatInfo

2011-06-17 11:54:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: TEMP; avoid some imperfect ts jitter ?
	  ... even when not in perfect mode ?

2011-04-28 12:01:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: debug format fixes

2011-04-28 12:01:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: debug format fix

2011-03-31 14:03:11 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: fixup documentation

2011-03-29 15:51:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: fix FLUSH_STOP actions

2011-03-28 13:16:27 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: preserve upstream seek event seqnum

2011-03-22 11:09:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: use buffer running time for granule calculation

2011-03-22 10:45:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: minor fix in ts resync

2011-03-21 11:40:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: improve glitch resilience
	  Provide a replacement for GST_ELEMENT_ERROR to avoid aborting at the first
	  atom out of place, while on the other hand not failing indefinitely.

2011-03-17 12:09:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: add limited legacy seeking support

2011-03-16 14:41:40 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: cater for audio-codec tag

2011-03-10 16:01:05 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiodecoder: initial version

2011-03-16 18:41:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: misc fixes

2011-03-15 17:27:42 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	* gst-libs/gst/audio/gstbaseaudioutils.c:
	* gst-libs/gst/audio/gstbaseaudioutils.h:
	  baseaudio: add audioutils for caps and query handling helper utils

2011-03-14 12:39:49 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: mark unstable API

2011-03-10 15:12:54 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: fix clearing context

2011-03-10 15:12:19 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: simplify latency variable handling

2011-03-10 14:28:48 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: minor fixes and code simplifications
	  Also modify and elaborate a bit on pre_push (though currently unused to no harm).

2011-03-09 12:44:36 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: additional documentation on granule semantics and configuration

2011-03-09 12:24:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: elaborate property names

2011-03-09 12:22:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: rename state field xint to is_int

2011-03-09 12:18:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	  baseaudioencoder: gtk-doc syntax fixes

2011-03-09 12:17:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  baseaudioencoder: minor fix and cleanup

2011-03-01 14:08:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  baseaudiocodec: ... and also rename to baseaudiodecoder

2011-03-01 13:58:31 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  gst-libs/gst/audio: Remove baseaudiodecoder
	  Adds little beyond baseaudiocodec (seeking, bit of query), and what it adds
	  is mainly out-of-scope (e.g. decoder seeking, should be done by upstream
	  demuxer/parser) and/or based on non-prime example (mad).

2009-09-17 13:26:28 +0200  Iago Toral <itoral@igalia.com>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	  baseaudiodecoder: Return TRUE if we run into special conversion cases.

2009-09-01 14:17:53 +0200  Iago Toral <itoral@igalia.com>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  audio: initial version of GstBaseAudioCodec
	  Moved most of the code to GstBaseAudioCodec, GstBaseAudioDecode is
	  now really small, maybe we do not really need it (or its encoder
	  counterpart). Added more API for subclasses and documentation.

2009-08-14 09:45:52 +0200  Iago Toral <itoral@igalia.com>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  Added src_queries to decoder class. Added handle_discont to decoder class. Reworked reset. Various other minor fixes.

2009-08-06 15:28:00 +0200  Iago Toral <itoral@igalia.com>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  Added a draft implementation of gstbaseaudiodecoder

2011-03-01 11:56:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	  Added audio directory for audio codec base classes

2011-02-18 16:38:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  audioencoders: add streamheader helper utility

2011-01-27 16:52:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* gst-libs/gst/audio/gstbaseaudioencoder.h:
	  audioencoders: baseaudioencoder and ported encoders

2011-08-26 14:20:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  base: fix for allocation methods rename

2011-08-26 10:03:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstpbutils.def:
	  win32: Add new discoverer API

2011-08-26 10:03:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add new discoverer API

2011-08-24 16:29:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	  discoverer: retrieve audio track language from tags too
	  https://bugzilla.gnome.org/show_bug.cgi?id=657257

2011-08-24 15:09:47 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: consider subtitles as raw
	  Otherwise, discoverer will generated an "inner" codec
	  where there can be a tranformation (eg, kate -> DVD SPU,
	  and various ->text/x-pango-markup).
	  https://bugzilla.gnome.org/show_bug.cgi?id=639055

2011-08-24 15:05:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: add application/x-kate to subtitles caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=639055

2011-08-24 14:59:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: get language from other tags if we did not get it already
	  https://bugzilla.gnome.org/show_bug.cgi?id=639055

2011-08-24 15:04:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	  discoverer: add subtitles API
	  https://bugzilla.gnome.org/show_bug.cgi?id=639055

2011-08-21 14:51:45 -0700  David Schleef <ds@schleef.org>

	* gst/playback/gstplaysink.c:
	  playback: reference count ts_offset
	  Apparently this object is being used after it's freed.  This is one
	  way to fix it, although perhaps not the best way.  Fixes: #656715.

2011-08-25 17:41:53 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstaudio.def:
	* win32/common/libgstinterfaces.def:
	* win32/common/libgsttag.def:
	* win32/common/libgstvideo.def:
	  win32: Update .def files

2011-08-25 17:41:30 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  win32: Update pre-generated files

2011-08-25 17:41:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video.h:
	  video: Fix typo in interlaced flag (TTF => TFF)

2011-08-25 16:41:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: clean up the custom flags
	  Clean up the flags, make an enum of them. We can now do this because there are
	  no subclasses of buffer anymore.

2011-08-25 16:30:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	  convert: use new caps

2011-08-25 14:55:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix caps leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=657333

2011-07-08 23:06:46 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppayload: Make perfect timestamps reproducible across element restart
	  Without the perfect timestamp machinery, the RTP timestamp can be
	  computed directly from the running time of a buffer, but the perfect
	  timestamp patch broke that assumption. This patch restores it by
	  having the first perfect timestamp be the running time of that buffer
	  and counting from there.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=654434

2011-08-25 13:21:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: use base class fill method

2011-08-25 12:49:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/resindvd/rsnwrappedbuffer.c

2011-08-25 12:49:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/resindvd/rsnwrappedbuffer.c

2011-08-24 17:39:11 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix leaks in skeleton writing
	  https://bugzilla.gnome.org/show_bug.cgi?id=563251

2011-08-18 16:36:23 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: generate message headers from received tags
	  Some message headers can be deduced from tags (eg, "Language").
	  https://bugzilla.gnome.org/show_bug.cgi?id=563251

2011-08-18 10:05:17 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggparse.c:
	  ogg: use memory slices where appropriate
	  While there, avoid zeroing newly allocated memory where unnecessary
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-24 18:39:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/riff/riff-media.c:
	  multichannel: add some more channels

2011-08-24 16:40:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/video/video.h:
	  audio/video: add format of the pack functions
	  Replace the unpack_size with an unpack_format, which is more descriptive of the
	  kind of data the unpack function will create.

2011-08-24 14:13:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	  audio: rename UNPOSITIONED to DEFAULT_POSITIONS
	  Rename the UNPOSITIONED flag to the DEFAULT_POSITIONS flag because that is
	  really what the resulting GstAudioInfo will contain as the chanel mappings.

2011-08-24 14:05:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink{audio,video}convert: Send NEWSEGMENT events to sinkpads instead of pushing them

2011-08-24 13:52:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add an id to the video frame
	  Rename @view_id to @id.
	  Add an id to the video metadata. Add a method to get the metadata from a buffer
	  with the given id.
	  Make a method to map a frame with a certain id. This only maps the frame with
	  the given id on the video metadata. The generic frame id can be used when a
	  buffer carries multiple video frames such as in multiview mode but maybe also
	  when dealing with interlaced video that stores the fields in separate buffers.

2011-08-24 11:05:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix build

2011-08-24 11:04:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/ogg/gstoggmux.c
	  ext/vorbis/gstvorbisenc.c

2011-08-23 11:12:10 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not warn when reaching EOS while scanning for the end chain
	  After all, we were asking for it.
	  This gets rid of the last warning-about-expected-condition.
	  w00t.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 11:08:25 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add media type to chain information reports
	  One more little step in making logs a little less abstruse.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 11:05:11 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: correctly identify skeleton EOS packet
	  It is 0 byte, and was triggering the "bad packet" logic.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:58:20 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not warn about expected occurences
	  In this case, finding a skeleton packet.
	  Once upon a time, it used to be rare indeed, but no more.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:47:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not warn when finding a non BOS page
	  After all, we do hope to find actual data for these streams.
	  However, warn if we could not set up a chain when we find a
	  non BOS page, as that means we don't have a valid Ogg stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:40:12 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: rename local variable for clarity
	  While the casual reader might end up bewildered by just why this
	  change might increase clarity, it just happens than, in the libogg
	  and associated sources, op is the canonical name for an ogg_packet
	  whlie og is the canonical name for an ogg_page, and reading this
	  code confuses me.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:32:36 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not try to determine duration of header packets
	  Headers are inherently durationless.
	  Instead, set duration to 0 to avoid increasing tracked granpos,
	  and do not warn about it, since it is totally expected.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:29:49 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: include stream type in warnings
	  It makes it easier to work out what's going on.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-23 10:28:33 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: set skeleton stream media type to application/x-ogg-skeleton
	  This is to match the typefinder, and to make logs clearer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657151

2011-08-17 17:09:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: add skeleton write support
	  Version written is 3.0
	  Base times are left empty for now.
	  Content-Type should be the MIME type of the stream. It is set to
	  the GStreamer media type for now, which is probably the same for
	  the streams oggmux supports.
	  https://bugzilla.gnome.org/show_bug.cgi?id=563251

2011-08-23 20:34:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: fix chroma-site enums

2011-08-23 19:23:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: avoid gst-indent breaking the code

2011-08-23 19:04:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: fix docs

2011-08-23 18:57:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	  video: add colorimetry info
	  Make enums for the chroma siting for easier use in the videoinfo.
	  Make enums for the color range, color matrix, transfer function and the
	  color primaries. Add these values to the video info structure in a Colorimetry
	  structure. These values define the exact colors and are needed to perform
	  correct colorspace conversion. Use a couple of predefined colorimetry specs
	  because in practice only a few combinations are in use.
	  Add view_id to the video frames to identify the view this frame represents in
	  multiview video.
	  Remove old gst_video_parse_caps_framerate, use the videoinfo for this.
	  Port elements to new colorimetry info.
	  Remove deprecated colorspace property from videotestsrc.

2011-08-22 14:56:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not skip sparse streams when determining start times
	  This fixes demuxing of streams containing only sparse streams,
	  which would cause an infinite loop in _read_end_chain.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657062

2011-08-22 14:55:59 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not ignore sparse streams' start time
	  But do not wait for them either, if we don't have a packet for them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657062

2011-07-21 17:16:26 -0400  Monty Montgomery <cmontgom@redhat.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Relax overly-tight jitter tolerances in gstvobisenc
	  vorbisenc currently reacts in a rater draconian fashion if input
	  timestamps are more than 1/2 sample off what it considers ideal. If data
	  is 'too late' it truncates buffers, if it is 'too soon' it completely
	  shuts down encode and restarts it.  This is causingvorbisenc to produce
	  corrupt output when encoding data produced by sources with bugs that
	  produce a smple or two of jitter (eg, flacdec)

2011-08-22 16:21:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audio: use convert audio helper

2011-08-22 16:11:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstringbuffer.c:
	  audio: move function to convert

2011-08-22 15:57:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-media-types.txt:
	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: parse number of views
	  Parse the number of views in multiview video buffers.

2011-08-22 13:14:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/pango/gsttextoverlay.c

2011-08-22 13:06:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/interfaces/videooverlay.c
	  gst-libs/gst/rtp/gstrtpbuffer.c
	  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/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

2011-08-22 12:22:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/video/video.h:
	* tests/check/Makefile.am:
	* tests/check/elements/decodebin.c:
	  fourcc: remove fourcc
	  Remove fourcc in caps.
	  Fix pbutils descriptions.
	  Add more video macros
	  Fix some unit test

2011-08-22 12:21:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix compilation

2011-08-22 09:06:53 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: fix text buffer leak
	  Make sure to always unref the input text buffer.
	  Reported by bcxa.sz@gmail.com.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657049

2011-08-20 19:46:31 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/gstvideosink.h:
	  docs: fix xref for the property

2011-08-20 19:16:42 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/navigation.c:
	* gst-libs/gst/interfaces/streamvolume.h:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/video/gstvideosink.h:
	  docs: handle warnings emitted by gtk-doc
	  This is useful and in most cases someone had put arbitrary markup into the docs,
	  misspelled xref'ed symbols, forgot to add stuff to the docs etc..

2011-08-20 17:53:11 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: partially revert my last commit
	  Somehow this was already there, but I missed that commit.

2011-08-20 14:11:11 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/licenses.c:
	  docs: add new taglicense docs and clean them up
	  Avoid ugly docbook tags unless needed.

2011-08-20 12:37:10 +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/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 string

2011-08-20 12:36:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: fix distcheck issue
	  Dist licenses dict.

2011-08-20 10:49:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/riff/riff-media.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstchannelmix.c:
	  audio: rename INT -> INTEGER
	  Spell INTEGER fully instead of using the int abreviation.
	  Remove some old functions.

2011-08-19 17:41:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/ogg/gstoggstream.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst/audioconvert/channelmixtest.c:
	* gst/encoding/gstencodebin.c:
	  more audio caps porting

2011-08-19 17:05:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: port to new caps

2011-08-19 17:05:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: fix playbin2 setup

2011-08-19 16:49:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/visual.c:
	  visual: port some more to new audio caps

2011-08-19 16:01:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: port to new audio caps

2011-08-19 16:00:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: add function to build audio format

2011-08-19 14:07:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-19 11:55:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	  audio: add more macros

2011-08-19 10:06:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst/volume/gstvolume.c:
	  audiofilter: Pass a const pointer to the audio format info to ::setup()
	  It is not meant to be changed by the subclass.

2011-08-18 16:20:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggparse.c:
	  ogg: do not use 32 bit modifiers to print serial numbers
	  If ints are 64 bits, 32 bits should get promoted in varargs anyway,
	  and we don't care about 16 bit ints.
	  This makes the code a lot more readable, and still gets us nice
	  hexadecimal 32 bit serialnos.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-18 19:36:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/ogg/gstoggmux.c
	  gst/playback/gstplaysink.c

2011-08-18 19:15:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasink.h:
	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	* gst-libs/gst/audio/multichannel.c:
	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/video/video.h:
	* gst/adder/gstadder.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audiorate/Makefile.am:
	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audiotestsrc/Makefile.am:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	* gst/playback/gstrawcaps.h:
	* gst/volume/gstvolume.c:
	  audio: rework audio caps.
	  Rework the audio caps similar to the video caps. Remove
	  width/depth/endianness/signed fields and replace with a simple string
	  format and media type audio/x-raw.
	  Create a GstAudioInfo and some helper methods to parse caps.
	  Remove duplicate code from the ringbuffer and replace with audio info.
	  Use AudioInfo in the base audio filter class.
	  Port elements to new API.

2011-07-27 11:05:31 +0000  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Reconfigure when pads are added later
	  Instead of just assuming all pads are created at the same time,
	  remember which ones are actually new (via ->pending_blocked_pads).
	  This allows the following use-case to properly work:
	  * Upstream starts with audio-only
	  * Only that pad gets data, blocks and a real audio sink is created
	  * Upstream laters adds a video stream
	  * A new pad is requested, blocks and reconfiguration kicks in in
	  order to add a new real video sink

2011-08-18 09:37:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/README:
	  ogg: get the operator precedence right, even if only a doc
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-18 09:30:46 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: vorbis has a preroll of 2
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 19:40:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: new convenience function to get a stream's media type
	  This will make logging a lot clearer, both in code and in output.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 18:48:54 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  ogg: move the "always flush page" to oggstream
	  It avoids checking for specific media types in the muxer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 18:38:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: use oggstream to decide which BOS packets to place first
	  Ogg recommends video BOS packets to be first.
	  Use the "is_video" flag in oggstream to select those, rather than
	  check for known mime types.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 18:03:16 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.h:
	  ogg: rationalize serialno type to guint32
	  It is a 32 bit unsigned number.
	  Sure, the libogg API uses a long, but that's an unfortunate oversight.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 17:39:18 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: factor the header packet creation code
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-17 17:18:47 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: headers should always have granpos 0
	  https://bugzilla.gnome.org/show_bug.cgi?id=656775

2011-08-18 09:48:16 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioresample/resample.c:
	  audioresample: fix build without orc
	  https://bugzilla.gnome.org/show_bug.cgi?id=656781

2011-08-17 19:01:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-17 19:01:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-17 17:24:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: chain up to parent in fixate

2011-08-17 17:22:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: properly override fixate

2011-08-17 17:18:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: properly override the fixate function

2011-08-17 17:18:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add some more macros

2011-08-17 10:57:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/id3v2.c:
	  tagdemux: port to 0.11

2011-08-17 10:57:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix compiler warning

2011-08-17 10:47:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix after merge

2011-08-17 10:47:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: fix after merge

2011-08-16 18:01:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  ext/pango/gsttextoverlay.c
	  ext/theora/gsttheoradec.c
	  gst/adder/gstadder.c
	  gst/adder/gstadder.h
	  gst/audioresample/gstaudioresample.c
	  gst/encoding/gstencodebin.c
	  gst/playback/gstdecodebin.c
	  gst/playback/gstdecodebin2.c
	  tests/check/elements/decodebin2.c
	  tests/check/elements/playbin-compressed.c
	  win32/common/libgsttag.def

2011-08-16 16:51:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: remove deprecated methods

2011-08-15 01:22:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	* tests/check/libs/tag.c:
	  tag: id3: avoid some more relocations in genre table

2011-08-12 12:07:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/audioresample.c:
	  audioresample: add FFT based checks
	  Send a few simple tones through audioresample and check
	  that the main frequency spot is the same for the input and
	  the resampled output.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656392

2011-08-15 23:41:24 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: add OSX specific hack to detect when a connection is refused
	  Unlike linux, OSX wakes up select with POLLOUT (instead of POLLERR) when
	  connect() is done async and the connection is refused. Therefore always check
	  for the socket error state using getsockopt (..., SO_ERROR, ...) after a
	  connection attempt.

2011-08-15 18:39:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimage: avoid caps intersection
	  Store the video format in the XvImage format list so that we can quickly map
	  between the two.

2011-08-15 18:38:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  gststreamsynchronizer: don't abuse PREROLL flag
	  the preroll flag is not implemented and will disappear soon.

2011-08-15 12:18:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	* tests/check/libs/struct_x86_64.h:
	* tests/check/pipelines/oggmux.c:
	  fix for _negotiated_caps() change

2011-08-15 00:17:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new license API to docs

2011-08-15 00:03:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: try pkg-config first when looking for zlib

2011-08-14 20:44:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.3.0.txt:
	* gst-libs/gst/tag/id3v2.4.0-frames.txt:
	* gst-libs/gst/tag/id3v2.4.0-structure.txt:
	  tag: id3v2: add specs to git for reference

2011-08-14 13:32:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: avoid some relocations, make table static

2011-08-14 01:47:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/id3v2.h:
	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: add debug category for ID3 tag parsing

2011-07-18 18:09:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/id3v2.h:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* win32/common/libgsttag.def:
	  tag: id3v2: add id3v2 tag parsing helpers
	  https://bugzilla.gnome.org/show_bug.cgi?id=654388

2011-02-22 15:19:00 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: return ID3TAGS_BROKEN_TAG for unsupported versions
	  This prevents us for trying to work with a NULL taglist.

2011-01-02 19:23:51 +0000  Erich Schubert <erich@debian.org>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix parsing of ID3v2.4 genre frames with multiple genres
	  We'd only extract the first genre (multiple times) instead of all
	  genres.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638535

2010-09-24 15:19:15 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: Sanitize id3 frame names
	  This is similar to what is done in qtdemux. Avoids providing invalid
	  structure/tags names

2010-03-30 01:50:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix parsing of unsynced frames with data length indicator
	  Fixes bug #614158.

2010-03-20 00:54:14 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/tag/id3v2.c:
	  Add -Wwrite-strings to the configure flags
	  ... and fix all warnings

2009-12-13 13:19:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: prefer two letter ISO 639-1 code for extended comment

2009-10-09 15:59:25 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: fixes warnings building on macosx
	  Another round on the formating of that debug line.

2009-10-09 14:44:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: cast pointer math results to glong

2009-10-09 13:38:17 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: don't cast, but use the right format specified instead
	  This correct some of the previous macos fixes.

2009-10-09 11:42:36 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: fix printf warnings on macosx

2009-10-07 14:03:20 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fprintf, sprintf, sscanf need stdio.h

2009-09-22 15:03:20 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: Fix compile warnings with gcc 4.0.1.

2009-08-09 12:52:17 +0200  LoneStar <lone@auvtech.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: Try GST_*_TAG_ENCODING and locale encoding if tags are not UTF8
	  Fixes bug #499242.

2009-08-07 16:42:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: sizes in ID3 v2.3 are unlikely to be sync-safe integers
	  In ID3 v2.3 compressed frames will have a 4-byte data length indicator
	  after the frame header to indicate the size of the decompressed data.
	  This integer is unlikely to be a sync-safe integer for v2.3 tags,
	  only in v2.4 it's sync-safe.

2009-08-07 16:36:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: fix typo in debug message

2009-08-07 16:02:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/id3v2.h:
	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix parsing of unsync'ed ID3 v2.4 tags and frames
	  Reversing the unsynchronisation seems to work slightly differently
	  for ID3 v2.3 tags and v2.4 tags: v2.3 tags don't have syncsafe frame
	  sizes in the frame header, so the unsynchronisation is applied to
	  the whole frame data including all the frame headers. v2.4 frames
	  have sync-safe sizes, however, so the unsynchronisation only needs
	  to be applied to the actual frame data, and it seems that's what's
	  being done as well. So we need to undo the unsynchronisation on a
	  per-frame basis for v2.4 tags for things to work properly.
	  Fixes extraction of coverart/images from APIC frames in ID3 v2.4
	  tags (#588148).
	  Add unit test for this as well.

2009-04-24 01:51:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: parse unsynchronised tags properly
	  We didn't handle unsynchronization at all up to now, which might have
	  caused frames to not be extracted - esp. frames after an APIC picture
	  frame. Fixes #577468.

2009-04-24 01:01:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: pass the right size value for size of all frames to the parser
	  Frame data size is tag size adjusted for size of the tag header and
	  footer, not tag size including header and footer.

2008-06-04 10:42:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Use new utility functions in libgsttag to process coverart (#512333).
	  Original commit message from CVS:
	  * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
	  * gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
	  Use new utility functions in libgsttag to process coverart (#512333).

2008-01-11 21:08:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Generate the image-type values correctly. Leave them out of the caps when outputting a "preview image" tag, since it ...
	  Original commit message from CVS:
	  * ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
	  * gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
	  Generate the image-type values correctly. Leave them out of the caps
	  when outputting a "preview image" tag, since it only makes sense
	  to have one of those - the type is irrelevant.
	  * sys/sunaudio/gstsunaudiomixerctrl.c:
	  (gst_sunaudiomixer_ctrl_open):
	  If we can, mark the mixer multiple open when we use it, in case
	  (for some reason) the process wants to open it again elsewhere.

2008-01-09 15:20:19 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  tag: id3v2: Make sure the ISO 639-X language code in ID3v2 COMM frames so we don't end up with non-UT...
	  Original commit message from CVS:
	  Based on patch by: Tommi Myöhänen <ext-tommi.myohanen nokia com>
	  * gst-libs/gst/tag/id3v2frames.c: (parse_comment_frame):
	  Make sure the ISO 639-X language code in ID3v2 COMM frames
	  is actually valid UTF-8 (or rather: ASCII), so we don't end
	  up with non-UTF8 strings in tags if there's garbage in the
	  language field. Also make sure the language code is always
	  lower case. Fixes: #508291.

2007-12-14 10:17:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Parse WOAF frames and put the result into GST_TAG_CONTACT, which is where it would end up...
	  Original commit message from CVS:
	  * tag: id3v2: (parse_url_link_frame):
	  Parse WOAF frames and put the result into GST_TAG_CONTACT,
	  which is where it would end up if the same information was
	  put in a vorbis comment (don't think it's worth adding a
	  new URI tag for this). Fixes #488112.

2007-11-14 21:39:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: We don't want the same string multiple times in a tag list for the same tag ever, for any tag, not jus...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c:
	  * gst-libs/gst/tag/id3v2.h:
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
	  We don't want the same string multiple times in a tag list for the
	  same tag ever, for any tag, not just for GST_TAG_GENRE, so make sure
	  this doesn't happen and remove special-case code for GST_TAG_GENRE.

2007-10-11 17:55:29 +0000  Jason Kivlighn <jkivlighn@gmail.com>

	  tag: id3v2: Extract license/copyright URIs from ID3v2 WCOP frames (Fixes #447000).
	  Original commit message from CVS:
	  Based on patch by: Jason Kivlighn  <jkivlighn gmail com>
	  * gst-libs/gst/tag/id3v2frames.c:
	  Extract license/copyright URIs from ID3v2 WCOP frames
	  (Fixes #447000).
	  * tests/check/elements/id3demux.c:
	  * tests/files/Makefile.am:
	  * tests/files/id3-447000-wcop.tag:
	  Add simple unit test.

2007-10-06 16:13:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Port ID3 tag demuxer over to the new GstTagDemux in -base (now would be a good time to test re-importi...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3demux.c:
	  * gst-libs/gst/tag/gstid3demux.h:
	  * gst-libs/gst/tag/id3v2.c:
	  * gst-libs/gst/tag/id3v2.h:
	  * gst-libs/gst/tag/id3v2frames.c:
	  Port ID3 tag demuxer over to the new GstTagDemux in -base
	  (now would be a good time to test re-importing your music
	  collection).

2007-03-12 13:28:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is the image format a vari...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
	  Fix parsing of ID3 v2.2.0 PIC frames. Only in version >= 2.3.0 is
	  the image format a variable-length NUL-terminated string; in
	  versions before that the image format is a fixed-length string of
	  3 characters (see #348644 for a sample tag).
	  Also make supplied mime type lower-case and fix up 'jpg' to 'jpeg'.

2007-03-06 18:16:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise the four-digit number will be interp...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
	  * gst-libs/gst/tag/id3v2.h:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_obsolete_tdat_frame):
	  Do not convert obsolete TDA/TDAT frames to TDRC frames, otherwise
	  the four-digit number will be interpreted as a year, whereas it is
	  month and day in DDMM format. Instead, parse TDAT frames and fix up
	  the date in the GST_TAG_DATE tag later if we also extracted a year.
	  Fixes #407349.

2006-11-19 13:41:53 +0000  René Stadler <mail@renestadler.de>

	  tag: id3v2: Make sure that g_free always gets called on the same pointer that was returned by g_mallo...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
	  Make sure that g_free always gets called on the same pointer that was
	  returned by g_malloc.  Fixes #376594.
	  Do not leak memory if decompressed size is wrong.
	  Remove unneeded check of return value of g_malloc.
	  Patch by: René Stadler <mail@renestadler.de>

2006-11-01 13:59:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: We require a -base more recent than 0.10.9, so it's safe to use
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
	  We require a -base more recent than 0.10.9, so it's safe to use
	  GST_TYPE_TAG_IMAGE_TYPE unconditionally now.
	  * ext/dv/gstdvdec.c: (gst_dvdec_sink_event):
	  * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_sink_event):
	  Use _newsegment_full() now that we depend on a recent enough core.
	  * gst/wavparse/gstwavparse.c:
	  Remove cruft that we don't need any longer now that we depend on
	  a recent enough -base.

2006-10-05 16:37:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Printf format fixes.
	  Original commit message from CVS:
	  * ext/cairo/gsttimeoverlay.c:
	  (gst_cairo_time_overlay_update_font_height):
	  * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps):
	  * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data):
	  * ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
	  * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain):
	  * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain):
	  * ext/libpng/gstpngdec.c: (user_endrow_callback):
	  * gst/auparse/gstauparse.c: (gst_au_parse_parse_header):
	  * gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex),
	  (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
	  (gst_avi_demux_stream_data):
	  * gst/cutter/gstcutter.c: (gst_cutter_chain):
	  * gst/debug/efence.c: (gst_efence_buffer_alloc),
	  (gst_fenced_buffer_copy):
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
	  * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
	  * gst/matroska/matroska-mux.c: (gst_matroska_mux_start):
	  * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send),
	  (gst_rtspsrc_handle_message):
	  * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
	  * sys/ximage/ximageutil.c: (ximageutil_xcontext_get):
	  Printf format fixes.

2006-08-22 13:53:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: If strings in text fields are marked ISO8859-1, but contain valid UTF-8 already, then han...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_text_identification_frame),
	  (parse_insert_string_field):
	  If strings in text fields are marked ISO8859-1, but contain
	  valid UTF-8 already, then handle them as UTF-8 and ignore
	  the encoding. (#351794)

2006-08-16 13:01:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Require CVS of GStreamer core and -base (for
	  Original commit message from CVS:
	  * configure.ac:
	  Require CVS of GStreamer core and -base (for
	  GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()).
	  * ext/taglib/gstid3v2mux.cc:
	  Write extended comment tags properly (#348762).
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_comment_frame):
	  Extract COMM frames into extended comments, which makes it
	  easier to properly retain the description bit of the tag
	  and maintain this information when re-tagging (#348762).

2006-07-25 16:47:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as well, and add the version to...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c:
	  (id3demux_add_id3v2_frame_blob_to_taglist):
	  Extract frames for ID3v2 versions prior to ID3v2.3.0 properly as
	  well, and add the version to the blob's buffer caps, since that
	  information will be needed for deserialisation later on (#348644).

2006-07-23 11:33:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: On second thought, it might be wiser and more efficient not to do tag registration from a streaming th...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3demux.c: (plugin_init):
	  * gst-libs/gst/tag/id3v2.c:
	  (id3demux_add_id3v2_frame_blob_to_taglist):
	  * gst-libs/gst/tag/id3v2.h:
	  On second thought, it might be wiser and more efficient
	  not to do tag registration from a streaming thread.

2006-07-23 10:56:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Put ID3v2 frames we can't parse as binary blobs into private tags, so that they are not lost ...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c:
	  (id3demux_add_id3v2_frame_blob_to_taglist),
	  (id3demux_id3v2_frames_to_tag_list):
	  Put ID3v2 frames we can't parse as binary blobs into private
	  tags, so that they are not lost when retagging, at least once
	  id3v2mux has been taught to re-inject those frames again.
	  See bug #334375.

2006-07-21 10:57:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tag: id3v2: Don't use \n in debug lines
	  Original commit message from CVS:
	  * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
	  (gst_avi_demux_process_next_entry):
	  Fix some leaks.
	  * gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
	  Don't use \n in debug lines.

2006-06-22 12:17:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Set image type from APIC frame as "image-type" field of GST_TAG_IMAGE buffer caps (#344605).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_picture_frame):
	  Set image type from APIC frame as "image-type" field
	  of GST_TAG_IMAGE buffer caps (#344605).

2006-06-11 19:31:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Extract images from ID3v2 tags (APIC frames). Fixes #339704.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (scan_encoded_string), (parse_picture_frame):
	  Extract images from ID3v2 tags (APIC frames). Fixes #339704.
	  * configure.ac:
	  Require core >= 0.10.8 (for GST_TAG_IMAGE and
	  GST_TAG_PPEVIEW_IMAGE used in the patch above).

2006-05-28 10:05:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: A track/volume number or count of 0 does not make sense, just ignore it along with negati...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
	  A track/volume number or count of 0 does not make sense,
	  just ignore it along with negative numbers (a tag might
	  only contain a track count without a track number).

2006-05-19 14:05:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Don't output any tag when we encounter a negative track number - the tag type is uint, so...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
	  Don't output any tag when we encounter a negative track number - the
	  tag type is uint, so we end up outputting huge positive numbers
	  instead. (Fixes: #342029)

2006-05-16 14:07:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Rework string parsing to always walk over BOM markers in UTF16 strings, using the endianness indicated by the innermost one ...
	  Original commit message from CVS:
	  * gst/autodetect/gstautoaudiosink.c:
	  (gst_auto_audio_sink_find_best):
	  * gst/autodetect/gstautovideosink.c:
	  (gst_auto_video_sink_find_best):
	  Make the name of the child element be based on the name of the
	  parent, so that debug output is more useful.
	  * gst-libs/gst/tag/id3v2frames.c: (find_utf16_bom),
	  (parse_insert_string_field), (parse_split_strings):
	  Rework string parsing to always walk over BOM markers in UTF16
	  strings, using the endianness indicated by the innermost one,
	  then trying the opposite endianness if that fails to convert
	  to valid UTF-8. Fixes #341774

2006-05-12 08:21:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Some more debug info. No need to check whether the string returned by g_convert() is real...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_insert_string_field):
	  Some more debug info. No need to check whether the string
	  returned by g_convert() is really UTF-8 - either it is or
	  we get NULL returned.

2006-05-10 13:51:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Fix parsing of numeric genre strings some more, by ensuring that we only try and parse st...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_genre_fields_to_taglist):
	  Fix parsing of numeric genre strings some more, by ensuring that
	  we only try and parse strings that a) Start with '(' and b) Consist
	  only of digits.
	  Also, when finding an escaping '((' sequence, bust it back to '(' by
	  swallowing the first parenthesis

2006-04-28 11:37:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Recognise and skip any byte order marker (BOM) in
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (has_utf16_bom),
	  (parse_split_strings):
	  Recognise and skip any byte order marker (BOM) in
	  UTF-16 strings.

2006-04-17 10:01:51 +0000  Alex Lancaster <alexlan@fedoraproject.org>

	  tag: id3v2: Recognise TCO (Genre) tags in ID3v2.2
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c:
	  Recognise TCO (Genre) tags in ID3v2.2. Patch by Alex Lancaster
	  (Fixes #338713)

2006-03-30 23:37:16 +0000  Sébastien Moutte <sebastien@moutte.net>

	  tag: id3v2: use of GST_DEBUG instead of DEBUG(a...) for WIN32
	  Original commit message from CVS:
	  * ext\jpeg\smokecodec.c:
	  use of GST_DEBUG instead of DEBUG(a...) for WIN32
	  * ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
	  move first instruction after all variables declarations
	  * gst\alpha\gstalpha.c:
	  * gst\effectv\gstshagadelic.c:
	  * gst\smpte\paint.c:
	  * gst\videofilter\gstvideobalance.c:
	  define M_PI if it's not defined (it's not defined on WIN32)
	  * gst\cutter\gstcutter.c: (gst_cutter_chain):
	  * gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
	  * gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
	  * gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
	  (gst_matroska_demux_video_caps):
	  * gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
	  * gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
	  use gst_guint64_to_gdouble for conversions
	  * gst\goom\filters.c: (setPixelRGB_):
	  fix a debug which was using undefined variable
	  * gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
	  * gst\matroska\ebml-read.c: (gst_ebml_read_sint):
	  replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
	  * win32/vs6:
	  add vs6 projects files for most of plugins-good

2006-03-22 13:00:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Don't attempt typefinding on too-short buffers that have been completely trimmed away.
	  Original commit message from CVS:
	  * gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
	  * gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_chain):
	  Don't attempt typefinding on too-short buffers that have been
	  completely trimmed away.
	  * gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
	  Improve the debug output

2006-03-16 16:06:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: We only care about gain and peak data for the master volume.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c:
	  (parse_relative_volume_adjustment_two):
	  We only care about gain and peak data for the master volume.

2006-03-16 13:22:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tag: id3v2: Read replay gain tags
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_id_string), (parse_unique_file_identifier),
	  (parse_relative_volume_adjustment_two), (id3v2_tag_to_taglist):
	  Read replay gain tags (#323721).

2006-03-14 17:56:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(), used by id3demux.
	  Original commit message from CVS:
	  * configure.ac:
	  Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(),
	  used by id3demux.
	  * gst-libs/gst/tag/gstid3demux.c: (plugin_init):
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_user_text_identification_frame),
	  (parse_unique_file_identifier):
	  Add support for UFID and TXXX frames and extract musicbrainz tags.

2006-02-18 20:48:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Handle 0 data size in otherwise valid frames.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_genre_fields_to_taglist):
	  Handle 0 data size in otherwise valid frames.
	  Handle numeric strings in 2.4.0 even when not in parentheses

2006-02-16 10:58:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: 3 2.3.0 used synch-safe integers for the tag size, but not for the frame size. (Fixes #331368)
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c: (id3demux_id3v2_frames_to_tag_list):
	  ID3 2.3.0 used synch-safe integers for the tag size, but not for the
	  frame size. (Fixes #331368)

2006-02-13 12:00:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Add more validation to ensure that a char encoding conversion produced a valid UTF-8 string.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_insert_string_field),
	  (parse_split_strings):
	  Add more validation to ensure that a char encoding conversion
	  produced a valid UTF-8 string.

2006-02-04 13:30:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Adjust for data length indicators when parsing (Fixes #329810)
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_split_strings):
	  Adjust for data length indicators when parsing (Fixes #329810)
	  Fix stupid bug parsing UTF-8 tag text.
	  Output tag strings with multiple fields as multiple tags, so the
	  app gets all the data.

2006-02-03 13:06:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Never output a tag with a null contents string.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (parse_text_identification_frame),
	  (id3v2_tag_to_taglist), (id3v2_genre_string_to_taglist),
	  (id3v2_genre_fields_to_taglist):
	  Never output a tag with a null contents string.

2006-01-30 23:13:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Someone should kick my butt. Remove ID3v1 tags from the end of the file.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_chain),
	  (gst_id3demux_read_id3v1), (gst_id3demux_sink_activate),
	  (gst_id3demux_send_tag_event):
	  * gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v1_tag):
	  Someone should kick my butt. Remove ID3v1 tags from the end of the
	  file.
	  Improve error messages. Send the TAG message as soon as we complete
	  typefinding, instead of waiting until we send the first buffer.
	  Downstream tag event is still sent before the first buffer.

2006-01-25 18:23:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Never trust ANY information encoded in a media file, especially when it's giving you size...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
	  Never trust ANY information encoded in a media file, especially
	  when it's giving you sizes. (Fixes #328452)

2006-01-23 14:32:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Remove errant break statement, and fix compilation with older GCC.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3v2_tag_to_taglist):
	  Remove errant break statement, and fix compilation with
	  older GCC.

2006-01-23 09:22:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: Rewrite parsing of text tags to handle multiple NULL terminated strings. Parse numeric genre strings a...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
	  * gst-libs/gst/tag/id3v2.h:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_comment_frame), (parse_text_identification_frame),
	  (id3v2_tag_to_taglist), (id3v2_are_digits),
	  (id3v2_genre_string_to_taglist), (id3v2_genre_fields_to_taglist),
	  (parse_split_strings), (free_tag_strings):
	  Rewrite parsing of text tags to handle multiple NULL terminated
	  strings. Parse numeric genre strings and ID3v2 type
	  "(3)(6)Alternative" style genre strings.
	  Parse dates that are only YYYY or YYYY-mm format.

2006-01-15 20:21:48 +0000  Sergey Scobich <sergey.scobich@gmail.com>

	  tag: id3v2: Fix compilation of id3demux when zlib is not present.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame):
	  Fix compilation of id3demux when zlib is not present.
	  (Fixes #326602; patch by: Sergey Scobich)

2006-01-06 11:46:53 +0000  Edward Hervey <bilboed@bilboed.com>

	  tag: id3v2: Add gst_element_no_more_pads() for proper decodebin behaviour.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3demux.c: (gst_id3demux_add_srcpad):
	  Add gst_element_no_more_pads() for proper decodebin behaviour.
	  * gst-libs/gst/tag/id3v2frames.c: (parse_comment_frame),
	  (parse_text_identification_frame), (parse_split_strings):
	  Failure to decode some tags is not a GST_ERROR() but a
	  GST_WARNING()
	  When iterating over a chunk of text, check that we haven't gone too
	  far.

2005-12-28 18:55:32 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: If a broken tag has 0 bytes payload, at least still skip the 10 byte header
	  Original commit message from CVS:
	  * gst-libs/gst/tag/id3v2.c: (id3demux_read_id3v2_tag):
	  If a broken tag has 0 bytes payload, at least still skip
	  the 10 byte header

2005-12-18 15:14:44 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tag: id3v2: all new LGPL id3 demuxer, can use zlib for compressed frames
	  Original commit message from CVS:
	  * configure.ac:
	  Check for optional dependency on zlib for id3demux
	  * gst-libs/gst/tag/Makefile.am:
	  * gst-libs/gst/tag/gstid3demux.c: (gst_gst_id3demux_get_type),
	  (gst_id3demux_base_init), (gst_id3demux_class_init),
	  (gst_id3demux_reset), (gst_id3demux_init), (gst_id3demux_dispose),
	  (gst_id3demux_add_srcpad), (gst_id3demux_remove_srcpad),
	  (gst_id3demux_trim_buffer), (gst_id3demux_chain),
	  (gst_id3demux_set_property), (gst_id3demux_get_property),
	  (id3demux_get_upstream_size), (gst_id3demux_srcpad_event),
	  (gst_id3demux_read_id3v1), (gst_id3demux_read_id3v2),
	  (gst_id3demux_sink_activate), (gst_id3demux_src_activate_pull),
	  (gst_id3demux_src_checkgetrange), (gst_id3demux_read_range),
	  (gst_id3demux_src_getrange), (gst_id3demux_change_state),
	  (gst_id3demux_pad_query), (gst_id3demux_get_query_types),
	  (simple_find_peek), (simple_find_suggest),
	  (gst_id3demux_do_typefind), (gst_id3demux_send_tag_event),
	  (plugin_init):
	  * gst-libs/gst/tag/gstid3demux.h:
	  * gst-libs/gst/tag/id3v2.c: (read_synch_uint),
	  (id3demux_read_id3v1_tag), (id3demux_read_id3v2_tag),
	  (id3demux_id3v2_frame_hdr_size), (convert_fid_to_v240),
	  (id3demux_id3v2_frames_to_tag_list):
	  * gst-libs/gst/tag/id3v2.h:
	  * gst-libs/gst/tag/id3v2.4.0-frames.txt:
	  * gst-libs/gst/tag/id3v2.4.0-structure.txt:
	  * gst-libs/gst/tag/id3v2frames.c: (id3demux_id3v2_parse_frame),
	  (parse_comment_frame), (parse_text_identification_frame),
	  (id3v2_tag_to_taglist), (parse_split_strings):
	  All new LGPL id3 demuxer. Can use zlib for compressed frames,
	  otherwise it discards them. Works on my test files.
	  * gst/wavparse/gstwavparse.c: (gst_wavparse_loop):
	  Don't send EOS to a non-existing srcpad
	  The debug category can be static

2011-08-11 18:50:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix quality setting being ignored by the resampler state
	  https://bugzilla.gnome.org/show_bug.cgi?id=636562

2011-08-11 15:54:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* configure.ac:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample_sse.h:
	* gst/audioresample/speex_resampler_double.c:
	* gst/audioresample/speex_resampler_float.c:
	  audioresample: use SSE/SSE2 when possible
	  Compile in the code on i386 and x86_64, and use ORC to determine
	  when the runtime platform can run the code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=636562

2011-08-11 19:23:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioresample/resample_sse.h:
	  audioresample: fix SSE2 building with double precision
	  The full double implementation was missing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=636562

2011-08-11 12:12:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Check for utf8 before trying to convert
	  If the string is already on utf8, there is no need to
	  try to convert it, because it is useless and it might garble
	  the string.

2011-08-10 13:16:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: tag: exif: Add tests for 'non-trivial' chars
	  Adds two new cases to check that characters are properly
	  converted to ascii when writen to exif and parsed correctly
	  back to utf8 when read.

2011-08-09 16:02:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Exif strings should be ascii
	  Use g_convert to turn all strings into extended ascii before writing
	  to the exif buffer and converting back from ascii to utf8 when
	  reading them.

2011-08-10 15:57:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgsttag.def:
	  win32: update libgsttag.def for new API

2011-08-10 15:21:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: don't build helper programs that generate/update data by default
	  No point building these by default. Also, these generated files
	  should go into the srcdir, not the builddir in this case, since
	  they're version controlled.

2011-08-10 15:20:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/mklicensestables.c:
	  tag: fix stray printf in mklicensestables
	  Don't dump debug output to stdout.

2011-08-10 15:06:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/licenses.c:
	  tag: fix compilation of new licenses code with GLib versions < 2.28
	  Add local g_variant_lookup_value() fallback for now when compiling
	  against older GLib versions.

2011-08-10 14:57:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/tag.h:
	  tag: add GType for GstTagLicenseFlags
	  API: gst_tag_license_flags_get_type()

2011-08-09 16:41:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: fix compiler warning in release mode
	  Fix compiler warning caused by g_assert_not_reached() being skipped
	  because releases are compiled with -DG_DISABLE_ASSERT.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656264

2011-08-10 10:49:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: fix runtime warnings when doing position query
	  Add missing 'break'.

2011-07-15 13:19:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/libs/tag.c:
	* tests/files/Makefile.am:
	* tests/files/license-uris:
	  tag: add unit test for new license API
	  https://bugzilla.gnome.org/show_bug.cgi?id=646868

2011-07-15 13:14:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/mklicensestables.c:
	  tag: add mklicensestables utility
	  Add (uninstalled) tool to create licenses-table.dat from liblicense's
	  RDF files. It's not very pretty and makes loats of assumptions about
	  the input, but should work. If things change, we can fix it then.
	  https://bugzilla.gnome.org/show_bug.cgi?id=646868

2011-07-15 13:07:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/license-translations.dict:
	* gst-libs/gst/tag/licenses-tables.dat:
	* gst-libs/gst/tag/licenses.c:
	* gst-libs/gst/tag/tag.h:
	  tag: add convenience API to handle creative commons licenses
	  Based on liblicense's RDF files.
	  API: GstTagLicenseFlags
	  API: gst_tag_get_licenses()
	  API: gst_tag_get_license_flags()
	  API: gst_tag_get_license_nick()
	  API: gst_tag_get_license_title()
	  API: gst_tag_get_license_version()
	  API: gst_tag_get_license_description()
	  API: gst_tag_get_license_jurisdiction()
	  https://bugzilla.gnome.org/show_bug.cgi?id=646868

2011-08-08 10:00:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: bump probability if all frames we found are similar
	  Similar meaning same layer, same bitrate, and same number of channels
	  This fixes misdetection of (some MP3 files that have zero padding
	  between the ID3 tag and the MP3 stream) as H.264 video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656018

2011-08-09 16:39:31 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/video.h:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcp.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoscale/gstvideoscale.c:
	* tests/icles/stress-videooverlay.c:
	  Fix debug statements
	  Fixes build on MacOSX
	  Signed-off-by: Edward Hervey <edward.hervey@collabora.co.uk>

2011-08-08 14:41:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/videooverlay.c:
	* gst-libs/gst/interfaces/videooverlay.h:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/stress-videooverlay.c:
	  videooverlay: add convenience API to check if a message is a prepare-window-handle message
	  API: gst_is_video_overlay_prepare_window_handle_message()

2011-08-08 14:16:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/Makefile.am:
	* tests/icles/Makefile.am:
	  tests: fix libs order in some makefiles
	  Local libs should come first.

2011-08-08 13:55:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/examples/overlay/.gitignore:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.h:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/stress-videooverlay.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	  tests: update for GstXOverlay => GstVideoOverlay

2011-08-08 10:44:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink, xvimagesink: update for GstXOverlay -> GstVideoOverlay

2011-08-07 16:55:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* android/interfaces.mk:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/videooverlay.c:
	* gst-libs/gst/interfaces/videooverlay.h:
	* gst-libs/gst/interfaces/xoverlay.h:
	* gst-plugins-base.spec.in:
	  interfaces: rename GstXOverlay interface to GstVideoOverlay
	  And remove deprecated methods, and fix up some cruft.

2011-08-07 18:36:04 +0200  Thomas Vander Stichele <thomas (at) apestaart (dot) org>

	* gst-plugins-base.spec.in:
	  gst-plugins-base.spec.in: update for 0.11

2011-08-05 16:53:47 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  gstvorbistag: map ENCODER Vorbis comment to application-name
	  What GStreamer calls encoder ("encoder used to encode this stream") is
	  stored in the vendor string in Vorbis/Theora/Kate and possibly others.
	  The Vorbis comment packet used in those streams uses ENCODER as the name
	  of the encoding program, which GStreamer calls application-name.
	  https://bugzilla.gnome.org/show_bug.cgi?id=656034

2011-08-05 11:32:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: fix sample depth typo
	  https://bugzilla.gnome.org/show_bug.cgi?id=656022

2011-08-05 13:05:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	  volume: Update disted ORC files

2011-08-05 12:48:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	  xvimagepool: cleanups

2011-08-04 18:08:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: call parent alloc function
	  Call the parent alloc function to allocate buffers.

2011-08-04 15:18:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: remove useless alignment

2011-08-04 15:18:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: improve debug

2011-08-04 09:40:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-04 09:40:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-08-04 09:36:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  common
	  configure.ac
	  gst/colorspace/colorspace.c
	  gst/colorspace/colorspace.h
	  gst/colorspace/gstcolorspace.c

2011-08-04 09:36:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  common
	  configure.ac
	  gst/colorspace/colorspace.c
	  gst/colorspace/colorspace.h
	  gst/colorspace/gstcolorspace.c

2011-08-03 14:14:55 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Set queues to silent=true
	  As encodebin doesn't connect to the queue signals, it can set
	  queues to silent mode to make queue not emit them.
	  Check https://bugzilla.gnome.org/show_bug.cgi?id=621299 for
	  more info on queue's silent property.

2011-08-03 13:40:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix typo on installing properties
	  queue buffers and bytes properties have ids swapped, fix it.

2011-08-03 12:08:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/multichannel-enumtypes.c:
	* win32/common/multichannel-enumtypes.h:
	  back to development

=== release 0.11.0 ===

2011-08-03 10:55:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* gst-plugins-base.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/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/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 0.11.0

2011-08-03 10:18:29 +0200  Jonathan Liu <net147@gmail.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: Fix crashes with 0-byte vorbis packets
	  Fixes bug #655574.

2011-07-28 14:43:53 +0200  Jens Georg <jensg@openismus.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Add SP levels 4a, 5 and 6
	  https://bugzilla.gnome.org/show_bug.cgi?id=655503

2011-07-26 16:10:17 +0200  Philip Jägenstedt <philipj@opera.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: segfault on 0-byte ogg_packet in _chain_reverse

2011-08-02 12:53:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* po/LINGUAS:
	* 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/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

2011-08-02 12:24:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	  update ORC dist files

2011-08-02 12:24:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	  videoconvert: update ORC dist files

2011-08-02 12:22:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  def: add new symbols

2011-08-01 19:04:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	  ximage: add support for alignment bufferpool option

2011-08-01 18:36:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	  xv: apply cropping on padded images
	  Store the dimensions of the unpadded image in the metadata and use that info to
	  display the valid region of the image.

2011-08-01 17:10:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	  xvimage: add suport for video alignment
	  Add support for the VideoAlignment option in the bufferpool. The extra
	  configuration options can be used to request special padding and alignment
	  requirements for the video buffers.

2011-08-01 16:50:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: ensure sign in scale function

2011-08-01 16:48:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideopool.h:
	  videopool: add implementation
	  Rename very long structure name to GstVideoAlignment
	  Add the implementation of the video alignment config setter and getters.

2011-07-29 17:15:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  base: update for new bufferpool API

2011-07-29 17:14:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideopool.h:
	  videopool: add stuff related to bufferpools
	  Add bufferpool options and extra config parameters.

2011-07-29 12:22:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: relax bufferpool checks
	  Check if the metadata belongs to us instead of checking the current bufferpool.
	  The bufferpool can change at any time when upstream wants to renegotiate.

2011-07-27 16:55:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add macro to access flags

2011-07-29 10:23:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* win32/common/libgsttag.def:
	  Add new GstTagMux base class
	  Hook up new tag muxing base class to build system.
	  https://bugzilla.gnome.org/show_bug.cgi?id=555437
	  API: GstTagMux

2011-07-29 10:22:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	  docs: add documentation for GstTagMux

2011-07-28 20:38:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	  tagmux: require subclass to install sink pad template
	  Require the subclass to install both source and sink pad
	  templates. Also, print some warnings if the subclass doesn't
	  do that.
	  https://bugzilla.gnome.org/show_bug.cgi?id=555437

2011-07-15 20:57:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.h:
	  tagmux: const-ify GstTagList argument of render vfuncs

2011-07-15 20:39:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	  tagmux: fix up private base class header so it can be made public
	  Move private bits into a private struct, add some padding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=555437

2011-07-28 23:31:03 +0100  Michael Smith <msmith@songbirdnest.com>

	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	  tagmux: add support for end tags
	  Originally "id3tag: Add new id3 tagging plugin, supports v1, v2.3,
	  and v2.4." from gst-plugins-bad. This is an artificial bridge commit.

2010-06-06 18:00:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gsttagmux.c:
	  ext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs

2007-11-20 11:41:13 +0000  Julien Moutte <julien@moutte.net>

	  Fix build on Mac OS X 10.5
	  Original commit message from CVS:
	  2007-11-20  Julien MOUTTE  <julien@moutte.net>
	  * gst-libs/gst/tag/gsttagmux.c: (gst_tag_lib_mux_render_tag),
	  (gst_tag_lib_mux_adjust_event_offsets):
	  * gst/qtdemux/qtdemux.c: (qtdemux_parse_theora_extension):
	  * sys/osxaudio/Makefile.am:
	  * sys/osxvideo/cocoawindow.h:
	  * sys/osxvideo/cocoawindow.m: Fix build on Mac OS X 10.5

2007-09-13 15:04:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Update my mail address.
	  Original commit message from CVS:
	  * ext/taglib/gstapev2mux.cc:
	  * ext/taglib/gstapev2mux.h:
	  * gst-libs/gst/tag/gsttagmux.c:
	  * tests/check/elements/apev2mux.c:
	  Update my mail address.

2006-05-30 14:35:18 +0000  Sebastian Dröge <mail@slomosnail.de>

	  Add apev2mux element (#343122).
	  Original commit message from CVS:
	  Patch by: Sebastian Dröge  <mail at slomosnail de >
	  * docs/plugins/gst-plugins-good-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-good-plugins-sections.txt:
	  * ext/taglib/Makefile.am:
	  * ext/taglib/gstapev2mux.cc:
	  * ext/taglib/gstapev2mux.h:
	  * ext/taglib/gstid3v2mux.cc:
	  * gst-libs/gst/tag/gsttagmux.c: (plugin_init):
	  * gst-libs/gst/tag/gsttagmux.h:
	  Add apev2mux element (#343122).
	  * tests/check/Makefile.am:
	  * tests/check/elements/apev2mux.c:
	  (test_taglib_apev2mux_create_tags),
	  (test_taglib_apev2mux_check_tags), (fill_mp3_buffer), (got_buffer),
	  (demux_pad_added), (test_taglib_apev2mux_check_output_buffer),
	  (test_taglib_apev2mux_with_tags), (GST_START_TEST),
	  (apev2mux_suite), (main):
	  Add unit test for apev2mux element.

2006-05-18 12:46:08 +0000  James Doc Livingston <doclivingston@gmail.com>

	  gst-libs/gst/tag/gsttagmux.c: Merge event tags and tag setter tags correctly (#339918). Also, don't leak taglist in case...
	  Original commit message from CVS:
	  Patch by: James "Doc" Livingston  <doclivingston gmail com>
	  * gst-libs/gst/tag/gsttagmux.c: (gst_tag_lib_mux_render_tag):
	  Merge event tags and tag setter tags correctly (#339918). Also,
	  don't leak taglist in case of an error.

2006-05-01 11:46:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  docs/plugins/Makefile.am: also check .cc files for gtk-doc markup
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  also check .cc files for gtk-doc markup
	  * configure.ac:
	  * docs/plugins/gst-plugins-good-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-good-plugins-sections.txt:
	  * tests/check/Makefile.am:
	  * tests/check/elements/id3v2mux.c: (id3v2mux_suite), (main):
	  * ext/Makefile.am:
	  * ext/taglib/Makefile.am:
	  * ext/taglib/gstid3v2mux.h:
	  * gst-libs/gst/tag/gsttagmux.c:
	  * gst-libs/gst/tag/gsttagmux.h:
	  move taglib-based id3v2muxer to -good.  Fixes #336110.

2006-04-30 16:16:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-libs/gst/tag/gsttagmux.c:
	  small cleanups
	  Original commit message from CVS:
	  small cleanups

2006-04-29 18:46:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/gsttaglib.cc: Post an error message on the bus in the (extremely unlikely) case of an error.
	  Original commit message from CVS:
	  * ext/taglib/gsttaglib.cc:
	  Post an error message on the bus in the (extremely unlikely)
	  case of an error.

2006-04-29 18:18:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/: Split the actual ID3v2 tag rendering code into its own subclass.
	  Original commit message from CVS:
	  * ext/taglib/Makefile.am:
	  * ext/taglib/gstid3v2mux.cc:
	  * ext/taglib/gstid3v2mux.h:
	  * ext/taglib/gsttaglib.cc:
	  * ext/taglib/gsttaglib.h:
	  Split the actual ID3v2 tag rendering code into
	  its own subclass.

2006-04-28 15:33:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-libs/gst/tag/gsttagmux.c:
	* gst-libs/gst/tag/gsttagmux.h:
	  pedantic cleanups
	  Original commit message from CVS:
	  pedantic cleanups

2006-04-01 16:50:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-libs/gst/tag/gsttagmux.c:
	  add taglib checks and docs
	  Original commit message from CVS:
	  add taglib checks and docs

2006-03-26 19:56:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/gsttaglib.*: Fix newsegment event handling a bit. We need to cache the first newsegment event, because we ...
	  Original commit message from CVS:
	  * ext/taglib/gsttaglib.cc:
	  * ext/taglib/gsttaglib.h:
	  Fix newsegment event handling a bit. We need to
	  cache the first newsegment event, because we can't
	  adjust offsets yet when we get it, as we don't
	  know the size of the tag yet for sure at that point.
	  Also do some minor cleaning up here and there and add
	  some debug statements.

2006-03-25 21:57:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/gsttaglib.cc: We do not want to proxy the caps on the sink pad; our source pad should have application/x-i...
	  Original commit message from CVS:
	  * ext/taglib/gsttaglib.cc:
	  We do not want to proxy the caps on the sink pad; our
	  source pad should have application/x-id3 caps; also,
	  don't use already-freed strings in debug messages;
	  finally, adjust buffer offsets on buffers sent out.

2006-03-20 08:59:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/gsttaglib.h: Fix left-over gst_my_filter_get_type.
	  Original commit message from CVS:
	  * ext/taglib/gsttaglib.h:
	  Fix left-over gst_my_filter_get_type.

2006-03-13 17:22:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/gsttaglib.cc: Add gtk-doc blurb (unused for the time being); match registered plugin name to the filename ...
	  Original commit message from CVS:
	  * ext/taglib/gsttaglib.cc:
	  Add gtk-doc blurb (unused for the time being); match registered
	  plugin name to the filename of the plugin (taglibmux => taglib)

2006-03-12 15:02:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/taglib/: Add support for writing MusicBrainz IDs.
	  Original commit message from CVS:
	  * ext/taglib/Makefile.am:
	  * ext/taglib/gsttaglib.cc:
	  * ext/taglib/gsttaglib.h:
	  Add support for writing MusicBrainz IDs.

2006-03-11 10:58:08 +0000  Alex Lancaster <alexlan@fedoraproject.org>

	  ext/taglib/gsttaglib.cc: and add support for TCOP (copyright)
	  Original commit message from CVS:
	  2006-03-11  Christophe Fergeau  <teuf@gnome.org>
	  Patch by: Alex Lancaster
	  * ext/taglib/gsttaglib.cc: fix writing of TPOS tags (album number),
	  and add support for TCOP (copyright)

2006-03-09 17:44:17 +0000  Christophe Fergeau <teuf@gnome.org>

	  new id3v2 muxer based on TagLib
	  Original commit message from CVS:
	  2006-03-09  Christophe Fergeau  <teuf@gnome.org>
	  reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/taglib/Makefile.am:
	  * ext/taglib/gsttaglib.cc:
	  * ext/taglib/gsttaglib.h: new id3v2 muxer based on TagLib

2011-07-28 15:28:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/Makefile.am:
	  videotestsrc: use local libgstvideo here as well

2011-07-28 11:21:26 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: rename flags names
	  Rename flags names from native-audio/-video to
	  no-audio/video-conversion to be more explicit on what it does

2011-07-28 14:18:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoconvert/Makefile.am:
	  videoconvert: link to local libgstvideo-0.11

2011-07-28 13:39:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video: make GST_VIDEO_FORMATS_ALL define more readable
	  We don't need all those quotes, strings will be parsed as strings
	  regardless, and g-i doesn't seem to like all those escaped quotes.

2011-07-20 18:10:57 +0200  Stefan Sauer <ensonic@google.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix latency calculation for live elements
	  Max_latency was computed on already adjusted min_latency. Introduce a new
	  variable for clarity. Spotted by Blaise Gassend.
	  Fixes #644284

2011-07-28 11:44:20 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix max latency calculation
	  ... to allow infinite max, as also claimed by comment.

2011-06-01 10:21:39 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: drop samples that are too late
	  ... rather than having all of them rendered at 0 or subsequently aligned,
	  likely inevitably leading to repeated resyncing.

2011-07-27 01:18:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/gio.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/playback/test3.c:
	* tests/icles/playback/test7.c:
	* tests/icles/playbin-text.c:
	* tests/icles/position-formats.c:
	  tests: update for query API changes

2011-07-27 01:16:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst/adder/gstadder.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  ext,gst: update for query API changes

2011-07-27 01:16:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  gst-libs: update for query API changes

2011-07-26 13:51:31 +0200  Stefan Sauer <ensonic@google.com>

	* tests/check/pipelines/basetime.c:
	  basetime: fix failing test
	  Always use audiotestsrc as it seems to have been the intention according to the
	  comment header. The test does not work with live-audiosources.

2011-07-26 14:10:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: let old pool drain
	  Let the old pool drain without deactivating it, some elements might still be
	  using it.

2011-07-26 13:17:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: use new setup_allocation vmethod

2011-07-26 12:47:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	  giosink: use new query vmethod

2011-07-26 12:42:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: chain up to parent_class correctly

2011-07-25 19:51:24 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/playbin2-compressed.c:
	  tests: rename the test suite to match the binary
	  This unbreaks determining the name for make elements/playbin2-compressed.check
	  from the test output.

2011-07-25 19:39:55 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: rework pending event handling
	  Use atomic ops on pending flags. Rename the segment_pending to
	  new_segment_pending. Set new_segment_pending not when we received seek, but
	  when we received the first upstream new_segment.

2011-07-25 19:11:59 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: more debug logging for events

2011-07-26 12:37:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: use new basesink query vmethod

2011-07-26 12:33:56 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Allow all EOS to go through if we don't have a next group
	  Only drop them if the current group isn't drained .. AND there is a
	  next group to switch to.
	  Should Fix #655268

2011-07-25 18:37:15 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Avoid resetting playsink when not needed
	  When we don't have specific {audio|video|text}-sink properties, don't
	  set them on playsink when reconfiguring.
	  If we do that, we end up setting the previous configured sink to
	  GST_STATE_NULL resulting in any potentially pending push being returned
	  with GST_FLOW_WRONG_STATE which will cause the upstream elements to
	  silently stop.
	  https://bugzilla.gnome.org/show_bug.cgi?id=655279

2011-07-25 18:35:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add pack and unpack functions
	  Add pack and unpack function to handle complex formats in the future.

2011-07-25 18:08:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add more info in the format structure
	  Add a field to describe how many bits are used to pack items.
	  Specify the shift for each component.
	  Add some more flags to better describe the format.

2011-07-25 12:04:02 +0200  Stefan Sauer <ensonic@google.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: improve the example
	  Mentioned that this is not ment to be used with subtitles and suggest alternatives.

2011-07-25 10:41:04 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Properly handle multi-stream chains
	  When we have a multi-stream (i.e. audio and video) input and the demuxer
	  adds/removes pads for a new stream (common in a mpeg-ts stream when the
	  program stream mapping is updated), the algorithm for EOS handling was
	  previously wrong (it would only drop the EOS of the *last* pad but would
	  let the EOS on the other pads go through).
	  The logic has only been changed a tiny bit for EOS handling resulting in:
	  * If there is no next group, let the EOS go through
	  * If there is a next group, but not all pads are drained in the active
	  group, drop the EOS event
	  * If there is a next group and all pads are drained, then the ghostpads
	  will be removed and the EOS event will be dropped automatically.

2011-07-23 14:21:27 +0200  Stefan Sauer <ensonic@google.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: add example for feeding from stdin

2011-07-23 13:46:31 +0200  Stefan Sauer <ensonic@google.com>

	* tests/check/pipelines/basetime.c:
	  test: print actual timestamp on failure

2011-07-20 13:46:31 +0200  Stefan Sauer <ensonic@google.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: keep untimestamped textbuffer until next one
	  Instead of discarding untimestamped text-buffers immeditely after rendering,
	  keep them until we receive the next text buffer.
	  Fixes #654959

2011-07-22 21:19:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix for event handler change

2011-07-19 18:31:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  the

2011-07-19 18:21:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: make sure our buffer is big enough
	  Make sure we allocate a buffer that is big enough.

2011-07-18 18:46:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: call parent set_config
	  Call the parent set_config method to make it aware of the current config so that
	  its default methods can do preallocation.

2011-07-18 16:48:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: improve allocation parameters
	  Set the min-buffers to 2 because our base class will hold on to 1 buffer for the
	  last-buffer property.

2011-07-15 16:46:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/decodebin2.c:
	  tests: add decodebin2 test for parser autoplugging
	  Make sure decodebin2 doesn't try to plug the same parser twice
	  in a row.

2011-07-06 19:40:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/decodebin.c:
	* tests/files/Makefile.am:
	* tests/files/test.mp3:
	  tests: add decodebin1 test for parser autoplugging
	  Make sure decodebin1 doesn't try to plug the same parser twice
	  in a row (so we can change all parsers to accept parsed input as
	  well without breaking applications still using the old decodebin1
	  element).

2011-07-07 15:02:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin.c:
	  decodebin: don't plug the same parser multiple times in a row
	  This allows us to make parsers accept both parsed and unparsed input
	  without decodebin plugging them in a loop until things blow up, ie.
	  without affecting applications that still use the old playbin or the
	  old decodebin.
	  (Making parsers accept parsed input is useful for later when we want
	  to use parsers to convert the stream-format into something the decoder
	  can handle. It's also much more convenient for application authors
	  who can plug parsers unconditionally in transcoding pipelines, for
	  example).

2011-07-15 16:34:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  X11: also check the bufferpool
	  Don't just check the availability of the metadata but also if the buffer is
	  really from our bufferpool.

2011-07-15 12:32:25 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: decodebin2 is dead, long live decodebin

2011-07-14 13:56:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	* win32/common/libgstpbutils.def:
	  docs: add Since marker to gtk-doc chunk for new codec utils API
	  And add new API to .def file.
	  API: gst_codec_utils_h264_get_level_idc()

2011-03-07 17:55:48 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	  codec-utils: Add method to convert H.264 text level in a level_idc

2011-07-11 18:21:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	  metavideo: fix for API change

2011-07-10 21:47:12 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: init video info to some sensible defaults

2011-07-10 13:49:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-07-10 13:39:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add macros for par and fps

2011-07-09 18:33:38 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	  oggmux: check for EOS on both current and best pad
	  Oops, need both.  Fixes #654270.

2011-07-09 18:24:26 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	  oggmux: check for EOS on current pad, not best
	  Fixes #654270.

2011-07-09 11:59:42 +0200  Piotr Fusik <fox@scene.pl>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fixed detection of audio/x-sap
	  Fixes: #654295.
	  Signed-off-by: David Schleef <ds@schleef.org>

2011-07-06 17:03:08 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: provide a WRITE map with maximum available size
	  ... which allows adding additional packets and may be needed to counteract
	  the shrink that implicitly occurred during a map/unmap cycle when adding
	  a previous packet.

2011-07-08 20:02:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/gdp/gstgdppay.c:
	  gdppay: parse caps event and payload caps
	  Which makes it actually output stuff.

2011-07-07 23:57:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/adder.c:
	* tests/check/libs/video.c:
	  tests: make adder test and libgstvideo test compile, disable some tests
	  Don't fully work yet though

2011-07-07 21:24:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Android.mk:
	* android/videoconvert.mk:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstclockoverlay.c:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/video/convertframe.c:
	* gst-plugins-base.spec.in:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* sys/ximage/ximagesink.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/videoscale.c:
	* tests/check/pipelines/oggmux.c:
	* tests/examples/dynamic/addstream.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/output-selector-test.c:
	* tests/icles/playback/test.c:
	* tests/icles/test-box.c:
	* tests/icles/test-scale.c:
	* tests/icles/test-textoverlay.c:
	* tools/gst-launch-ext.1.in:
	* tools/gst-visualise-m.m:
	* win32/MANIFEST:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstffmpegcolorspace.dsp:
	* win32/vs6/libgsttag.dsp:
	* win32/vs7/gst-plugins-base.sln:
	* win32/vs7/libgstffmpegcolorspace.vcproj:
	* win32/vs8/gst-plugins-base.sln:
	* win32/vs8/libgstffmpegcolorspace.vcproj:
	  ffmpegcolorspace -> videoconvert

2011-07-07 21:04:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/old/Makefile.am:
	* tests/old/examples/Makefile.am:
	* tests/old/examples/capsfilter/Makefile.am:
	* tests/old/examples/capsfilter/capsfilter1.c:
	* tests/old/examples/gob/Makefile.am:
	* tests/old/examples/gob/gst-identity2.gob:
	* tests/old/examples/indexing/.gitignore:
	* tests/old/examples/indexing/Makefile.am:
	* tests/old/examples/indexing/indexmpeg.c:
	* tests/old/examples/seek/.gitignore:
	* tests/old/examples/seek/Makefile.am:
	* tests/old/examples/seek/cdparanoia.c:
	* tests/old/examples/seek/cdplayer.c:
	* tests/old/examples/seek/chained.c:
	* tests/old/examples/stats/Makefile.am:
	* tests/old/examples/stats/mp2ogg.c:
	* tests/old/examples/switch/.gitignore:
	* tests/old/examples/switch/Makefile.am:
	* tests/old/examples/switch/switcher.c:
	* tests/old/testsuite/alsa/.gitignore:
	* tests/old/testsuite/alsa/Makefile.am:
	* tests/old/testsuite/alsa/formats.c:
	* tests/old/testsuite/alsa/sinesrc.c:
	* tests/old/testsuite/alsa/sinesrc.h:
	* tests/old/testsuite/alsa/srcstate.c:
	* tests/old/testsuite/alsa/state.c:
	* tests/old/testsuite/embed/Makefile.am:
	* tests/old/testsuite/embed/embed.c:
	* tests/old/testsuite/gst-lint:
	  tests: remove tests from ancient times
	  They're just noise.

2011-06-05 00:54:19 -0700  David Schleef <ds@schleef.org>

	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: duplicate from CELT
	  Copy the celt plugin and convert it to Opus.  Mostly works.

2011-07-07 11:10:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/tag/gstxmptag.c
	  gst/encoding/gststreamsplitter.c

2011-07-07 10:28:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: update orc dist files

2011-07-07 10:20:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	  audioconvert: don't use .init function
	  Don't use the .init function but compile all functions when needed instead of
	  when the plugin is registered.

2011-07-06 12:54:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/netbuffer.c:
	* tests/check/libs/tag.c:
	  tests: update netbuffer and tag tests for gst_buffer_take_memory() API change

2011-07-06 12:51:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/pbutils.c:
	  tests: update libs/pbutils test for GstMessage API changes
	  Can't access msg->structure directly any more.

2011-07-06 12:47:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/mixer.c:
	  tests: fix libs/mixer test for GstImplementsInterface removal
	  Not sure if we want to keep the GstMixer API in its current form
	  though..

2011-07-06 12:42:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/theoraenc.c:
	  tests: update theoraenc test for new pad probe API
	  Compiles now, but fails.

2011-07-06 12:38:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst/typefindfunctions.c:
	  tests: update typefindfunctions test for latest API changes

2011-07-06 12:36:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/audio.c:
	  tests: update libs/audio test for latest API changes

2011-07-06 10:27:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: update exports for new libgstvideo API

2011-07-06 10:27:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/Makefile.am:
	  docs: add -DGST_USE_UNSTABLE_API also to GTKDOC_CFLAGS
	  To avoid warnings

2011-07-05 16:58:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: update docs

2011-07-05 10:07:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  Add -DGST_USE_UNSTABLE_API to the compiler flags to avoid warnings

2011-07-05 10:04:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: remove some unused code that caused a compiler warning
	  The video format is set up in the sink pad's setcaps() function.

2011-07-04 18:08:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add macro to get frame size

2011-07-04 16:27:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: add some more macros
	  Add macros to get the plane and offset of a component.

2011-07-04 10:19:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/videotestsrc.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  video: More video helper library improvements
	  Make a new GstVideoFormatinfo structure that contains the specific information
	  related to a format such as the number of planes, components, subsampling,
	  pixel stride etc. The result is that we are now able to introduce the concept of
	  components again in the API.
	  Use tables to specify the formats and its properties.
	  Use macros to get information about the video format description.
	  Move code to set strides, offsets and size into one function.
	  Remove methods that are not handled with the structures.
	  Add methods to retrieve pointers and strides to the components in the video.

2011-06-30 20:33:36 +0200  Luis de Bethencourt <luis@debethencourt.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix compiler warning
	  cspace and cspace2 may run uninitialized.

2011-06-29 13:12:49 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Add flags to disable conversion elements
	  Add a flags property and two flags to allow one to disable the
	  conversion elements within encodebin. Doing so insists that the
	  uncompressed input to encodebin for the appropriate stream type is
	  sufficient to meet the caps requirements of the encoders, muxers and
	  encodebin target.
	  This is mostly beneficial to bypass slow caps negotiations in the
	  conversion elements.

2011-06-29 09:59:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Remove extra chars from end of xmp packet
	  Windows picture viewer is unhappy with extra trailing chars at the
	  end of the xmppacket footer. So remove them as they aren't needed.

2011-06-29 11:30:51 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Fix getcaps src pad caps merge
	  Caps returned from gst_pad_peer_get_caps_reffed () may not be writable.
	  If they are not is should cause an assertion in gst_caps_merge (),
	  however, sometimes assertions are disabled in binary builds of -base and
	  it's safer to just be sure the caps are writable. Also, check that the
	  reffed caps pointer is not NULL.

2011-06-28 19:03:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: only unset initialized GValue

2011-06-15 13:51:31 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: NULL check in degas_type_find
	  The length check isn't sufficient, an source might
	  report the correct length, but then still fail to
	  read the requested number of bytes for some reason.
	  https://bugzilla.gnome.org/show_bug.cgi?id=652642

2011-06-26 23:17:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: fix unused-but-set-variable compiler warning

2011-06-26 23:16:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  gst, sys: remove GstImplementsInterface usage

2011-06-26 22:58:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.h:
	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: don't use GstImplementsInterface

2011-06-26 21:46:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/tuner.c:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/videoorientation.c:
	* gst-libs/gst/interfaces/videoorientation.h:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	  gst-libs: remove GstImplementsInterface usage
	  Will need to add replacement API for some of these.

2011-06-26 21:27:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Merge remote-tracking branch 'origin/master' into 0.11

2011-06-26 01:06:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	  docs: minor addition to decodebin2 design doc

2011-06-26 01:06:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/navigation.c:
	  tests: the navigation interface isn't GstImplementsInterface-wrapped

2011-06-26 00:49:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/streamvolume.h:
	  interfaces: GstStreamVolume isn't wrapped by GstImplementsInterface
	  This interface depends on properties and isn't per-instance.

2011-06-26 00:40:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspextension.h:
	  rtsp: GstRTSPExtension isn't wrapped by GstImplementsInterface
	  Fix copy'n'paste error in headers, GstRTSPExtension isn't
	  something that's per-instance.

2011-06-26 00:36:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/xmpwriter.h:
	  tag: GstXmpWriter doesn't use the GstImplementsInterface
	  No need for per-instance checking of interface implementation here,
	  presumably just a copy'n'paste issue.

2011-06-11 19:03:57 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: set names on audio and video profiles
	  https://bugzilla.gnome.org/show_bug.cgi?id=652342

2011-06-23 11:28:04 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 69b981f to 605cd9a

2011-06-23 18:02:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: use cropping metadata

2011-06-23 16:31:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: let upstream know we support cropping

2011-06-23 12:55:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  x11: add image cropping
	  Use the cropping metadata to crop the image.
	  Remove deprecated display-region property to set a clipping rectangle.

2011-06-23 09:55:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	  meta: add some docs

2011-06-23 09:30:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	  meta: add video crop metadata

2011-06-22 19:35:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: handle unknown formats

2011-06-22 16:38:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgio.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  fix for uri changes

2011-06-22 15:38:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  x11: use frame copy functions

2011-06-22 15:25:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add video copy function
	  Add a function to copy a video frame, taking care of source and destination
	  strides.

2011-06-22 12:57:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: wait for the spinbutton widget
	  Wait for the spinbutton widget before trying to update it when the volume
	  changed callback is called.

2011-06-22 11:45:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: fix for allocator name change

2011-06-21 18:17:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  audio: clean up headers

2011-06-21 18:13:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	  audio: clean up audiosink headers

2011-06-21 18:08:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	  audio: clean up ringbuffer header

2011-06-21 17:57:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  docs/plugins/inspect/plugin-gnomevfs.xml

2011-06-21 17:33:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/Makefile.am:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: port to video helpers
	  Port videotestsrc to use the video helper functions to parse caps and handle
	  video frames.
	  Enable GstMetaVideo to make us handle strided video.

2011-06-21 17:31:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: use gint to make parsing easier
	  Use gint for with/height etc to make it easier to pass the variables to various
	  caps and structure parsing functions.

2011-06-21 12:52:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: small cleanups

2011-06-20 17:49:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: activate Video meta
	  Configure the allocator with GstMetaVideo because we can handle that using the
	  GstVideoFrame helpers.

2011-06-20 17:36:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: delay pool activation
	  don't activate the pool we return in the ALLOCATION query because upstream might
	  still want to configure it

2011-06-20 17:34:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: use new allocation setup
	  Add setup_allocation to configure video metadata in the negotiated bufferpool.

2011-06-20 15:43:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	  configure.ac: bump required GLib to 2.26

2011-06-20 13:30:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: enable video metadata in the bufferpool
	  Enable the video metadata in the bufferpool.

2011-06-20 13:28:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: handle new bufferpool metadata api
	  Provide a method to list the supported metadata apis.
	  Activate the video metadata on buffers when a downstream element configured the
	  bufferpool to support that api.

2011-06-20 11:25:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	  video: remove intermediate Plane structure
	  Remove the GstVideoPlane structure and move the fields directly into the
	  GstVideoInfo structure. This makes things a little easier to read and also makes
	  it more likely that we can pass the stride array to external libraries.

2011-06-18 13:32:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Bump git version after unplanned 0.10.35 release
	  Merge branch '0.10.35'
	  Conflicts:
	  configure.ac
	  docs/plugins/inspect/plugin-adder.xml
	  docs/plugins/inspect/plugin-alsa.xml
	  docs/plugins/inspect/plugin-app.xml
	  docs/plugins/inspect/plugin-audioconvert.xml
	  docs/plugins/inspect/plugin-audiorate.xml
	  docs/plugins/inspect/plugin-audioresample.xml
	  docs/plugins/inspect/plugin-audiotestsrc.xml
	  docs/plugins/inspect/plugin-cdparanoia.xml
	  docs/plugins/inspect/plugin-decodebin.xml
	  docs/plugins/inspect/plugin-encoding.xml
	  docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	  docs/plugins/inspect/plugin-gdp.xml
	  docs/plugins/inspect/plugin-gio.xml
	  docs/plugins/inspect/plugin-gnomevfs.xml
	  docs/plugins/inspect/plugin-libvisual.xml
	  docs/plugins/inspect/plugin-ogg.xml
	  docs/plugins/inspect/plugin-pango.xml
	  docs/plugins/inspect/plugin-playback.xml
	  docs/plugins/inspect/plugin-subparse.xml
	  docs/plugins/inspect/plugin-tcp.xml
	  docs/plugins/inspect/plugin-theora.xml
	  docs/plugins/inspect/plugin-typefindfunctions.xml
	  docs/plugins/inspect/plugin-uridecodebin.xml
	  docs/plugins/inspect/plugin-videorate.xml
	  docs/plugins/inspect/plugin-videoscale.xml
	  docs/plugins/inspect/plugin-videotestsrc.xml
	  docs/plugins/inspect/plugin-volume.xml
	  docs/plugins/inspect/plugin-vorbis.xml
	  docs/plugins/inspect/plugin-ximagesink.xml
	  docs/plugins/inspect/plugin-xvimagesink.xml
	  gst-libs/gst/audio/Makefile.am
	  gst/subparse/gstsubparse.c
	  win32/common/_stdint.h
	  win32/common/config.h

2011-06-18 11:16:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Allow GError* argument to be NULL
	  This is how other methods taking GError* arguments behave.
	  Fixes #652838

2011-06-17 17:54:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  x11: use GstVideoInfo to parse caps
	  Use GstVideoInfo to keep track of the configured format.
	  Add GstMetaVideo to buffers, disabled by default for now until we can have it
	  enabled with a property on the bufferpool configuration.

2011-06-17 17:44:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	  metavideo: small fixes
	  Set the buffer as a field in the metadata so that we can use it to map the
	  buffer data.
	  Fix wrong assert.

2011-06-17 17:27:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	  x11: make function static
	  Don't export buffer creation function, we need to use the bufferpool
	  now.

2011-06-17 16:47:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: use metadata to set up strides
	  Use the GstMetaVideo when we can to map the buffers and set up the strides.

2011-06-17 15:48:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  tests/examples/Makefile.am

2011-06-17 15:31:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  -base: port to GstVideoFrame API

2011-06-17 15:29:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add GstVideoFrame helper structure
	  The videoframe structure can be used to easily parse the contents of video
	  buffers.

2011-06-17 09:21:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/videoconvert.c:
	  video: port to new API
	  Add support for palette again.
	  Rewrite setup code for videoconvert using the new video methods.

2011-06-16 19:35:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: rework part 2
	  Update docs.
	  Add method to get number of components.
	  Implement method to calculate defaults from format and dimensions.
	  Improve caps parsing.
	  Implement GstVideoInfo to caps conversion.

2011-06-16 16:27:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.h:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: rework part 1
	  Add GstVideoFlags similar to the flags on the metadata. The idea is to replace
	  the metadata flags with the GstVideoFlags.
	  Move VideoPlane to video.h, it contains the information for a plane.
	  Add GstVideoInfo structure that holds the current configuration of a video
	  format.
	  Add methods to parse caps into GstVideoInfo.

2011-06-16 13:41:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/ffmpegcolorspace.c:
	* tests/check/elements/libvisual.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	* tests/check/libs/video.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/theoraenc.c:
	  test: port some more tests

2011-06-16 12:48:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstrawcaps.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	  -base: port elements to new video caps

2011-06-16 12:43:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add methods to parse X11 visuals
	  Add method to convert X11 visual description to GstVideoFormat

2011-06-15 16:16:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: update video caps

2011-06-16 14:23:25 +1000  Jan Schmidt <thaytan@noraisin.net>

	* po/POTFILES.in:
	* 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/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:
	  Remove deleted playbin/decodebin files from POTFILES.in

=== release 0.10.35 ===

2011-06-15 19:29:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  Release 0.10.35
	  This is an ad-hoc release that is almost identical to 0.10.34:
	  * work around GLib atomic ops API change
	  * don't use G_CONST_RETURN in public headers
	  * subparse: typefinding fixes for subtitles in non-UTF8 charsets

2011-06-15 18:08:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	  some more ffmpegcolorspace to videoconvert changes

2011-06-15 18:01:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* gst/ffmpegcolorspace/Makefile.am:
	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/dsputil.c:
	* gst/ffmpegcolorspace/dsputil.h:
	* gst/ffmpegcolorspace/ffmpegcolorspace.vcproj:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.h:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	* gst/ffmpegcolorspace/mem.c:
	* gst/ffmpegcolorspace/utils.c:
	* gst/playback/gstplaysink.c:
	  ffmpegcolorspace: remove plugin

2011-06-15 17:49:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* gst/colorspace/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	* gst/videoconvert/videoconvert.vcproj:
	  videoconvert: renamed from colorspace

2011-06-15 16:52:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/colorspace/gstcolorspace.c:
	  colorspace: fix caps negotiation

2011-06-15 16:28:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/colorspace/gstcolorspace.c:
	  colorspace: port to 0.11

2011-06-15 16:28:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  colorspace: add to build

2011-04-30 19:46:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	  [MOVED FROM BAD 68/68] Update orc-generated disted C backup code to orc 0.4.14

2011-04-28 00:00:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	  [MOVED FROM BAD 67/68] 0.10.21.3 pre-release

2011-04-17 01:09:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	* gst/colorspace/gstcolorspaceorc-dist.h:
	  [MOVED FROM BAD 66/68] ext, gst: update disted orc backup files

2011-04-15 00:09:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 65/68] Fix some unused-but-set-variable warnings with gcc 4.6

2011-04-11 00:36:35 -0400  Thibault Saunier <thibault.saunier@collabora.co.uk>

	* gst/colorspace/Makefile.am:
	  [MOVED FROM BAD 64/68] android: make it ready for androgenizer
	  Remove the android/ top dir
	  Fixe the Makefile.am to be androgenized
	  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-02-25 19:59:05 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 63/68] colorspace: set dithering enum directly

2011-02-25 19:57:47 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 62/68] colorspace: Add support for r210

2011-02-20 23:01:30 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 61/68] colorspace: Fix YUV->RGB matrixing

2011-02-20 22:43:56 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	  [MOVED FROM BAD 60/68] colorspace: Add dithering
	  Dithering only happens when a 16-bit-per-channel format is
	  involved.

2011-02-20 14:14:27 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 59/68] colorspace: fix a few formats

2011-02-19 13:12:41 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 58/68] colorspace: Add 16-bit-per-channel handling

2011-02-19 13:13:13 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 57/68] colorspace: Fix memleak

2011-02-15 18:12:02 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 56/68] colorspace: Fix memory leak

2011-01-02 16:13:56 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 55/68] colorspace: Disable matrixing on big-endian
	  It's broken until someone writes better Orc code.  Fixes #631232.

2010-11-21 23:11:19 -0800  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 54/68] colorspace: remove incorrect check

2010-11-05 10:56:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	* gst/colorspace/gstcolorspaceorc-dist.h:
	  [MOVED FROM BAD 53/68] colorspace: Update generated ORC sources

2010-11-04 14:18:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 52/68] colorspace: Inverse -base version check logic to actually make sense

2010-11-03 15:37:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 51/68] colorspace: Add support for IYU1

2010-11-03 15:12:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 50/68] colorspace: First version of YUV9 and YVU9 implementation

2010-11-03 09:20:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 49/68] colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks

2010-11-02 16:54:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 48/68] colorspace: fix build with current git of gst-plugins-base
	  ifdef tests don't work so well if we define them in the code
	  above in case they aren't defined.

2010-11-02 16:05:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	  [MOVED FROM BAD 47/68] colorspace: Add support for 8 bit paletted RGB
	  This needs the 8 bit paletted support from -base
	  which will be committed after release. Without this
	  the 8 bit parts are disabled.

2010-11-01 15:53:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	* gst/colorspace/gstcolorspaceorc-dist.h:
	  [MOVED FROM BAD 46/68] cog, colorspace: update orc backup functions for latest changes
	  Should fix build on systems without the latest orc.

2010-10-31 23:46:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 45/68] colorspace: Add support for RGB15 and BGR15

2010-10-31 23:44:20 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 44/68] colorspace: Add support for RGB16 and BGR16

2010-10-31 23:25:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 43/68] colorspace: Add support for Y16

2010-10-31 23:25:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 42/68] colorspace: Fix Y800 ORC getline implementation

2010-10-31 23:07:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 41/68] colorspace: Add support for A420

2010-10-31 23:00:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 40/68] colorspace: Add support for Y41B

2010-10-31 22:39:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	  [MOVED FROM BAD 39/68] colorspace: Add support for SDTV/HDTV YUV conversions

2010-10-31 22:21:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 38/68] colorspace: Add comment for the A420 getline/putline table row

2010-10-31 20:40:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	  [MOVED FROM BAD 37/68] colorspace: Add const to the source arrays and the getline/putline table

2010-10-31 19:42:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 36/68] colorspace: Make fast-path transform table const

2010-10-31 19:39:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 35/68] colorspace: Only do the I420->YUY2 conversion once per scanline in the fast path

2010-09-21 18:13:37 -0700  David Schleef <ds@schleef.org>

	* gst/colorspace/colorspace.c:
	  [MOVED FROM BAD 34/68] colorspace: quiet a GST_ERROR

2010-09-15 21:47:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/colorspace/gstcolorspaceorc-dist.c:
	* gst/colorspace/gstcolorspaceorc-dist.h:
	  [MOVED FROM BAD 33/68] colorspace: add orc-dist files
	  Should fix build without orc or too old orc.

2010-09-13 18:49:43 -0700  David Schleef <ds@schleef.org>

	* gst/colorspace/Makefile.am:
	* gst/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	* gst/colorspace/gstcolorspaceorc.orc:
	  [MOVED FROM BAD 32/68] colorspace: Add conversion code
	  Work in progress.  Colorspace handles most format conversion using
	  3-stage getline/matrix/putline process using an AYUV or ARGB
	  intermediate, with most functions handled by Orc.  There is also
	  a table of single-pass conversions, all handled by Orc.  The plan
	  is to add optional stages for various chroma upsampling/downsampling
	  algorithms, dithering, and float/int16 intermediates, and then have
	  Orc create multi-stage functions at runtime.

2010-09-13 12:48:50 -0700  David Schleef <ds@schleef.org>

	* gst/colorspace/Makefile.am:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	* gst/colorspace/gstcolorspaceorc.orc:
	* gst/colorspace/yuv2rgb.c:
	* gst/colorspace/yuv2rgb.h:
	  [MOVED FROM BAD 31/68] colorspace: Revive element
	  Now based on Orc.

2010-03-18 17:30:26 +0100  Benjamin Otte <otte@redhat.com>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 30/68] gst_element_class_set_details => gst_element_class_set_details_simple

2008-11-04 12:42:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 29/68] 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.

2007-06-22 10:46:33 +0000  Edward Hervey <bilboed@bilboed.com>

	  [MOVED FROM BAD 28/68] Fix leaks.
	  Original commit message from CVS:
	  * ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_init):
	  * ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_init):
	  * ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_init):
	  * ext/audioresample/gstaudioresample.c:
	  * ext/bz2/gstbz2dec.c: (gst_bz2dec_init):
	  * ext/bz2/gstbz2enc.c: (gst_bz2enc_init):
	  * ext/divx/gstdivxdec.c: (gst_divxdec_init):
	  * ext/divx/gstdivxenc.c: (gst_divxenc_init):
	  * ext/faac/gstfaac.c: (gst_faac_init):
	  * ext/gsm/gstgsmdec.c: (gst_gsmdec_init):
	  * ext/gsm/gstgsmenc.c: (gst_gsmenc_init):
	  * ext/hermes/gsthermescolorspace.c: (gst_hermes_colorspace_init):
	  * ext/lcs/gstcolorspace.c: (gst_colorspace_init):
	  * ext/libfame/gstlibfame.c: (gst_fameenc_init):
	  * ext/snapshot/gstsnapshot.c: (gst_snapshot_init):
	  * ext/spc/gstspc.c: (gst_spc_dec_init):
	  * ext/swfdec/gstswfdec.c: (gst_swfdec_init):
	  * ext/xvid/gstxvidenc.c: (gst_xvidenc_init):
	  * gst/cdxaparse/gstcdxaparse.c: (gst_cdxa_parse_init):
	  * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_init):
	  * gst/chart/gstchart.c: (gst_chart_init):
	  * gst/colorspace/gstcolorspace.c: (gst_colorspace_init):
	  * gst/festival/gstfestival.c: (gst_festival_init):
	  * gst/freeze/gstfreeze.c: (gst_freeze_init):
	  * gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_request_new_pad):
	  * gst/mpeg1sys/gstmpeg1systemencode.c: (gst_system_encode_init):
	  * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init):
	  * gst/nsf/gstnsf.c: (gst_nsfdec_init):
	  * gst/overlay/gstoverlay.c: (gst_overlay_init):
	  * gst/passthrough/gstpassthrough.c: (passthrough_init):
	  * gst/playondemand/gstplayondemand.c: (play_on_demand_init):
	  * gst/smooth/gstsmooth.c: (gst_smooth_init):
	  * gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_init):
	  * gst/speed/gstspeed.c: (speed_init):
	  * gst/vbidec/gstvbidec.c: (gst_vbidec_init):
	  * gst/videodrop/gstvideodrop.c: (gst_videodrop_init):
	  * sys/dxr3/dxr3spusink.c: (dxr3spusink_init):
	  * sys/dxr3/dxr3videosink.c: (dxr3videosink_init):
	  * sys/qcam/gstqcamsrc.c: (gst_qcamsrc_init):
	  Fix leaks.

2006-06-01 22:00:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 27/68] 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-04-25 21:56:38 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 26/68] 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-08 21:48:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 25/68] Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
	  Original commit message from CVS:
	  * ext/amrwb/gstamrwbdec.c: (gst_amrwbdec_class_init):
	  * ext/amrwb/gstamrwbenc.c: (gst_amrwbenc_class_init):
	  * ext/amrwb/gstamrwbparse.c: (gst_amrwbparse_class_init):
	  * ext/arts/gst_arts.c: (gst_arts_class_init):
	  * ext/artsd/gstartsdsink.c: (gst_artsdsink_class_init):
	  * ext/audiofile/gstafsink.c: (gst_afsink_class_init):
	  * ext/audiofile/gstafsrc.c: (gst_afsrc_class_init):
	  * ext/audioresample/gstaudioresample.c:
	  * ext/cdaudio/gstcdaudio.c: (gst_cdaudio_class_init):
	  * ext/directfb/dfbvideosink.c: (gst_dfbvideosink_class_init):
	  * ext/divx/gstdivxdec.c: (gst_divxdec_class_init):
	  * ext/hermes/gsthermescolorspace.c:
	  (gst_hermes_colorspace_class_init):
	  * ext/ivorbis/vorbisfile.c: (gst_ivorbisfile_class_init):
	  * ext/jack/gstjack.c: (gst_jack_class_init):
	  * ext/jack/gstjackbin.c: (gst_jack_bin_class_init):
	  * ext/lcs/gstcolorspace.c: (gst_colorspace_class_init):
	  * ext/libfame/gstlibfame.c: (gst_fameenc_class_init):
	  * ext/musicbrainz/gsttrm.c: (gst_musicbrainz_class_init):
	  * ext/nas/nassink.c: (gst_nassink_class_init):
	  * ext/shout/gstshout.c: (gst_icecastsend_class_init):
	  * ext/snapshot/gstsnapshot.c: (gst_snapshot_class_init):
	  * ext/sndfile/gstsf.c: (gst_sf_class_init):
	  * ext/swfdec/gstswfdec.c: (gst_swfdecbuffer_class_init),
	  (gst_swfdec_class_init):
	  * ext/tarkin/gsttarkindec.c: (gst_tarkindec_class_init):
	  * ext/tarkin/gsttarkinenc.c: (gst_tarkinenc_class_init):
	  * gst/cdxaparse/gstcdxastrip.c: (gst_cdxastrip_class_init):
	  * gst/chart/gstchart.c: (gst_chart_class_init):
	  * gst/colorspace/gstcolorspace.c: (gst_colorspace_class_init):
	  * gst/deinterlace/gstdeinterlace.c: (gst_deinterlace_class_init):
	  * gst/festival/gstfestival.c: (gst_festival_class_init):
	  * gst/filter/gstbpwsinc.c: (gst_bpwsinc_class_init):
	  * gst/filter/gstiir.c: (gst_iir_class_init):
	  * gst/filter/gstlpwsinc.c: (gst_lpwsinc_class_init):
	  * gst/librfb/gstrfbsrc.c: (gst_rfbsrc_class_init):
	  * gst/mixmatrix/mixmatrix.c: (gst_mixmatrix_class_init):
	  * gst/mpeg1sys/gstmpeg1systemencode.c:
	  (gst_system_encode_class_init):
	  * gst/mpeg1videoparse/gstmp1videoparse.c:
	  (gst_mp1videoparse_class_init):
	  * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_class_init):
	  * gst/mpegaudioparse/gstmpegaudioparse.c:
	  (gst_mp3parse_class_init):
	  * gst/overlay/gstoverlay.c: (gst_overlay_class_init):
	  * gst/passthrough/gstpassthrough.c: (passthrough_class_init):
	  * gst/playondemand/gstplayondemand.c: (play_on_demand_class_init):
	  * gst/rtjpeg/gstrtjpegdec.c: (gst_rtjpegdec_class_init):
	  * gst/rtjpeg/gstrtjpegenc.c: (gst_rtjpegenc_class_init):
	  * gst/smooth/gstsmooth.c: (gst_smooth_class_init):
	  * gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_class_init):
	  * gst/spectrum/gstspectrum.c: (gst_spectrum_class_init):
	  * gst/stereo/gststereo.c: (gst_stereo_class_init):
	  * gst/switch/gstswitch.c: (gst_switch_class_init):
	  * gst/tta/gstttadec.c: (gst_tta_dec_class_init):
	  * gst/tta/gstttaparse.c: (gst_tta_parse_class_init):
	  * gst/vbidec/gstvbidec.c: (gst_vbidec_class_init):
	  * gst/videocrop/gstvideocrop.c: (gst_video_crop_class_init):
	  * gst/virtualdub/gstxsharpen.c: (gst_xsharpen_class_init):
	  * gst/y4m/gsty4mencode.c: (gst_y4mencode_class_init):
	  * sys/cdrom/gstcdplayer.c: (cdplayer_class_init):
	  * sys/directsound/gstdirectsoundsink.c:
	  (gst_directsoundsink_class_init):
	  * sys/dxr3/dxr3audiosink.c: (dxr3audiosink_class_init):
	  * sys/dxr3/dxr3spusink.c: (dxr3spusink_class_init):
	  * sys/dxr3/dxr3videosink.c: (dxr3videosink_class_init):
	  * sys/qcam/gstqcamsrc.c: (gst_qcamsrc_class_init):
	  * sys/v4l2/gstv4l2colorbalance.c:
	  (gst_v4l2_color_balance_channel_class_init):
	  * sys/v4l2/gstv4l2tuner.c: (gst_v4l2_tuner_channel_class_init),
	  (gst_v4l2_tuner_norm_class_init):
	  * sys/ximagesrc/ximagesrc.c: (gst_ximagesrc_class_init):
	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)

2006-04-08 19:04:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  [MOVED FROM BAD 24/68] gst/: Fix more broken GObject macros
	  Original commit message from CVS:
	  * gst/colorspace/gstcolorspace.h:
	  * gst/deinterlace/gstdeinterlace.h:
	  * gst/passthrough/gstpassthrough.h:
	  * gst/y4m/gsty4mencode.h:
	  Fix more broken GObject macros

2006-04-01 10:09:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 23/68] rework build; add translations for v4l2
	  Original commit message from CVS:
	  rework build; add translations for v4l2

2005-12-06 19:55:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/colorspace/yuv2rgb.c:
	* gst/colorspace/yuv2rgb.h:
	  [MOVED FROM BAD 22/68] expand tabs
	  Original commit message from CVS:
	  expand tabs

2005-12-05 13:04:22 +0000  Andy Wingo <wingo@pobox.com>

	  [MOVED FROM BAD 21/68] Update for alloc_buffer changes.
	  Original commit message from CVS:
	  2005-12-05  Andy Wingo  <wingo@pobox.com>
	  * ext/faac/gstfaac.c: (gst_faac_sink_event), (gst_faac_chain):
	  * ext/faad/gstfaad.c: (gst_faad_chain):
	  * ext/hermes/gsthermescolorspace.c: (gst_hermes_colorspace_chain):
	  * ext/lcs/gstcolorspace.c: (gst_colorspace_chain):
	  * ext/xine/xineinput.c: (gst_xine_input_get):
	  * gst/colorspace/gstcolorspace.c: (gst_colorspace_chain):
	  * gst/speed/gstspeed.c: (speed_chain):
	  * gst/videocrop/gstvideocrop.c: (gst_video_crop_chain): Update for
	  alloc_buffer changes.

2005-09-05 17:20:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 20/68] Fix up all the state change functions.
	  Original commit message from CVS:
	  Fix up all the state change functions.

2005-08-14 16:21:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/colorspace/Makefile.am:
	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 19/68] pound some sense in the colorspace elements
	  Original commit message from CVS:
	  pound some sense in the colorspace elements

2005-07-05 10:51:49 +0000  Andy Wingo <wingo@pobox.com>

	  [MOVED FROM BAD 18/68] Way, way, way too many files: Remove crack comment from the 2000 era.
	  Original commit message from CVS:
	  2005-07-05  Andy Wingo  <wingo@pobox.com>
	  * Way, way, way too many files:
	  Remove crack comment from the 2000 era.

2004-07-27 21:41:30 +0000  Steve Lhomme <steve.lhomme@free.fr>

	* gst/colorspace/colorspace.vcproj:
	  [MOVED FROM BAD 17/68] more working plugins
	  Original commit message from CVS:
	  more working plugins

2004-07-27 09:57:33 +0000  Steve Lhomme <steve.lhomme@free.fr>

	* gst/colorspace/colorspace.vcproj:
	  [MOVED FROM BAD 16/68] rename GStreamer-0.8.lib to libgstreamer.lib
	  Original commit message from CVS:
	  rename GStreamer-0.8.lib to libgstreamer.lib

2004-07-27 09:48:51 +0000  Steve Lhomme <steve.lhomme@free.fr>

	* gst/colorspace/colorspace.vcproj:
	  [MOVED FROM BAD 15/68] avoid problems with math.h, fix release dependancy
	  Original commit message from CVS:
	  avoid problems with math.h, fix release dependancy

2004-07-26 22:11:21 +0000  Steve Lhomme <steve.lhomme@free.fr>

	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/yuv2rgb.h:
	  [MOVED FROM BAD 14/68] local include fixes
	  Original commit message from CVS:
	  local include fixes
	  Fix some 64 bits constants to be glib friendly
	  issue for a vararg macro with MSVC

2004-07-26 13:20:11 +0000  Steve Lhomme <steve.lhomme@free.fr>

	* gst/colorspace/colorspace.vcproj:
	  [MOVED FROM BAD 13/68] more plugins supported under windows
	  Original commit message from CVS:
	  more plugins supported under windows

2004-05-21 22:39:30 +0000  Stéphane Loeuillet <gstreamer@leroutier.net>

	* gst/colorspace/gstcolorspace.c:
	  [MOVED FROM BAD 12/68] first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
	  Original commit message from CVS:
	  first batch :
	  remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc

2004-04-22 03:52:52 +0000  Benjamin Otte <otte@gnome.org>

	  [MOVED FROM BAD 11/68] s/gst_caps_simplify/gst_caps_do_simplify/
	  Original commit message from CVS:
	  * ext/hermes/gsthermescolorspace.c:
	  (gst_hermes_colorspace_caps_remove_format_info):
	  * gst/colorspace/gstcolorspace.c:
	  (gst_colorspace_caps_remove_format_info):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcolorspace_caps_remove_format_info):
	  s/gst_caps_simplify/gst_caps_do_simplify/

2004-04-09 00:01:44 +0000  David Schleef <ds@schleef.org>

	  [MOVED FROM BAD 10/68] gst/colorspace/gstcolorspace.c: Don't advertise a conversion we don't support (bug #139532)
	  Original commit message from CVS:
	  * gst/colorspace/gstcolorspace.c: Don't advertise a conversion
	  we don't support (bug #139532)

2004-03-30 07:07:46 +0000  David Schleef <ds@schleef.org>

	  [MOVED FROM BAD 09/68] ext/hermes/gsthermescolorspace.c: decrease rank by 2 to not interfere with other colorspaces.
	  Original commit message from CVS:
	  * ext/hermes/gsthermescolorspace.c: (plugin_init): decrease rank
	  by 2 to not interfere with other colorspaces.
	  * ext/pango/gsttextoverlay.c: (plugin_init): change rank to NONE
	  * gst/colorspace/gstcolorspace.c: (plugin_init): decrease rank by
	  one to not interfere with ffmpeg_colorspace.

2004-03-15 19:32:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/yuv2rgb.c:
	  [MOVED FROM BAD 08/68] don't mix tabs and spaces
	  Original commit message from CVS:
	  don't mix tabs and spaces

2004-03-15 16:32:54 +0000  Johan Dahlin <johan@gnome.org>

	  [MOVED FROM BAD 07/68] *.h: Revert indenting
	  Original commit message from CVS:
	  * *.h: Revert indenting

2004-03-14 22:34:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	* gst/colorspace/yuv2rgb.c:
	* gst/colorspace/yuv2rgb.h:
	  [MOVED FROM BAD 06/68] gst-indent
	  Original commit message from CVS:
	  gst-indent

2004-03-13 00:19:26 +0000  David Schleef <ds@schleef.org>

	  [MOVED FROM BAD 05/68] configure.ac: the Hermes library controls hermescolorspace, not colorspace.
	  Original commit message from CVS:
	  * configure.ac: the Hermes library controls hermescolorspace, not
	  colorspace.
	  * ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
	  (gst_mpeg2dec_init): minor pet peeve: disable code with #ifdef,
	  not /* */
	  * ext/sdl/sdlvideosink.c: Change XID to unsigned long.
	  * ext/sdl/sdlvideosink.h: ditto.
	  * gst/colorspace/gstcolorspace.c: Fix old comments about Hermes

2004-01-18 19:02:33 +0000  Christian Schaller <uraeus@gnome.org>

	* gst/colorspace/Makefile.am:
	  [MOVED FROM BAD 04/68] fix to make it possible to build from disted tarball
	  Original commit message from CVS:
	  fix to make it possible to build from disted tarball

2004-01-16 00:55:29 +0000  David Schleef <ds@schleef.org>

	  [MOVED FROM BAD 03/68] gst-libs/gst/audio/Makefile.am: Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c from the template.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  Add gstaudiofiltertemplate.c and building of gstaudiofilterexample.c
	  from the template.
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  Add bytes_per_sample and size and n_samples calculation.
	  * gst-libs/gst/audio/gstaudiofilterexample.c:
	  Remove, now autogenerated.
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  Moved from gstaudiofilterexample, object name changed, code added
	  so that it actually works.
	  * gst-libs/gst/audio/make_filter:
	  Script to build an audiofilter subclass from the template.
	  * gst/colorspace/Makefile.am:
	  * gst/colorspace/yuv2yuv.c:
	  Remove file, since it's GPL, and we don't use it.

2004-01-15 10:45:55 +0000  Ronald S. Bultje <rbultje@ronald.bitfreak.net>

	  [MOVED FROM BAD 02/68] gst/colorspace/: Fix compiling... Didn't test if it actually works.
	  Original commit message from CVS:
	  2004-01-15  Ronald Bultje  <rbultje@ronald.bitfreak.net>
	  * gst/colorspace/gstcolorspace.c:
	  * gst/colorspace/yuv2yuv.c: (gst_colorspace_yuy2_to_i420),
	  (gst_colorspace_i420_to_yv12):
	  Fix compiling... Didn't test if it actually works.

2004-01-15 08:58:22 +0000  David Schleef <ds@schleef.org>

	  [MOVED FROM BAD 01/68] Duplicate the ext/hermes colorspace plugin, and remove Hermes code and GPL code.  Fix for new caps negotiation.  Rewr...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/colorspace/Makefile.am:
	  * gst/colorspace/gstcolorspace.c:
	  * gst/colorspace/gstcolorspace.h:
	  * gst/colorspace/yuv2rgb.c:
	  * gst/colorspace/yuv2rgb.h:
	  Duplicate the ext/hermes colorspace plugin, and remove Hermes
	  code and GPL code.  Fix for new caps negotiation.  Rewrite
	  much of the format handling code, and some of the conversion
	  code.  Basically, rewrote almost everything.  This element
	  handles I420, YV12 to RGB conversions.
	  * ext/hermes/Makefile.am:
	  * ext/hermes/gsthermescolorspace.c:
	  Rename colorspace to hermescolorspace.  Fix negotiation issues.
	  Remove non-Hermes related code.  This element handles lots of
	  RGB to RGB conversions, but no YUV.
	  * ext/hermes/gstcolorspace.c:
	  * ext/hermes/gstcolorspace.h:
	  * ext/hermes/rgb2yuv.c:
	  * ext/hermes/yuv2rgb.c:
	  * ext/hermes/yuv2rgb.h:
	  * ext/hermes/yuv2rgb_mmx16.s:
	  * ext/hermes/yuv2yuv.c:
	  * ext/hermes/yuv2yuv.h:
	  Remove old code.

2011-06-15 15:08:32 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add gobject introspection files to spec

2011-06-15 16:06:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  android/aacparse.mk
	  android/amrparse.mk
	  android/h264parse.mk
	  android/metadata.mk
	  android/qtmux.mk
	  android/sdpelem.mk
	  configure.ac
	  gst/qtmux/gstqtmux.c
	  win32/common/config.h

2011-06-15 14:53:56 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  remove old v4l plugin from spec file

2011-06-15 14:49:41 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* tests/examples/Makefile.am:
	  Add missing dist subdir

2011-06-15 14:21:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: link test program against libgstaudio

2011-06-15 13:01:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: cleanup and use playbin after rename
	  Remove the static pipelines and other unused things
	  Use playbin

2011-06-15 12:48:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-media-types.txt:
	  docs: add more media type

2011-06-15 00:52:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* ext/Makefile.am:
	* ext/gnomevfs/Makefile.am:
	* ext/gnomevfs/gstgnomevfs.c:
	* ext/gnomevfs/gstgnomevfs.h:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssink.h:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/gnomevfs/gstgnomevfssrc.h:
	* ext/gnomevfs/gstgnomevfsuri.c:
	* ext/gnomevfs/gstgnomevfsuri.h:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-plugins-base.spec.in:
	* po/POTFILES.in:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/gnomevfssink.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/icles/playback/decodetest.c:
	  gnomevfs: remove GnomeVFS plugin
	  The gio plugin replaces it.

2011-06-15 00:35:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/playbin-compressed.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2.c:
	  tests: fix up unit tests for playbin2/decodebin2 renames and updates
	  Even if they don't work yet.

2011-06-15 00:32:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplay-marshal.list:
	* gst/playback/gsturidecodebin.c:
	  uridecodebin, decodebin: remove new-decoded-pad and removed-decoded-pad signals
	  They were deprecated, use "pad-added" and "pad-removed" instead.

2011-06-15 00:06:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamsynchronizer.c:
	  playback: rename playbin2 to playbin
	  But keep source file name as-is for now.

2011-06-15 00:02:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gsturidecodebin.c:
	  playback: merge playbin and decodebin plugins into one single playback plugin again

2011-06-14 23:51:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin2: rename decodebin2 to decodebin
	  But don't rename source file for now, which hopefully
	  makes merging from master easier.

2011-06-14 23:42:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/README:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybasebin.h:
	* gst/playback/gstplaybin.c:
	* gst/playback/gststreaminfo.c:
	* gst/playback/gststreaminfo.h:
	  playback: remove old playbin and decodebin elements

2011-06-15 01:55:31 +0530  Debarshi Ray <rishi@gnu.org>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst/tcp/gsttcpclientsink.c:
	  Remove unused but set variables
	  This is needed to satisfy the new -Wunused-but-set-variable added in
	  GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html

2011-06-14 18:25:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-media-types.txt:
	  docs: add beginnings of new media types design doc
	  Start with new video media types and properties

2011-06-14 15:20:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-06-14 10:31:18 +0530  Debarshi Ray <rishi@gnu.org>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: restore 7350 as a valid sampling frequency for AAC
	  This was lost during c77f88cac675a1dbb89e40da8e3c28320523bfca.

2011-06-09 18:30:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tag.h:
	  libs: replace G_CONST_RETURN with 'const'
	  G_CONST_RETURN will be deprecated soon.
	  https://bugzilla.gnome.org/show_bug.cgi?id=652211

2011-05-31 22:14:09 -0700  David Schleef <ds@schleef.org>

	* gst/audioresample/resample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/videoscale/vs_4tap.c:
	* gst/videotestsrc/generate_sine_table.c:
	* gst/videotestsrc/videotestsrc.c:
	* tests/icles/test-xoverlay.c:
	  convert M_PI to G_PI, for msvc

2011-06-06 14:41:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: no input data implies no type can be found
	  ... and posting a proper error message to this effect is appropriately
	  informative and prevents auto-plugging otherwise stalling.

2011-06-04 13:36:55 -0700  David Schleef <ds@schleef.org>

	* gst/adder/gstadder.c:
	  adder: Work around changes in g_atomic API
	  See #651514 for details.

2011-05-31 20:38:56 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix c99-ism

2011-05-23 16:02:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Try to typefind even if conversion to UTF8 failed
	  Fixes bug #600043.

2011-05-23 15:51:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Interprete typefind strings passed to GRegex as raw bytes instead of valid UTF8

2011-05-20 10:48:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/lang.c:
	  lang: fix possible array overrun
	  We where checking for i<G_N_ELEMENTS, but where accessing i+1.

2011-06-14 10:31:18 +0530  Debarshi Ray <rishi@gnu.org>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: restore 7350 as a valid sampling frequency for AAC
	  This was lost during c77f88cac675a1dbb89e40da8e3c28320523bfca.

2011-06-13 19:09:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-06-13 16:32:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst/gdp/gstgdppay.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  -base: update for buffer API change

2011-06-13 16:28:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppayload: cleanup header

2011-06-13 12:15:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: use _check_reconfigure method

2011-06-13 12:09:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: use baseclass allocator negotiation logic
	  Let the baseclass implement the negotiation of the allocators.
	  Influence the allocator buffersize.
	  Use the fill vmethod to fill the buffer with data.

2011-06-11 20:47:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximage: fix alignment and size
	  Set the right alignment and size in the bufferpool.

2011-06-11 18:54:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	  update for bufferpool api change

2011-05-31 22:14:09 -0700  David Schleef <ds@schleef.org>

	* gst/audioresample/resample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/videoscale/vs_4tap.c:
	* gst/videotestsrc/generate_sine_table.c:
	* gst/videotestsrc/videotestsrc.c:
	* tests/icles/test-xoverlay.c:
	  convert M_PI to G_PI, for msvc

2011-06-07 21:30:18 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: refactor how EOS is determined
	  This decreases the number of buffers held on each pad by one,
	  eliminating next_buffer.  Simplifies the logic by relying solely
	  on CollectPads to let us know when a pad is in EOS.  As a side
	  benefit, the collect pads related code is structured more like
	  other CollectPad users.
	  The previous code would occasionally mark the wrong pad as EOS,
	  causing the code to get in a state where all the streams were
	  finished, but EOS hadn't been sent to the source pad.

2011-06-10 18:04:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	  update for alignment change

2011-06-10 17:58:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: small cleanups

2011-06-10 17:58:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix for alignment value change

2011-06-10 12:14:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  tests/examples/audio/Makefile.am
	  tests/examples/v4l/Makefile.am

2011-06-10 11:59:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstsmartencoder.c:
	  -base: fix for flush_stop event API change

2011-06-09 18:30:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tag.h:
	  libs: replace G_CONST_RETURN with 'const'
	  G_CONST_RETURN will be deprecated soon.
	  https://bugzilla.gnome.org/show_bug.cgi?id=652211

2011-06-09 00:02:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Fix LocationShown syntax
	  According to the specification, the LocationShown requires its
	  struct fields to be inside a Bag type.

2011-06-09 11:52:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: small improvements

2011-06-08 14:21:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add room for extra namespace definitions
	  Adds an extra field to the namespace definitions of the schemas
	  so they can add the namespace of any array/struct fields they
	  might use internally.

2011-06-08 13:43:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  playback: changes for message API changes

2011-06-08 12:21:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/Makefile.am:
	* gst/audioresample/Makefile.am:
	* tests/check/Makefile.am:
	* tests/examples/v4l/Makefile.am:
	  GST_PLUGINS_BASE_LIBS is not defined in -base.

2011-06-08 11:33:07 +0200  Christophe Fergeau <cfergeau@redhat.com>

	* tests/examples/audio/Makefile.am:
	  examples: don't link testchannels example with system libgstaudio
	  The testchannels audio test program is using -lgstaudio-0.10 to link
	  with libgstaudio which won't use the gstaudio library that was just
	  built but the one from the system. This is an issue since it means
	  we won't be testing the code from the current source tree, and it
	  also breaks the build when building on a system which don't have
	  a libgstaudio yet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=652100

2011-06-08 11:11:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/design-decodebin.txt:
	  docs: add some text about parser/decoder autoplugging issues

2011-06-07 20:43:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* gst-plugins-base.spec.in:
	* gst/videorate/gstvideorate.c:
	* po/POTFILES.in:
	* sys/Makefile.am:
	* sys/v4l/.gitignore:
	* sys/v4l/Makefile.am:
	* sys/v4l/README:
	* sys/v4l/TODO:
	* sys/v4l/gstv4l.c:
	* sys/v4l/gstv4lcolorbalance.c:
	* sys/v4l/gstv4lcolorbalance.h:
	* sys/v4l/gstv4lelement.c:
	* sys/v4l/gstv4lelement.h:
	* sys/v4l/gstv4ljpegsrc.c:
	* sys/v4l/gstv4ljpegsrc.h:
	* sys/v4l/gstv4lmjpegsink.c:
	* sys/v4l/gstv4lmjpegsink.h:
	* sys/v4l/gstv4lmjpegsrc.c:
	* sys/v4l/gstv4lmjpegsrc.h:
	* sys/v4l/gstv4lsrc.c:
	* sys/v4l/gstv4lsrc.h:
	* sys/v4l/gstv4ltuner.c:
	* sys/v4l/gstv4ltuner.h:
	* sys/v4l/gstv4lxoverlay.c:
	* sys/v4l/gstv4lxoverlay.h:
	* sys/v4l/v4l_calls.c:
	* sys/v4l/v4l_calls.h:
	* sys/v4l/v4lmjpegsink_calls.c:
	* sys/v4l/v4lmjpegsink_calls.h:
	* sys/v4l/v4lmjpegsrc_calls.c:
	* sys/v4l/v4lmjpegsrc_calls.h:
	* sys/v4l/v4lsrc_calls.c:
	* sys/v4l/v4lsrc_calls.h:
	* sys/v4l/videodev_mjpeg.h:
	* tests/examples/Makefile.am:
	* tests/examples/v4l/.gitignore:
	* tests/examples/v4l/Makefile.am:
	* tests/examples/v4l/probe.c:
	  Remove v4l plugin
	  The old v4l interface has been deprecated for years and even
	  been removed from the kernel headers. If anyone still needs
	  this plugin, they can resurrect it in gst-plugins-bad, there's
	  no reason for it to be in -base.

2011-06-07 16:18:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: use new memory alloc API

2011-06-07 12:06:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	  event: fix some event leaks

2011-06-07 11:55:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggaviparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst/videorate/gstvideorate.c:
	  -base: use caps event
	  Remove uses of setcaps function and use the caps event.

2011-06-07 10:58:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/subparse/gstssaparse.c:
	  -base: use caps event instead of setcapsfunction

2011-06-06 16:27:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/theora/gsttheoraenc.c

2011-06-06 12:03:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: remove deprecated peer-alloc property
	  Remove the peer-alloc property, it's not used anymore because pad-alloc is gone.

2011-06-06 14:30:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: also define GST_DISABLE_XML for now to fix subparse build

2011-06-06 14:41:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: no input data implies no type can be found
	  ... and posting a proper error message to this effect is appropriately
	  informative and prevents auto-plugging otherwise stalling.

2011-06-06 12:48:23 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: determine granulepos metadata using stream mapper whenever possible
	  ... which unfortunately is not the case for all types, but at least so for
	  most common ones.

2011-06-06 12:46:05 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: convert incoming buffer timestamp to running time
	  ... so all subsequent manipulation can take place in the proper timeline
	  without further ado.

2011-06-01 20:48:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: remove superfluous code
	  ... since there is nothing in oggstream that cares (or even should)
	  about granulepos for what is being asked from it.

2011-06-05 23:47:37 +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/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 removed translatable strings

2011-06-05 23:47:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: fix indentation

2011-06-05 23:44:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: define USE_XML conditional used by subparse as FALSE for now
	  The subparse plugin needs to be split and/or moved to ext/ for the
	  libxml2 dependency. The media type needs to be format-specific instead
	  of a catch-all format. Maybe add a base class or line-based adapter.

2011-06-04 13:36:55 -0700  David Schleef <ds@schleef.org>

	* gst/adder/gstadder.c:
	  adder: Work around changes in g_atomic API
	  See #651514 for details.

2011-05-31 20:38:56 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix c99-ism

2011-06-03 16:29:00 +0200  Luis de Bethencourt <luis.debethencourt@collabora.como>

	* ext/theora/gsttheoraenc.c:
	  theora: separate encode and push block in chain, into own function.

2011-06-03 19:10:33 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/vorbistag.c:
	  check/vorbistag: Convert to new probe API

2011-06-03 19:07:44 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/pipelines/vorbisenc.c:
	  check/vorbisenc: Convert to new probe API

2011-06-03 19:00:23 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/pipelines/oggmux.c:
	  check/oggmux: Convert to new probe API

2011-06-03 15:51:08 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/playbin2.c:
	  check/playbin2: Update for caps and structure API changes

2011-06-03 12:19:49 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/gnomevfssink.c:
	  check: Use new gst_event_new_segment() API

2011-06-03 11:48:43 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/examples/audio/Makefile.am:
	  examples: Link against proper libgstaudio
	  It was previously attempting to link against the non-local one.

2011-06-03 19:00:39 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Use the GstPad (and not the GstOggPadData for GstPad functions
	  For those willing, renaming that 'pad' variable to something more obvious
	  would be nice to avoid such bugs...

2011-06-03 13:35:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  thoeraenc: port to 0.11

2011-06-03 13:31:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/theora/gsttheoraenc.c

2011-06-03 13:16:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix after merge

2011-06-03 13:12:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: fix compilation after ghostpad setcaps removal

2011-06-02 19:08:41 +0200  Luis de Bethencourt <luis.debethencourt@collabora.como>

	* ext/theora/gsttheoraenc.c:
	  theora: use fixed src cap pads

2011-06-02 18:57:05 +0200  Luis de Bethencourt <luis.debethencourt@collabora.como>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theora: set the width/height/par on the srcpad caps

2011-06-02 17:29:53 +0200  Luis de Bethencourt <luis.debethencourt@collabora.como>

	* ext/theora/gsttheoraenc.c:
	  theora: get sink caps info from downstream element pad
	  https://bugzilla.gnome.org/show_bug.cgi?id=651564

2011-06-02 19:26:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-06-02 19:21:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertp: use caps event instead of setcaps function
	  Use the caps event instead of the setcaps function to configure caps.
	  Use a default event handler for the base rtp payloader instead of the awkward
	  way of handling the return value.

2011-05-27 14:41:39 -0700  Patrick McCarty <patrick.mccarty@intel.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for wbmp images.
	  https://bugzilla.gnome.org/show_bug.cgi?id=651294

2011-06-02 00:55:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add typefinder for WAP WBMP bitmaps
	  https://bugzilla.gnome.org/show_bug.cgi?id=651294

2011-06-02 12:21:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: fix header after merge

2011-06-02 12:18:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/video/video.h
	  gst/playback/gstplaysinkaudioconvert.c
	  gst/playback/gstplaysinkvideoconvert.c
	  tests/check/libs/rtp.c

2011-06-02 12:12:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsinconvert: clear the probe id when removing

2011-06-02 12:08:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: refactor block/unblock code a little

2011-06-02 11:53:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink: Fix deadlock in the audio/video converter bins when linking fails

2011-06-01 19:34:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	* gst/playback/gststreaminfo.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	* gst/playback/gsturidecodebin.c:
	* tests/icles/audio-trickplay.c:
	  probes: port to new API for blocking and probes

2011-06-01 17:31:35 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/Makefile.am:
	  check: ... and don't forget to add the new arm header
	  Forgot it in my previous commit

2011-06-01 17:24:30 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_arm.h:
	  libsabi: Add structure sizes for arm

2011-05-31 19:57:57 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	  fft: s/M_PI/G_PI/ for MSVC

2011-05-31 11:05:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	* tests/check/elements/volume.c:
	  volume: Fix handling of volume>=4.0 for 8 and 16 bit integer formats
	  Also add a unit test for this. Previously volumes bigger than 4.0
	  would have resulted in overflows in the fixed point processing.
	  Fixes bug #649642.

2011-05-30 18:36:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playbin: fixed for new pad block API

2011-05-30 17:14:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: activate pad before pushing things
	  Activate the pad before pushing things on it or else we get errors.

2011-05-29 13:32:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/adder.c:
	* tests/check/elements/ffmpegcolorspace.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/libs/rtp.c:
	* tests/check/pipelines/theoraenc.c:
	  tests: fix some more unused-but-set-variable warnings with gcc 4.6

2011-05-28 16:14:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: update .def file for new API

2011-05-28 12:39:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	* tests/check/elements/.gitignore:
	  Ignore new playbin2-compress test binary
	  And add old testchannels binary to CRUFT_FILES.

2011-05-27 23:31:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: sprinkle some G_GNUC_CONST
	  Mark functions that have no effect besides their return value and
	  only inspect their input arguments with G_GNUC_CONST. (We just
	  ignore the g_return_val_if_fail() guards for this)

2011-05-27 23:25:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: clean up header file
	  Sprinkle some spaces and newlines here and there.

2011-05-27 14:30:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Optimize transform_caps()
	  If the second and next caps structures are a subset of the already existing
	  transformed caps we can safely skip them because we would transform them to
	  the same caps again.

2011-05-27 14:28:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Optimize transform_caps()
	  If the second and next caps structures are a subset of the already existing
	  transformed caps we can safely skip them because we would transform them to
	  the same caps again.

2011-05-27 14:20:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Optimize transform_caps()
	  If the second and next caps structures are a subset of the already existing
	  transformed caps we can safely skip them because we would transform them to
	  the same caps again.

2011-05-27 14:10:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Use new gst_caps_is_subset_structure() API
	  This prevents one copy of every structure and creating a new caps
	  instance.

2011-05-27 15:03:19 +0300  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* gst-libs/gst/audio/.gitignore:
	* gst-libs/gst/audio/Makefile.am:
	* tests/examples/Makefile.am:
	* tests/examples/audio/.gitignore:
	* tests/examples/audio/Makefile.am:
	* tests/examples/audio/testchannels.c:
	  audio: move testchannels example to 'tests/examples' dir
	  Also fix it up a little to not include 'c' file but link to the libs instead.

2011-05-27 13:58:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-05-27 13:13:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Optimize transform_caps()
	  If the second and next caps structures are a subset of the already existing
	  transformed caps we can safely skip them because we would transform them to
	  the same caps again.
	  This makes gst_pad_get_caps() on an audiotestsrc ! audioconvert !
	  audioconvert ! audioconvert ! fakesink pipeline about 1.7 times faster.

2011-05-27 12:13:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audioconvert.c:
	  audioconvert: Fix audioconvert unit test to work again

2011-05-27 12:13:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/videoscale/gstvideoscale.c:
	  gst: Update for the GstBaseTransform::transform_caps() changes

2011-05-27 11:39:21 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/codec-utils.c:
	  code-utile: fix level descriptions for fgs
	  fgs levels range from 8-13 and are mapped to 0-5.

2011-05-25 14:38:21 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: fix mpeg4 level verification
	  The current condition would never be true. As levels<6 are asp and levels>7 and
	  <14 are fgs, we should return NULL for cases 6,7,14,15.

2011-05-26 16:08:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstsubtitleoverlay.c:
	  -base: change for changed set_blocked API

2011-05-26 13:47:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-05-26 12:33:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Fallback to non-XShm mode if allocating the XShm image failed
	  Fixes bug #630442.

2011-05-26 12:30:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Fallback to non-XShm mode if allocating the XShm image failed
	  Fixes bug #630442.

2011-05-26 11:41:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Let the input-selectors sync all streams to the running time
	  This is especially needed when switching between a non-sparse and sparse
	  video stream, see bug #537382. It also lowers the time needed for switching
	  between streams a bit.

2011-01-20 00:52:50 -0700  Lane Brooks <dirjud@gmail.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: added 'outline-color' parameter to control whether text gets a shadow

2011-01-20 00:42:39 -0700  Lane Brooks <dirjud@gmail.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: added 'shadow' option to control whether text gets a shadow

2011-05-26 10:48:05 +0200  Jindrich Makovicka <makovick@gmail.com>

	* ext/pango/gsttextrender.c:
	  textrender: Correctly negotiate with downstream instead of just using random caps
	  Fixes bug #638897.

2011-05-26 10:43:51 +0200  Jindrich Makovicka <makovick@gmail.com>

	* ext/pango/gsttextrender.c:
	  textrender: Add bound checks to not write outside the image area

2011-05-26 10:42:46 +0200  Jindrich Makovicka <makovick@gmail.com>

	* ext/pango/gsttextrender.c:
	  textrender: Prevent double unref of caps if the caps can't be set on the srcpad

2011-05-26 10:31:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  gnomevfssrc: Keep track of interruptions during read with a flag

2010-09-03 09:11:30 -0400  American Dynamics <GStreamer-Bugs@tycosp.com>

	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/gnomevfs/gstgnomevfssrc.h:
	  gnomevfssrc: Add support for cancelling the read operations
	  This allows the state change from PAUSED to READY to be faster.
	  Fixes bug #628337.

2011-05-25 14:14:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: Remove g_assert from interface query

2011-05-25 14:08:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Remove the g_assert from interface query

2011-05-26 00:17:40 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: add blue and violet noise by using spectral inversion
	  Add blue and violet noise by spectral inversion of pink and red noise.
	  Fixes #649969

2011-05-25 23:40:26 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: add red (brownian) noise generator
	  Add another noise generator which produces a quite dark noise color.
	  Fixes parts of #649969.

2010-09-27 13:32:31 +0400  Vladimir Eremeev <eremeev@atlantis.ru>

	* tests/examples/seek/seek.c:
	  seek: set selected/default audio/video sinks on playbin and playbin2
	  https://bugzilla.gnome.org/show_bug.cgi?id=630322

2011-05-25 19:03:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: add --audiosink and --videosink command line options

2011-05-25 18:50:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: use the right GDK defines to differentiate between the backends

2011-05-25 18:45:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: use gst_filename_to_uri() to convert a filename to a uri

2010-09-27 12:46:54 +0400  Vladimir Eremeev <eremeev@atlantis.ru>

	* tests/examples/seek/seek.c:
	  seek: make seek example work in win32
	  https://bugzilla.gnome.org/show_bug.cgi?id=630322

2011-05-25 16:08:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: update GLib requirement to >= 2.24
	  Same as core (make implicit requirement explicit).
	  http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement

2011-05-25 15:24:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: remove bogus <0 check for unsigned var
	  bytes_written is a gsize which is unsigned and thus never < 0.

2011-05-25 15:23:13 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix variable type for bytes_consumed
	  th_encode_ctl() returns an int. Using a gsize result in bogus <0 checks.

2011-05-25 15:04:20 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-read.c:
	  riff: remove the g_return_if_fail as we test it below
	  We don't want to return without setting taglist=NULL if asserts are on and with
	  setting taglist=NULL otherwise.

2011-05-25 14:28:18 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: use a flag for 'mute' using the controller
	  Previously we checked mute_csource to determine wheter we need to premultiply
	  volumes and mute values. That fails as we unrefs mute_csource and set it to
	  NULL after. Use an extra flag instead.

2011-05-25 14:12:50 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: reflow the code
	  Move the warning on unsupported units to the swicth-case. Move fetching the
	  pending tags down to where we use them.

2011-05-25 13:59:57 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: set value=1 if we found the token
	  Otherwise we never write the tag. This would also be consistent with the code in
	  deserialize_scene_type().

2011-05-25 12:30:51 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: run gst-indent

2011-05-25 12:29:21 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: remove unneded !=NULL checks
	  We check for matching_attr!=NULL right before already.

2011-05-24 18:21:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/mixerutils.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstplaybin2.c:
	* tests/check/elements/libvisual.c:
	  feature: use object name instaed of feature name

2011-05-24 17:37:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiosrc.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	  scheduling: port to new scheduling query

2011-05-24 10:46:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: handle reconfigure events
	  Handle the caps with the caps event.
	  Handle the reconfigure event and renegotiate the bufferpool when needed.

2011-05-24 09:55:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: fix for merge conflict

2011-05-24 09:47:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/video/convertframe.c

2011-05-24 09:45:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x11: free bufferpool whe activation fails

2011-05-24 00:13:04 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: massage the section file more
	  Add more symbols (from unused.txt). Move the whole bunch of riff-fourcc defines
	  to std section too (no one is hoing to document them, right).

2011-05-24 00:12:26 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/video.c:
	  docs: add missing parameter docs

2011-05-23 23:53:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: move the riff structure to std-section
	  If someone intents to document them and the fields we can move them back.

2011-05-23 23:53:06 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
	  docs: move pluginbaseversion to separate section as we have section docs

2011-05-23 23:51:15 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  docs: add minimal docblobs for status code and headers
	  Use a trick to avoid documenting all 100 enums.

2011-05-23 23:41:56 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	  docs: update xoverlay docs for api addition and deprecation

2011-05-23 23:12:50 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  docs: rtp library docs update

2011-05-23 22:58:22 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstringbuffer.h:
	* gst-libs/gst/cdda/gstcddabasesrc.h:
	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/colorbalancechannel.h:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/mixeroptions.h:
	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst-libs/gst/video/gstvideosink.h:
	  docs: add missing documentation for various pieces

2010-02-19 12:54:18 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: recalibrate clock on setcaps
	  Because the spec for the ringbuffer can change when changing
	  the caps, we must recalibrate the clock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=610443

2011-05-23 16:02:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Try to typefind even if conversion to UTF8 failed
	  Fixes bug #600043.

2011-05-23 16:02:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Compile the typefind regex with optimization to speed up matching

2011-05-23 15:51:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Interprete typefind strings passed to GRegex as raw bytes instead of valid UTF8

2011-05-23 15:21:59 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: fix docs
	  Fixup paramter mismatch between func and prototype. Add missing parameter docs.

2011-05-23 15:08:24 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/audio/multichannel.h:
	  docs: fixup audio-library docs

2011-05-23 15:02:27 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst/app/gstapp.c:
	  docs: fixup appsrc/sink api docs

2011-05-23 14:53:26 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	  docs: fix docs for new api
	  Some parameters where wrong, first line missed the ':' and return docs where
	  broken.

2011-05-23 14:45:23 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: update xmp api docs
	  Add missing section. Add new section to main-sgml. Add missing function.

2011-05-23 14:07:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: remove late check
	  We deref the pointer two lines before already and besides this internal function
	  should not be called with this parameter=NULL.

2011-05-23 14:01:29 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: have the default branch as the last one

2011-05-23 14:00:04 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: an uint value can't be <0

2011-05-23 13:53:06 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/video.c:
	  whitespace: trim trailing whitespace

2011-05-23 13:50:59 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/video.c:
	  video.c: use a break and a final warning instead of early returns
	  Use breaks for case branches instead of return 0. We don't expect these to
	  happen anyway. Thus have a warning before the final return to make it easier to
	  see when things go out of sync.

2011-05-23 13:49:01 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/video.c:
	  video.c: use g_assert_not_reached() for logical error here.
	  This will help to detect them closer to the source if they ever happen.

2011-05-20 12:50:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: use new method
	  Use the new element class method to get the metadata from an element. Not all
	  elements might have an elementfactory.

2011-05-20 12:32:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix compilation after the removal of GstElementDetails

2011-05-20 12:26:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  docs/plugins/gst-plugins-base-plugins.hierarchy
	  docs/plugins/gst-plugins-base-plugins.interfaces
	  docs/plugins/gst-plugins-base-plugins.prerequisites

2011-05-20 10:48:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/lang.c:
	  lang: fix possible array overrun
	  We where checking for i<G_N_ELEMENTS, but where accessing i+1.

2011-05-19 23:41:08 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: cleanup helper code
	  make_lossless_changes() returns the same structure that we're passing (probably
	  to enable chaining). Instead of reusing s and making it point to s2 as well,
	  keep using s2. Drop the assignment which in the 2nd case is a dead one anyway.

2011-05-19 23:25:24 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	  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:56:53 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 9e5bbd5 to 69b981f

2011-05-19 15:56:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: implement ALLOCATION query

2011-05-19 15:55:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: improve allocation query
	  If the allocation query contains the same caps as the current allocator, we can
	  return that one instead of making a new one.

2011-05-19 13:40:29 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add new header file

2011-05-19 13:38:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: fix upstream renegotiation
	  Fix a refcount problem.
	  Handle reconfiguration requests.

2011-05-19 08:30:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Autoplug formatters
	  Autoplug formatters for streams if a formatter with secondary or
	  higher rank is found. Formatters are autoplugged when there is no
	  muxer or when the muxer doesn't implement the tagsetter interface.
	  Currently only the first formatter found is plugged, this might
	  help in lots of cases, but it doesn't solve the
	  'lamemp3 ! xingmux ! id3mux'
	  case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=649841

2011-05-19 08:27:29 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix typos

2011-05-19 12:42:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: improve negotiation
	  Remove the setcaps function on the srcpad, we know exactly when we negotiate a
	  new format now.
	  Use a caps event to configure new caps.

2011-05-19 12:29:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbis: fix for new API

2011-05-19 11:31:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-05-18 22:07:58 +0200  Aleix Conchillo Flaque <aleix@oblong.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Handle headers in caps

2011-05-18 17:23:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstsubparse.c:
	* gst/videorate/gstvideorate.c:
	  base: Update for SEGMENT event parse API changes

2011-05-18 16:09:47 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From fd35073 to 9e5bbd5

2011-05-18 13:18:15 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  gstvideo: Add gst_video_get_size_from_caps function
	  gst_video_get_size_from_caps () allows easy calculation of the raw video
	  buffer size from some fixed video caps.
	  API: gst_video_get_size_from_caps()

2011-05-18 12:24:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 46dfcea to fd35073

2011-05-18 09:34:52 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsa: Remove unused but set variable
	  Unused but set variables cause warnings in GCC 4.6.x and newer.

2011-05-17 13:04:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  gst: Update for caps/pad template related API changes

2011-05-17 13:03:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/ffmpegcolorspace.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	  tests: Update for caps/pad template related API changes

2011-05-17 13:01:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/vorbis/gstvorbisdec.c:
	  ext: Update for caps/pad template related API changes

2011-05-17 12:54:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/v4l/gstv4lmjpegsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  sys: Update for caps/pad template related API changes

2011-05-17 12:51:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Update for caps/pad template related API changes

2011-05-17 12:47:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	  encoding-profile: Returns a new reference of caps everywhere instead of const caps

2011-05-17 12:29:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiofilter.h:
	  audiofilter: gst_pad_template_new() does not take ownership of the caps anymore
	  There's no need to copy the caps before passing them to that function.

2011-05-17 11:27:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-05-17 11:25:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/v4l/gstv4lsrc.c:
	* sys/xvimage/xvimagesink.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/audio-trickplay.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	  Revert "-base_port to new query API"
	  This reverts commit c9f4e0676ba8c8074a50aa6d1d058f6da9a76b32.

2011-05-17 11:24:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: Update for GstQuery related API changes"
	  This reverts commit 549128c2a3702a878c62f5603e097c8df7075f36.

2011-05-17 10:20:36 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Fix typo which broke the build

2011-05-17 09:31:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-05-16 15:35:50 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: not enter in not controllable state unless it is necessary
	  When closing rtspsrc the state change blocks until the polling in the
	  connection timeouts. This is because the second time we loop to read a
	  full message controllable is set to FALSE in the poll group, even though no
	  message is half read.
	  This can be avoided by not setting controllable to FALSE the poll group
	  unless we had begin to read a message.
	  Fixes #610916

2011-05-16 15:35:50 +0200  Miguel Angel Cabrera Moya <madmac2501@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: not enter in not controllable state unless it is necessary
	  When closing rtspsrc the state change blocks until the polling in the
	  connection timeouts. This is because the second time we loop to read a
	  full message controllable is set to FALSE in the poll group, even though no
	  message is half read.
	  This can be avoided by not setting controllable to FALSE the poll group
	  unless we had begin to read a message.
	  Fixes #610916

2010-05-30 13:21:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	  cdparanoiasrc: fix build on OSX by #undef-ing VERSION before including system headers
	  On OSX the cdparanoia headers include IOKit framework headers (in particular
	  SCSICmds_INQUIRY_Definitions.h) which define a structure that has a member
	  named VERSION, so we must #undef VERSION before including those for things
	  to compile on OSX.
	  Fixes #609918.

2011-05-16 17:44:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/v4l/gstv4lsrc.c:
	  v4l: Make sure to return a subset of the filter caps in getcaps

2011-05-16 17:30:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/v4l/gstv4lsrc.c:
	  v4lsrc: fix for new getcaps function

2011-05-16 17:14:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Update for segment API changes

2011-05-16 17:13:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Update for GstQuery related API changes

2011-05-16 17:13:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkvideoconvert.c:
	  playsink: Update for other 0.11 API changes

2011-05-16 17:08:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use correct number of parameters to gst_pad_get_caps()

2011-05-16 17:06:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  ext/alsa/gstalsasrc.c
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  gst-libs/gst/tag/gstxmptag.c
	  gst/playback/gstsubtitleoverlay.c
	  gst/videorate/gstvideorate.c
	  sys/xvimage/xvimagesink.c

2011-05-16 15:31:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/encoding/encoding.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	  tests: Update for negotiation related API changes

2011-05-16 15:25:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	  vorbis: Update for negotiation related API changes

2011-05-16 15:19:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	  theora: Update for negotiation related API changes

2011-05-16 12:23:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Update for negotiation related API changes

2011-05-16 12:20:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	  ogg: Update for negotiation related API changes

2011-05-16 12:18:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: Update for negotiation related API changes

2011-05-16 12:17:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Update for negotiation related API changes

2011-05-16 12:04:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Update for negotiation related API changes

2011-05-16 12:01:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Update for negotiation related API changes

2011-05-16 11:37:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpclientsrc.c:
	  tcpclientsrc: Update for negotation related API changes

2011-05-16 11:37:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Update for negotiation related API changes

2011-05-16 11:33:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Update for negotiation related API changes

2011-05-16 11:26:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Update for negotiation related API changes

2011-05-16 11:04:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	  encodebin: Update for negotiation related API changes

2011-05-16 10:56:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Update for negotiation related API changes

2011-05-16 10:52:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: Update for negotiation related API changes

2011-05-16 10:48:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Update for the new gst_pad_get_caps() signature

2011-05-16 10:47:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Update for the negotiation related API changes

2011-05-16 10:44:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppayload: Change ::get_caps to include the filter caps
	  And improve downstream negotiation a bit by passing our proposed
	  caps to the peer as a filter.

2011-05-11 17:39:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Update for negotiation related API changes

2011-05-11 17:39:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Update for negotiation related API changes

2011-05-16 12:02:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Update for negotiation related API changes

2011-05-11 17:35:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: basetransform is now better at trying passthrough, remove workaround

2011-05-16 13:48:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  -base: port to new SEGMENT API

2011-05-02 11:43:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: optionally ensure maximum average output frame rate
	  See #628764.

2011-04-29 14:58:02 +0200  Alexey Fisher <bug-track@fisher-privat.net>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: optionally only drop frames to ensure maximum frame rate
	  This adds option to arrange for maximal allowed variable frame rate.
	  Fixes #628764.

2011-04-26 13:37:51 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use bitrate to configure streaming buffer-duration default case
	  In particular, in audio only cases whose (estimated) metadata provides bitrate
	  information, the buffer-size based on such bitrate (and buffer-duration)
	  will be much more reasonable than queue2 default buffer-size.

2011-04-26 11:27:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: remove some dead code
	  ... which was dead as pads were never added to the list, and need not be added,
	  since removing them is handled by a pad callback.

2011-04-29 11:48:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/examples/encoding/Makefile.am:
	  encodebin: examples: Add missing base libs to makefile

2011-04-28 10:58:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Check for missing converters
	  Adds checks for missing video and audio converter elements

2011-04-27 22:05:55 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/xmpwriter.c:
	  tag: xmpwriter: Rename documentation headers
	  Fix some wrong documentation headers from the first name
	  given to this interface.

2011-04-19 08:41:53 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: xmp: New tests for the Iptc4xmpExt tags

2011-04-18 23:28:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add Iptc4xmpExt schema support
	  Adds Iptc4xmpExt schema with country, city and sublocation
	  tags mapped

2011-04-19 11:00:24 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add support for reading struct tags
	  Adds a context variable that controls if the parsing is on
	  'top level' tags or inside a struct tag.

2011-04-18 16:54:54 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add struct xmp tag type support
	  Adds support for writing the xmp struct tag type, it is a compound tag
	  that has inner tags.

2011-04-18 23:16:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Fixing schema maps
	  Do not forget to create a new schema for every supported schema
	  instead of reusing the same object

2011-04-18 10:20:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Write the same tag to all schemas
	  Instead of writing only the xmp tag for the first found entry
	  that matches the gstreamer tag, look for all mappings to write
	  the tag to different schemas.
	  The rationale here is that some reader application might only
	  be interested on a particular schema tags, so we should try
	  to write as many tags for all schemas.

2011-05-15 13:39:18 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstaudio.def:
	  win32: Update libgstaudio.def for new symbols

2011-05-14 17:27:30 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  baseaudiosink: Use g_str_equal() instead of strncmp()
	  The strncmp is unnecessary anyway since one of the strings is a const
	  string.

2011-05-14 16:49:53 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: Fix trivial indentation problems

2011-03-07 20:49:16 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudioiec61937.c:
	* gst-libs/gst/audio/gstaudioiec61937.h:
	  audio: Add an IEC 61937 payloading library
	  This can be used by sinks to take compressed formats, correctly payload
	  these in IEC 61937 frames and feed these to sinks that support
	  passthrough output over IEC 60958 (S/PDIF) or, in the case of MP3, over
	  Bluetooth.
	  Initial implementation includes AC3, E-AC3, MPEG-1, MPEG-2 (non-AAC),
	  and DTS (type-I/II/II) payloading. More formats can be added as needed.
	  API: gst_audio_iec61937_frame_size()
	  API: gst_audio_iec61937_payload()
	  https://bugzilla.gnome.org/show_bug.cgi?id=642730

2011-03-09 11:12:39 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  baseaudiosink: Allow subclasses to provide payloaders
	  This allows subclasses to provide a "payload" function to prepare
	  buffers for consumption. The immediate use for this is for sinks that
	  can handle compressed formats - parsers are directly connected to the
	  sink, and for formats such as AC3, DTS, and MPEG, IEC 61937 patyloading
	  might be used.
	  API: GstBaseAudioSinkClass:payload()
	  https://bugzilla.gnome.org/show_bug.cgi?id=642730

2011-04-09 09:49:10 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: Add support for E-AC3
	  Adds support for pushing E-AC3 buffers and doing bytes-to-ms conversion
	  correctly. The assumption (as with other formats) is that something like
	  IEC 61937 payloading will be used. Correspondingly the ringbuffer spec
	  is populated so that the data rate is 4x normal AC3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=642730

2011-03-14 15:51:40 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: Add support for MPEG audio buffers

2011-03-14 15:49:57 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.h:
	  ringbuffer: Add AAC format types
	  These are meant to be used for buffers containing AAC data. Nothing uses
	  this yet, but for now it serves to distinguish from GST_BUFTYPE_MPEG
	  which represents non-AAC MPEG audio.
	  API: GST_BUFTYPE_MPEG2_AAC
	  API: GST_BUFTYPE_MPEG4_AAC

2011-03-09 22:57:00 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: Add support for DTS buffers

2011-05-14 11:42:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require core 0.10.34.1 for the new ghostpad API

2011-05-09 22:20:23 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix preroll for streams at low bitrates
	  For streams at low bitrates we need to set a limit in time because the limit
	  in bytes might not reached too late, sometimes more than 30 seconds.
	  This limit can only be set if upstream is seekable (see #584104)
	  Closes #647769

2011-05-09 13:11:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use new ghostpad/proxypad API to get the internal pad

2011-05-09 12:59:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: Use new ghostpad/proxypad API

2011-05-09 12:50:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin2-compressed.c:
	  playbin2: Disable some compressed stream tests that are racy without a stream-activate event

2011-03-29 19:15:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin2-compressed.c:
	  playbin2: Reset buffer counter in playbin2-compressed tests every time when going to READY

2011-03-25 08:26:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkaudioconvert.c:
	* gst/playback/gstplaysinkaudioconvert.h:
	* gst/playback/gstplaysinkvideoconvert.c:
	* gst/playback/gstplaysinkvideoconvert.h:
	  playsink: Add audio and video converter convenience bins
	  These reconfigure based on the caps and plugin in converters if
	  necessary. This also makes switching between compressed and raw
	  streams work flawlessly without loosing the states of any element
	  somewhere or having running time problems.

2011-03-15 12:51:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2/playsink: Decide if A/V caps are raw only inside playsink
	  Before playbin2 would use different selectors for raw audio and
	  compressed audio (and the same for video) and used different
	  pads from playsink. This made the involved logic much more
	  complex and was not implemented completely in playsink, which
	  made it impossible to support files with a compressed and
	  uncompressed stream that is support by the sink.
	  playbin2 handles raw/non-raw streams the same now and the
	  decision is left to playsink, which now can also handle
	  caps changes from raw to non-raw and the other way around.
	  Fixes bug #632788.

2011-03-15 11:41:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin2-compressed.c:
	  playbin2: Add unit test for compressed stream support in playbin2/playsink

2011-05-09 12:56:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Fix some compilation errors

2011-05-09 11:50:05 +0200  Pontus Oldberg <pontus.oldberg@invector.se>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  alsasrc: Improve timestamp accuracy
	  Fixes bug #635256.

2011-05-06 17:01:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Use new, public ghostpad functions

2011-05-03 11:26:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Use GST_BOILERPLATE

2011-05-14 09:41:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.10.34 ===

2011-05-14 01:00:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.34

2011-05-11 19:12:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/video/gstmetavideo.c:
	* sys/v4l/v4lsrc_calls.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  -base: remove metadata (des)serialize functions

2011-05-10 18:39:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/v4l/gstv4lsrc.c:
	* sys/xvimage/xvimagesink.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/audio-trickplay.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	  -base_port to new query API

2011-05-10 16:44:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	  -base: fix for now request pad API

2011-05-10 15:43:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: use new query method names

2011-05-10 13:35:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gsturidecodebin.c:
	* tests/examples/gio/giosrc-mounting.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  message: don't acces the structure directly

=== release 0.10.33 ===

2011-05-10 09:32:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.33
	  Highlights:
	  - support for 16-bit-per-component video formats
	  - playbin2 fixes and improvements for custom and non-raw sinks
	  - oggmux muxes based on running time now
	  - many other fixes and improvements

2011-05-10 11:54:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	  event: don't access the event structure
	  the event structure is now hidden, so don't access it directly.

2011-05-09 18:53:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst/playback/gststreamsynchronizer.c:
	  qos: _qos_full -> _qos

2011-05-09 18:16:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/videorate/gstvideorate.c:
	  segment: fix for new core API
	  Fix for gst_*_segment_full rename.

2011-05-09 16:42:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: abs_rate is removed from segment structure

2011-05-09 15:41:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: use the right pad

2011-05-09 15:37:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* ext/libvisual/visual.c:
	  visual: use CAPS event to configure caps

2011-05-09 15:37:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	  theora/vorbis: use default pad handler
	  Use the default pad event handler because we are not supposed to pass on CAPS
	  events.

2011-05-09 13:05:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tags.c:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaysink.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/videorate/gstvideorate.c:
	* tests/examples/app/appsink-src.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/examples/snapshot/snapshot.c:
	  -base: don't use buffer caps
	  Port to newest 0.11 core API, remove GST_PAD_CAPS and GST_BUFFER_CAPS.

2011-05-08 13:24:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: fix getcaps function
	  Explicitely get the possible caps in the sinkpad instead of using an old removed
	  function.

2011-05-08 13:09:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: avoid setting caps on buffers
	  We don't need to set caps on buffers anymore, this is now done with a caps
	  event.

2011-05-06 11:31:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: avoid unreffing a NULL object

2011-05-05 18:47:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Update for new GstIterator API

2011-05-05 18:47:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Update for new GstIterator API

2011-05-05 18:38:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamselector.c:
	  streamselector: Return a NULL iterator instead of an empty iterator that returns NULL if there's no otherpad

2011-05-05 18:35:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybasebin.c:
	  playbasebin: Update for new GstIterator API

2011-05-05 18:29:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Fix usage of gst_iterator_fold()

2011-05-05 16:05:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: Update exports

2011-05-05 16:04:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	  icles: Update for new GstIterator API

2011-05-05 16:03:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	  gst: Update for new GstIterator API

2011-05-05 15:30:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  capsfilter-renegotiation: Fix for the removal of the bufferalloc function

2011-05-03 12:57:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Send reconfigure event upstream if the window geometry changes

2011-04-28 10:55:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Add caps with the current window geometry to the top in getcaps

2011-01-17 14:12:06 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: capsfilter-renegotiation: New renegotiation use cases
	  Adds some new tests for renegotiation use cases that would
	  use the new renegotiate event

2011-04-29 14:14:53 +0200  Philippe Normand <pnormand@igalia.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	* tests/check/libs/profile.c:
	  base: presets moved from $HOME/.gstreamer-0.11 to $HOME/.local/share/gstreamer-0.11

2011-05-03 09:49:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac

2011-05-02 11:11:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/theora/gsttheoradec.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/xvimage/xvimagesink.c:
	  plugins: fix for allocation query API change

2011-04-30 17:35:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* po/da.po:
	* po/de.po:
	* po/fr.po:
	* po/uk.po:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.32.4 pre-release

2011-04-30 17:21:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	  gst: update orc-generated disted C backup code to orc 0.4.14

2011-04-29 18:23:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: add bufferpool support to libvisual

2011-04-29 16:52:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: use bufferpool

2011-04-29 13:48:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	* tests/check/elements/videoscale.c:
	  tests: make unit tests compile

2011-04-29 13:28:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/subparse/gstsubparse.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  remove buffer_alloc

2011-04-29 12:10:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: use ALLOCATION query
	  Use the allocation query to get the buffer parameters and potentially a
	  bufferpool from downstream. Use the bufferpool to create buffers.

2011-04-29 12:09:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: implement ALLOCATION query

2011-04-29 11:27:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	  metavideo: add flags and a define for the API

2011-04-28 19:28:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac

2011-04-28 19:20:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	  metavideo: first attempt at video metadata
	  Add a first version of video metadata for buffers that can contain more info
	  about the video such as strides and flags etc.

2011-04-27 12:09:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* po/bg.po:
	* po/nl.po:
	* po/pl.po:
	* po/ru.po:
	* po/sl.po:
	* po/tr.po:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.32.3 pre-release

2011-04-25 11:32:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: fix test

2011-04-25 11:20:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst/videoscale/gstvideoscale.c

2011-04-24 18:45:40 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_image.c:
	  videoscale: Fix off-by-one error in previous commit
	  Fix for 7c0b702e.  It helps to get your j+1's right.

2011-04-24 18:16:20 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_image.c:
	  videoscale: Fix ARGB bilinear scaling
	  Fixes #648548.  Orc generates bad code for
	  gst_videoscale_orc_resample_merge_bilinear_u32, so we'll use the
	  slightly slower two-stage process.  I'd fix Orc, but it's hard to
	  get excited about fixing a feature that I'm planning to deprecate
	  and replace.

2011-04-23 13:42:23 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_image.c:
	  videoscale: hack to fix invalid reads in linear
	  https://bugzilla.gnome.org/show_bug.cgi?id=633837

2011-04-23 12:46:09 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_4tap.c:
	  videoscale: protect 4tap from out-of-bounds reads
	  https://bugzilla.gnome.org/show_bug.cgi?id=633837

2011-04-24 14:03:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From c3cafe1 to 46dfcea

2011-04-23 12:44:50 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: use simpler scaling method for small images
	  https://bugzilla.gnome.org/show_bug.cgi?id=633837

2011-04-14 09:32:19 +0200  Marc Plano-Lesay <marc.planolesay@gmail.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix unused-but-set-variable warnings with gcc 4.6
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-22 13:55:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	  tag: exif: register common tags from tag library
	  Exif uses tags like  image-vertical-ppi or image-horizontal-ppi which are
	  registered in gst_tag_register_musicbrainz_tags(), but neither GstExifReader
	  nor GstExifWriter register them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=648459

2011-04-24 12:16:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: update some FIXMEs for 0.11

2011-04-21 14:11:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: add unit test for basetransform/videoscale negotiation regression
	  Turn Rene's test pipeline into a unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=648220

2011-04-19 16:40:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/v4l/gstv4lelement.c:
	* sys/v4l/gstv4lsrc.c:
	  v4l: use G_DEFINE_TYPE

2011-04-19 14:31:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: GstElement takes ownership of pad templates and it should be called from class_init now, not base_init

2011-04-19 14:21:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2.c:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/cddabasesrc.c:
	* tests/check/libs/mixer.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/xmpwriter.c:
	  tests: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 14:11:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsamixertrack.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosrc.c:
	* ext/gio/gstgiostreamsink.c:
	* ext/gio/gstgiostreamsrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	  ext: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 11:44:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  sys: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 11:36:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Remove filter-length property, it only existed for backward compatibility

2011-04-19 11:35:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	  gst: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 10:54:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  cddabasesrc: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 10:52:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audio: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-19 10:47:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  app: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-18 18:30:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  gstbasertppayload: Use g_once_init_{enter,leave}() in the _get_type() function

2011-04-18 18:29:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  rtp: Use G_DEFINE_TYPE instead of GST_BOILERPLATE

2011-04-18 13:23:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2010-11-25 17:01:53 +0100  Håvard Graff <havard.graff@.eu.tandberg.int>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: make sure to not start if the may_start flag is FALSE
	  Fixes #635784

2011-04-18 11:24:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: If NULL caps are passed to buffer_alloc() do fallback allocation
	  Fixes bug #647857.

2011-04-18 10:19:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/pipelines/oggmux.c:
	  oggmux: Remove bus GSource to prevent a valgrind warning

2011-04-18 09:16:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/pipelines/gio.c:
	  gio: Remove the bus GSource from the main context
	  Prevents a valgrind warning about possibly leaked memory,
	  see bug #647763.

2011-04-17 19:33:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/sdp/Makefile.am:
	  sdp: remove gst_init() for g-i scanner here again as well to avoid problems with -Wl,--as-needed

2011-04-17 17:59:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/fft/Makefile.am:
	  fft: remove gst_init() for g-i scanner again
	  libgstfft doesn't actually use any symbols from libgstreamer, so when
	  compiling with -Wl,--as-needed it won't even link to it, which can
	  cause failures with older versions of g-i that ignore the --pkg
	  arguments.
	  Should fix PPA build failure on Ubuntu Maverick

2011-04-16 16:31:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Always hold the class-global pango mutex when using pango API

2011-04-16 16:23:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttimeoverlay.c:
	  {time,clock}overlay: Hold the class-global pango mutex when changing the pango context

2011-04-16 16:21:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttimeoverlay.c:
	  {clock,time}overlay: Only set the global pango context options once in class_init
	  Instead of doing it over and over again when instantiating a new instance.

2011-04-16 16:18:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  pango: Create a new pango context for every subclass
	  timeoverlay/clockoverlay are setting some global options
	  on the context that shouldn't be used for the generic textoverlay.

2011-04-16 16:03:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  0.10.32.2 pre-release

2011-04-16 15:58:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  gst: update disted orc backup code

2011-04-16 15:50:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update documentation

2011-04-16 15:42:04 +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/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-03-31 17:56:00 +0000  Thibault Saunier <thibault.saunier@collabora.co.uk>

	* Android.mk:
	* configure.ac:
	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: add support for using tremolo on android
	  Tremolo is an ARM-optimised version of xiph's tremor library.

2011-04-16 16:14:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: Update new code for 0.11 buffer API

2011-04-16 16:06:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-04-16 15:56:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/Makefile.am:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gstclockoverlay.h:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	* ext/pango/gsttimeoverlay.c:
	* ext/pango/gsttimeoverlay.h:
	  pango: Create a new base class for all the elements
	  This prevents the ugly hack where the text_sink pad template
	  was only added for textoverlay but not for the subclasses.
	  Also makes this work with the core change that made
	  subclasses inherit the templates of their parent class.

2011-04-15 13:36:39 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggmux: prefer headers from caps to determine stream type
	  Ogg mandates the first header packet must determine a stream's type.
	  However, some streams (such as VP8) do not include such a header
	  when muxed in other containers, and thus do not include this header
	  as a buffer, but only in caps. We thus use headers from caps when
	  available to determine a new stream's type.
	  https://bugzilla.gnome.org/show_bug.cgi?id=647856

2011-04-16 11:00:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  libs: gobject-introspection scanner doesn't need to scan or update plugin info
	  Make sure the scanner doesn't load or introspect or check any plugins,
	  (especially not outside the build directory).

2011-04-16 09:33:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-04-16 09:12:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-04-15 21:09:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: list libs/struct*h files explicitly in Makefile.am
	  Hopefully makes the gentoo buildbot happy again.

2011-04-15 11:11:52 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: avoid foregoing READY_TO_NULL when appropriate

2011-04-14 22:13:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: ensure proper PAUSED_TO_READY cleanup
	  ... since going async to PAUSED might fail, and never making it to PAUSED
	  subsequently skips going down to READY.
	  Fixes #647781.

2011-04-14 12:42:20 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	  Revert "video: Remove the extensive checkings from switch"
	  This reverts commit 500d14c35c656890686574e1c041fb556df17056.

2011-04-14 13:15:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: Unref encoding profiles after usage in the test

2011-04-14 12:55:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: Release pads after setting the state to NULL in the unit test
	  See bug #647756.

2011-04-14 12:23:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Set all elements to NULL and remove them from the bin when removing a source group

2011-04-14 00:26:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* gst-libs/gst/video/video.c:
	  video: Remove the extensive checkings from switch
	  The default case handles them already

2011-04-13 23:17:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: tag: Fix typo

2011-04-13 23:17:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
	  Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION for xmp
	  library.
	  Includes unit tests.

2011-04-13 23:16:02 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
	  Adds mapping for GST_TAG_CAPTURING_EXPOSURE_COMPENSATION for exif
	  library.
	  Includes unit tests.

2011-04-13 23:13:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: Adds GST_TAG_CAPTURING_EXPOSURE_COMPENSATION
	  Adds a new tag for indicating the used exposure compensation
	  level in EV used when capturing an image.
	  API: GST_TAG_CAPTURING_EXPOSURE_COMPENSATION

2011-04-14 00:24:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/encoding/gstcapslist.c:
	* tests/examples/gio/giosrc-mounting.c:
	* tests/examples/playrec/playrec.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  tests: fix unused-but-set-variable warnings with gcc 4.6
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-13 23:57:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: fix unused-but-set-variable warnings with gcc 4.6
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-13 23:19:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: fix unused-but-set-variable warnings with gcc 4.6
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-13 22:59:03 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix unused-but-set-variable warning with gcc 4.6
	  We don't compare the bitrates of consecutive mp3 frames on purpose
	  here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-13 09:10:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  docs: fix typo in video format docs

2011-04-12 12:41:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix uninitialised variable usage and element leak
	  gcc on OSX complains about ret being used uninitialized in
	  this function, and it is right. Don't leak element ref
	  when returning early because newsegment event is not in
	  TIME format.

2011-04-12 12:20:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: do check return values of fcntl() and fstat()
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-09 19:15:23 +0200  Marc Plano-Lesay <marc.planolesay@gmail.com>

	* gst/playback/gstplaybasebin.c:
	* gst/subparse/tmplayerparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/videoscale/vs_image.c:
	  fix unused-but-set-variable warnings with gcc 4.6
	  https://bugzilla.gnome.org/show_bug.cgi?id=647294

2011-04-06 22:57:41 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptranport: ensure valid int result when parsing ranges
	  Specifically, make sure that the return value of strtol is falling in
	  between the range of G_MININT and G_MAXINT.
	  Fixes #646952.

2011-04-06 16:27:54 +0100  Bastien Nocera <hadess@hadess.net>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-profile: fix unused-but-set-variable warnings with gcc 4.6
	  Top-level profiles don't have restrictions, only stream profiles,
	  so no need to serialise that here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=646925

2011-04-11 14:29:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: dist all struct_*.h files for libs ABI test
	  Should fix distcheck on x86_64.

2011-04-11 15:02:38 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: empty caps have no structure to pick

2011-04-11 11:37:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  android/alsa.mk
	  android/app.mk
	  android/app_plugin.mk
	  android/audio.mk
	  android/audioconvert.mk
	  android/decodebin.mk
	  android/decodebin2.mk
	  android/gdp.mk
	  android/interfaces.mk
	  android/netbuffer.mk
	  android/pbutils.mk
	  android/playbin.mk
	  android/queue2.mk
	  android/riff.mk
	  android/rtp.mk
	  android/rtsp.mk
	  android/sdp.mk
	  android/tag.mk
	  android/tcp.mk
	  android/typefindfunctions.mk
	  android/video.mk

2011-04-11 10:06:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	  tag: fix typo in ID3 genres
	  psychadelic -> psychedelic. Spotted by Sébastien Wilmet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=647399

2011-04-11 00:36:35 -0400  Thibault Saunier <thibault.saunier@collabora.co.uk>

	* gst/rawparse/Makefile.am:
	  android: make it ready for androgenizer
	  Remove the android/ top dir
	  Fixe the Makefile.am to be androgenized
	  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-01-27 17:28:51 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* Android.mk:
	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/audioresample.mk:
	* android/audiotestsrc.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/ffmpegcolorspace.mk:
	* android/gdp.mk:
	* android/gst-libs/gst/app/gstapp-marshal.c:
	* android/gst-libs/gst/app/gstapp-marshal.h:
	* android/gst-libs/gst/audio/audio-enumtypes.c:
	* android/gst-libs/gst/audio/audio-enumtypes.h:
	* android/gst-libs/gst/interfaces/interfaces-enumtypes.c:
	* android/gst-libs/gst/interfaces/interfaces-enumtypes.h:
	* android/gst-libs/gst/interfaces/interfaces-marshal.c:
	* android/gst-libs/gst/interfaces/interfaces-marshal.h:
	* android/gst-libs/gst/pbutils/pbutils-enumtypes.c:
	* android/gst-libs/gst/pbutils/pbutils-enumtypes.h:
	* android/gst-libs/gst/rtsp/gstrtsp-enumtypes.c:
	* android/gst-libs/gst/rtsp/gstrtsp-enumtypes.h:
	* android/gst-libs/gst/rtsp/gstrtsp-marshal.c:
	* android/gst-libs/gst/rtsp/gstrtsp-marshal.h:
	* android/gst-libs/gst/video/video-enumtypes.c:
	* android/gst-libs/gst/video/video-enumtypes.h:
	* android/gst/playback/gstplay-marshal.c:
	* android/gst/playback/gstplay-marshal.h:
	* android/gst/tcp/gsttcp-enumtypes.c:
	* android/gst/tcp/gsttcp-enumtypes.h:
	* android/gst/tcp/gsttcp-marshal.c:
	* android/gst/tcp/gsttcp-marshal.h:
	* android/interfaces.mk:
	* android/netbuffer.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	* android/videoscale.mk:
	* android/videotestsrc.mk:
	* ext/ogg/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/ffmpegcolorspace/Makefile.am:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.h:
	* gst/gdp/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* tools/Makefile.am:
	  android: make it ready for androgenizer
	  Remove the android/ top dir
	  Fixe the Makefile.am to be androgenized
	  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-09 02:01:08 +0100  Christian Fredrik Kalager Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add new header file to spec file

2011-04-08 15:10:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtp: Unref events if the parent element disappeared or has no event handler implemented

2011-01-06 18:20:58 +0100  Ole André Vadla Ravnås <oravnas@cisco.com>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtp: fix pad callbacks so they handle when parent goes away
	  1) We need to lock and get a strong ref to the parent, if still there.
	  2) If it has gone away, we need to handle that gracefully.
	  This is necessary in order to safely modify a running pipeline. Has been
	  observed when a streaming thread is doing a buffer_alloc() while an
	  application thread sends an event on a pad further downstream, and from
	  within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing
	  while the streaming thread has its buffer_alloc() in progress.

2011-03-20 08:59:33 +0100  Havard Graff <havard.graff@tandberg.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Make src query MT-safe
	  It is possible that the element might be going down while the event arrives

2011-04-08 15:00:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Unref events if the parent element disappeared

2011-03-21 16:03:16 +0100  Havard Graff <havard.graff@tandberg.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: make upstream queries and events MT-safe

2011-04-07 16:19:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/rtp/gstbasertpdepayload.c

2011-04-07 16:07:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  ximage: don't share the memory
	  We can't share the memory on the buffer with other buffers because the metadata
	  X(v)Image points to it and we don't want it to go away.

2011-04-06 16:25:37 +0100  Bastien Nocera <hadess@hadess.net>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: Remove unused variables
	  https://bugzilla.gnome.org/show_bug.cgi?id=646924

2011-04-07 10:06:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix creation of grayscale caps
	  The endianness was not set correctly before.
	  Fixes bug #646923.

2011-04-06 19:21:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: make the show_frame function prettier

2011-04-06 17:54:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  ximage: more fixes

2011-04-06 16:33:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  ext/theora/gsttheoraenc.c

2011-04-06 16:26:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximage: more fixes

2011-04-06 16:11:02 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* docs/design/part-interlaced-video.txt:
	  docs: Update interlaced video design document
	  The RFF flag is to be reused for buffers in the telecine state to
	  indicate that the buffer contains only unneeded repeated fields that are
	  present in other buffers and as such this buffer can be dropped.

2011-04-06 12:26:47 +0200  benjamin gaignard <benjamin.gaignard@linaro.org>

	* sys/ximage/ximage.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/Makefile.am:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimagesink: use bufferpool
	  Improve bufferpool handling in ximagesink.
	  Implement bufferpool handling on xvimagesink.
	  Based on patches from benjamin gaignard <benjamin.gaignard@linaro.org>

2011-03-25 16:59:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: refactor multipass file writing

2011-02-08 14:02:20 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: minor simplification
	  ... which avoids crashing in the off-chance that structure == NULL.

2011-04-05 18:14:49 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/discoverer.c:
	  tests: add basic unit tests for discoverer

2010-08-24 13:14:33 +0200  Pascal Buhler <pascal.buhler@tandberg.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: Round to next 32bit word, not current 32bit word at end of SDES chunk

2011-04-05 11:32:52 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: don't paint the window black when going to NULL
	  Leave dealing with the appearance of the window when we are not playing to the
	  applications. We anyway want to go to NULL as quickly as possible.
	  Fixes #635800

2011-04-04 16:00:30 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* tests/check/libs/video.c:
	  video: Fix YUV9 and YVU9 again

2011-04-04 23:41:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  tag: fix compiler warning on OSX
	  gstvorbistag.c: In function 'gst_tag_list_from_vorbiscomment_buffer':
	  gstvorbistag.c:371: warning: 'data' may be used uninitialized in this function

2011-04-04 23:23:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/.gitignore:
	  tests: ignore xmpwriter unit test binary

2011-04-04 17:21:45 +0200  Haakon Sporsheim <haakon.sporsheim@gmail.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: use gst/math-compat.h header.
	  https://bugzilla.gnome.org/show_bug.cgi?id=646744

2011-04-04 17:23:53 +0200  Haakon Sporsheim <haakon.sporsheim@gmail.com>

	* gst-libs/gst/tag/xmpwriter.c:
	  tag: Remove constness to silence MS compiler.
	  https://bugzilla.gnome.org/show_bug.cgi?id=646744

2011-04-04 17:23:13 +0200  Haakon Sporsheim <haakon.sporsheim@gmail.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: Explicit cast to GThreadFunc to silence MS compiler.
	  https://bugzilla.gnome.org/show_bug.cgi?id=646744

2011-04-04 15:56:50 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 1ccbe09 to c3cafe1

2011-04-04 11:44:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* tests/check/libs/video.c:
	  fix compilation after merge

2011-04-04 11:31:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  gst-libs/gst/tag/gstvorbistag.c

2011-03-11 10:41:11 +0100  Trond Andersen <trondand@cisco.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: fix invalid read in validation of padding in rtcp packet

2011-02-23 10:55:12 +0100  Stian Johansen <stian.johansen@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: Add src object lock around call to ringbuffer parse caps.
	  A race was observed between query() and setcaps() where the latter would
	  change the ringbuffer spec while the former was performing operations
	  based this data.

2011-01-22 23:09:32 +0100  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: protect against ringbuffer disappearing while in a query
	  Observed a case where the src went to null-state during the query,
	  hence the spec pointer was no longer valid, and
	  gst_util_unit64_scale_int crashed (assertion `denom > 0´failed)
	  Add locking to make sure the ringbuffer can't disappear.

2011-02-08 18:27:43 +0100  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: don't allow aligning behind the read-segment
	  Given a large enough drift-tolerance, one could end up in a situation
	  where one would keep aligning the written buffers behind the current
	  read-segment position. The result for the reader would be complete
	  silence, possible preceded by very choppy audio.
	  By checking the available headroom, one can determine if there is
	  room to do alignment, or if one should resort to a resync instead to get
	  the pointers back on track.
	  Also refactor the alignment-logic out of the render function for cleaner
	  code.

2011-04-01 13:55:26 -0700  David Schleef <ds@schleef.org>

	* gst/encoding/Makefile.am:
	* gst/playback/Makefile.am:
	  Remove setting of plugindir from Makefiles

2011-03-23 23:10:51 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* tests/check/libs/video.c:
	  video: Fix height calculation for YUV9/YVU9

2011-04-01 15:34:30 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix warning building in mac os x

2011-04-01 15:33:42 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: fix comparison is always false due to limited range of data type
	  Perform calculation in a temp var with enough room as there's guarantee that
	  ret will be able to hold the result for example in _blit_AYUV.

2011-04-01 12:52:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Write GST_TAG_IMAGE and GST_TAG_PREVIEW_IMAGE as METADATA_BLOCK_PICTURE
	  This is the official, standardized way of embedding images into
	  vorbiscomments now.

2011-04-01 12:28:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Add support for METADATA_BLOCK_PICTURE tags
	  This is the official, standardized way of embedding pictures
	  inside vorbiscomments now. Parsing code taken from flacparse
	  and slightly changed.
	  Fixes bug #635669.

2011-04-01 12:09:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Use g_base64_decode_inplace()
	  Instead of using the GLib base64 decoding functions manually to
	  do inplace base64 decoding. This makes the code easier to understand.

2011-04-01 11:00:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: Store the segment directly inside the pad
	  Also initialize it always in TIME format. We require TIME segments
	  in oggmux anyway and drop newsegment events in other formats and
	  assume an open-ended segment starting at 0.

2011-04-01 10:57:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Reset the segment on flush-stop events and when going back to READY

2011-03-03 08:45:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Use running time instead of timestamps
	  Theora and vorbis use running time (which is correct) for calculating
	  the granulepos for their ogg packets. Oggmux, however, used
	  timestamps to order the received buffers.
	  This patch makes it use the running time to compare buffer times
	  and also to timestamp pushed buffers.
	  Some bits of the code still use timestamps, but they are only
	  used to calculate durations, so it should be fine.
	  https://bugzilla.gnome.org/show_bug.cgi?id=643775

2011-02-16 16:07:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: Keep track of pad's segments
	  https://bugzilla.gnome.org/show_bug.cgi?id=643775

2011-04-01 10:39:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Add support for xBGR and RGBx
	  Now all RGB variants are supported.

2011-01-17 21:12:18 -0700  Lane Brooks <dirjud@gmail.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Added support for ARGB and other RGB alpha variants

2011-01-11 10:34:33 -0700  Lane Brooks <dirjud@gmail.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: converted AYUV to use 'A OVER B' alpha compositing
	  'A OVER B' compositing is explained at
	  http://en.wikipedia.org/wiki/Alpha_compositing.
	  Previously, overlaying text on a transparent background image left the
	  text overlay also transparent. This pipeline shows such an example:
	  gst-launch videotestsrc pattern=white ! video/x-raw-yuv,format=\(fourcc\)AYUV ! alpha alpha=0.0 ! textoverlay text=Testing auto-resize=False font-desc=60px ! videomixer ! ffmpegcolorspace ! autovideosink
	  With this patch, text is composited "OVER" the background image and
	  thus is visible regardless of the alpha of the background image. The
	  overlay in the above pipeline works after applying this patch.

2011-03-31 18:40:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_x86_64.h:
	* tests/check/libs/xmpwriter.c:
	  fixes for new API

2011-03-31 17:53:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-03-31 17:47:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst/gdp/gstgdppay.c:
	* tests/check/elements/appsink.c:
	  bufferlist: fixes for new API

2011-03-28 22:00:25 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  baseaudiosink: arrange for running clock when rendering eos
	  Commit ba2e500bd992d8ad7db0da923801964964835967 ensured to provide
	  a running clock when EOS had finished rendering.  However,
	  other measures are needed (and were in place before) to ensure a
	  running clock when EOS still needs rendering (i.e. waiting).
	  So, specifically, re-introduce eos_rendering removed in aforementioned commit,
	  this time as a public variable so subclasses can be aware of the situation.
	  Fixes (part of) #645961.
	  API: GstBaseAudioSink:eos_rendering

2011-03-31 12:37:32 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_i386_osx.h:
	  tests: Fixes libsabi for MacOSX/32bit.
	  GStaticRecMutex is 60bytes on macosx/32bit (As opposed to 40).
	  Fixes #644996

2011-03-31 10:38:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_x86_64.h:
	  libsabi: Add structure sizes for x86-64

2011-03-09 11:51:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  libs: make sure gobject-introspection scanner calls gst_init()
	  Cherry-picked from 0.11, since it's the right thing to do (we
	  now silently rely on various _get_type() working without
	  gst_init() having been called).

2011-03-30 20:57:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  libs: replace 0.10 with @GST_MAJORMINOR@ in Makefile.am
	  For easier cherry-picking/merging later.

2011-03-30 20:35:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmp: fix after merge conflict

2011-03-30 20:23:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11-fdo
	  Conflicts:
	  gst-libs/gst/tag/gstxmptag.c

2011-03-30 16:50:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/audiorate/gstaudiorate.c:
	  Fix for latest API changes

2011-03-30 15:47:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst/typefindfunctions.c:
	* tests/files/Makefile.am:
	* tests/files/hls.m3u8:
	  tests: add typefind test for application/x-hls
	  To make sure we don't break detection when we add typefinding
	  for normal m3u8 playlists.

2011-03-30 15:44:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: rename type playlist/m3u8 to application/x-hls
	  We should keep playlist/m3u8 available for normal m3u8 playlists,
	  which we we'll likely support some day. Also, we probably don't
	  want this handled like other playlists, so application/* seems
	  more appropriate in this case, even if it's really just a playlist.

2011-03-30 09:18:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix comment typo and add a link the the HTTP live streaming spec

2011-03-30 09:12:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Use the DataScanCtx for the m3u8 typefinder

2011-02-14 19:05:09 +0100  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add m3u8 playlists

2011-03-21 15:34:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/libs/xmpwriter.c:
	  tagxmpwriter: Add check tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=645167

2011-03-17 15:42:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/xmpwriter.c:
	* gst-libs/gst/tag/xmpwriter.h:
	* win32/common/libgsttag.def:
	  tagxmpwriter: Adds a new GstTagXmpWriter interface
	  The GstTagXmpWriter interface is to be implemented on elements that
	  provide xmp serialization. It allows users to select which
	  xmp schemas should be used on serialization.
	  API: GstTagXmpWriter
	  https://bugzilla.gnome.org/show_bug.cgi?id=645167

2011-03-18 09:28:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tag.h:
	* win32/common/libgsttag.def:
	  tag: xmp: Add function to list the available schemas
	  Adds a function to list the available schemas in our xmp lib
	  https://bugzilla.gnome.org/show_bug.cgi?id=645167

2011-03-29 15:41:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: Requesting a pad again now gives a g_return_val_if_fail()
	  Before the behaviour was undefined and implemented differently by elements,
	  now core checks for this (and other problems) and returns NULL and an assertion.

2011-03-29 11:08:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	  remove deprecated buffer methods

2011-03-28 20:19:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggparse.c:
	  oggparse: fix for _make_writable

2011-03-28 20:13:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11-fdo

2011-03-28 19:23:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	* gst-libs/gst/audio/audio.c:
	* tests/check/pipelines/vorbisenc.c:
	* win32/common/libgstapp.def:
	* win32/common/libgstnetbuffer.def:
	* win32/common/libgstrtp.def:
	* win32/common/libgsttag.def:
	  tests: fix more checks

2011-03-28 18:42:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  tests: fix RTP and RTCP unit tests

2011-03-28 18:22:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/tag.c:
	  test: fic tag check

2011-03-28 18:17:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/profile.c:
	  tests: fix patch names and g_object_unref

2011-03-28 18:01:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/pbutils.c:
	  tests: fix version number checks

2011-03-28 17:58:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netbuffer: fix netbuffer add function

2011-03-28 17:53:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  tests: fix more tests
	  refcounts are always 1 because subbuffers don't ref the original buffer anymore,
	  just the memory.

2011-03-28 17:46:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/gdppay.c:
	* tests/check/elements/subparse.c:
	  tests: fix more unit tests

2011-03-28 17:02:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	  encodebin: fix new profile unref

2011-03-28 16:54:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/pipelines/vorbisenc.c:
	  tests: fix some unit tests

2011-03-28 15:51:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/video.c:
	* tests/check/pipelines/streamheader.c:
	  tests: fix remaining unit tests

2011-03-28 14:12:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/appsink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	* tests/check/elements/ffmpegcolorspace.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/elements/gnomevfssink.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/videoscale.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	* tests/check/gst/typefindfunctions.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/cddabasesrc.c:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/netbuffer.c:
	* tests/check/libs/profile.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/struct_i386.h:
	* tests/check/libs/tag.c:
	* tests/check/pipelines/oggmux.c:
	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	* tests/examples/app/appsrc_ex.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/playbin-text.c:
	  tests: work on porting the unit tests

2011-03-28 10:25:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: improve comment

2011-03-28 10:20:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* tools/gst-discoverer.c:
	  plugins: more porting

2011-03-27 20:15:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraparse.c:
	  theora: port to new memory API

2011-03-27 18:30:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tag.h:
	  plugins: more porting to new memory API

2011-03-27 17:16:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/libvisual/visual.c:
	* sys/v4l/v4lsrc_calls.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  plugins: fix for new memory API

2011-03-27 16:35:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcp.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	  plugins: port some plugins to the new memory API

2011-03-27 13:55:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/gstvideofilter.c:
	  libs: port to new data API

2011-03-26 19:36:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggparse.c:
	  oggparse: fix list iteration code
	  Not that it really matters, but let's fix it before someone
	  notices and makes fun of us.

2011-03-26 12:01:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/.gitignore:
	  tests: ignore new libsabi test binary

2011-03-26 11:59:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggparse.c:
	  oggparse: make sure buffer metadata is writable before setting caps on buffers

2011-03-25 22:14:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 193b717 to 1ccbe09

2011-03-25 19:52:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tags: port to new metadata and memory API

2011-03-25 14:55:52 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From b77e2bf to 193b717

2011-03-25 11:06:35 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/Makefile.am:
	  docs: do xrefs for non installed books too
	  Get the xrefs from the builddir for the books in the same package. This fixes
	  the cross references if one does not have the docs already installed.

2011-02-25 16:46:29 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* docs/design/part-interlaced-video.txt:
	  docs: Add an interlaced video design document

2011-03-25 09:29:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From d8814b6 to b77e2bf

2011-03-25 09:03:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6aaa286 to d8814b6

2011-03-24 18:48:59 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 6aec6b9 to 6aaa286

2011-03-24 14:22:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Update comment about why an audio queue is needed

2011-03-24 14:21:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  Revert "playsink: Only add a queue before the audio sink if visualizations are enabled"
	  This reverts commit df886c0622257bb8635e5bd0fc7fc3da20bfc3be.

2011-03-24 14:03:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Only add a queue before the audio sink if visualizations are enabled
	  The queue is not needed otherwise and will add some delay to track
	  switches.

2011-03-23 12:42:04 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: video: Uncommenting test
	  Pushed a commented test by accident, uncommenting it.

2011-03-23 12:02:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  video: adds missing function to win32 def

2011-03-23 12:02:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Getting component offsets without dimensions is fine if it is not YUV
	  This fixes a regression that an assertion would happen if
	  gst_video_get_component_offset would be called with width or
	  height as 0.
	  Calling it with 0 is fine if the format isn't yuv and this
	  was already being used in some other places of video.c

2011-03-23 11:13:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: video: Add a test for checking rgb caps creation
	  This new test for checking rgb caps creation exposes a regression

2011-03-15 14:45:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Remember automatically created sinks for future reconfigures
	  Also allow reuse of sink elements in error cases.

2011-03-16 15:27:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Check if an already existing sink supports the non-raw format too
	  Before we were assuming that a sink will always support all non-raw formats
	  in a single stream.

2011-03-10 19:04:51 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Check if an element accepts requisite caps before selecting
	  In addition to ensuring that an element we want to select in
	  autoplug-select can enter the READY state, we also now check if it can
	  accept the caps we wish to plug it for. This is handy for sinks that
	  need to perform a probe to figure out whether they can actually handle a
	  given format.

2011-03-16 15:56:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Set sinks to READY before checking if it accept caps
	  Fixes bug #642732.

2011-03-16 15:56:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Always prefer the custom set sink and also set it back to NULL in all cases.

2011-03-17 13:47:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Only consider the audio/video sinks in autoplug_continue for the normal uridecodebin
	  Considering them for the subtitle uridecodebin will add audio/video
	  streams that might be in a file used as subtitle file.

2011-03-22 11:59:40 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add gst_video_format_new_template_caps()

2011-02-24 08:42:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Fix assertion on caps fixation
	  When fixating caps, from_par should always be initialized
	  with a fixed value.
	  In case the fixation is from src to sink pad it was setting
	  the from par (srcpad par) to a fraction range, this patch initializes
	  it to 1/1, based on the assumption that missing PAR is 1/1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=641952

2011-03-22 12:44:49 +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-21 19:22:30 +0100  Fraxinas <andreas.frisch@multimedia-labs.de>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix syntax in Example: Creating a profile
	  https://bugzilla.gnome.org/show_bug.cgi?id=645437

2011-03-21 18:33:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add missing schema creation
	  tiff schema entries were being added to the previous
	  schema (xap) because a new one wasn't being created
	  for it.

2011-03-17 21:50:15 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Off-by-one error when creating RTP header extensions with a two-byte header

2011-03-16 15:38:31 +0200  Mart Raudsepp <mart.raudsepp@collabora.co.uk>

	* ext/pango/gsttextoverlay.h:
	  textoverlay: Clean up alignment docs a bit and remove horiz top alignment enum

2011-02-07 09:13:39 +0200  Mart Raudsepp <leio@gentoo.org>

	* tests/check/Makefile.am:
	  check: Really fix the linking order of libs/tag
	  Follow-up to commit 5f5c52c, which only fixed the CFLAGS order.
	  Fix the linker order as well.

2011-03-16 10:19:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: post proper error message if decodebin2/typefind elements are missing
	  Post better error messages in case typefind/decodebin2 are missing or
	  could not be loaded for some reason (e.g. because they inadvertently
	  got blacklisted).
	  https://bugzilla.gnome.org/show_bug.cgi?id=644892

2011-03-15 19:47:11 +0100  Blaise Gassend <blaise@suitabletech.com>

	* ext/alsa/gstalsamixer.c:
	  alsamixer: Store return values of poll functions in a signed integer
	  Negative return values are used for errors and storing
	  them in an unsigned integer will make it impossible to
	  detect the errors.
	  Fixes bug #644845.

2011-03-15 11:11:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11-fdo

2011-03-14 19:42:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Increase the seen header packets count when seeing a header packet
	  This fixes muxing of Speex content and possibly other formats where the
	  header detection works by counting the packets.
	  Fixes bug #644745.

2011-03-14 18:35:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add depth and endianness to DTS caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=644208

2011-03-14 11:14:04 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: use a class wide mutex to work around pango reentrance issues
	  Pango is not reentrant. Use a class wide mutex to protect pange use in
	  gst_text_overlay_render_pangocairo(). This works reliable in contrast to the
	  hack in my previous commit.
	  Fixes Bug #412678

2011-03-14 11:12:53 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/pango/gsttextoverlay.c:
	  Revert "textoverlay: add a hack to init the pango engine"
	  This reverts commit fee3266056b522cdd34e606b5682553d35eec5a1.

2011-03-14 10:09:35 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin2.c:
	  plaback: trim trailing whitespace

2011-03-14 10:05:34 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: reflow configuring new multiqueue instance
	  Use a single g_object_set to configure the new multiqueue instance. Also don't
	  needlessly set "use-buffering" if it is the default.

2011-03-04 14:52:01 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: drop trailing whitespaces

2011-03-04 14:52:28 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: add a hack to init the pango engine
	  Layout a single char to pre-create all resources.

2011-03-12 17:51:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/gstlibscpp.cc:
	  tests: add libscpp unit test to make sure g++ likes our library headers

2011-03-10 14:22:38 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  tests: encodebin: Add reuse test case
	  Adds a test case to check if encodebin can be reused
	  https://bugzilla.gnome.org/show_bug.cgi?id=644416

2011-03-10 14:38:47 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Tear down old profiles when setting new ones
	  In NULL/READY, we should be able to switch profiles on encodebin,
	  this patch makes it tear down old profiles when new ones are set
	  if in NULL/READY states
	  https://bugzilla.gnome.org/show_bug.cgi?id=644416

2010-10-22 14:01:26 +0200  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: disconnect inactive clients in the select loop too
	  Clients are usually disconnected in the streaming thread if their inactivity
	  is bigger than the timeout. If no new buffers are to be rendered in the sink,
	  these clients will never be disconnected and for that reason it should be
	  handled in the select() loop too.

2010-10-22 14:01:26 +0200  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: disconnect inactive clients in the select loop too
	  Clients are usually disconnected in the streaming thread if their inactivity
	  is bigger than the timeout. If no new buffers are to be rendered in the sink,
	  these clients will never be disconnected and for that reason it should be
	  handled in the select() loop too.

2011-03-09 11:51:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  libs: make sure gobject-introspection scanner calls gst_init()
	  Fixes introspection failures caused by type assertions/warnings.
	  Since we now moved from _get_type() functions to external GType
	  variables in a couple of places, we actually have to call gst_init()
	  to make sure these are set when we use GST_TYPE_FOO.

2011-03-09 11:45:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	  libgstapp: fix backticks in gobject-introspection section of Makefile.am

2010-11-03 14:37:07 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Don't wait for subtitle streams to preroll
	  Subtitle streams being parse can cause the pipeline to wait indefinitely
	  to PREROLL. This makes subtitle streams got to PAUSED even if no data is
	  available. This should not be a cause for concern as we don't expect to
	  get much data for subtitle streams other than language tags from the
	  container.
	  https://bugzilla.gnome.org/show_bug.cgi?id=632291

2011-03-08 17:01:41 +0000  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* sys/v4l/v4lsrc_calls.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagesink.c:
	  meta: update for new API

2011-03-04 18:32:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	  ximagesink: make metadata methods more like core

2011-03-04 17:25:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: use sink preroll lock

2011-03-04 10:21:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: reset the pool

2011-03-03 18:39:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	  ximagesink: implement buffer_alloc from the pool
	  Use the bufferpool for pad_alloc when we are asked for the same caps as the
	  bufferpool.

2011-03-03 16:48:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/Makefile.am:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	  ximage: rewrite the buffer pool in ximagesink
	  Rewrite the pooling in ximagesink to extend from the bufferpool base class in
	  core. Move some code to a comon place and refactor.

2011-03-04 16:21:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11

2011-03-03 19:14:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: start ringbuffer upon going to PLAYING and already EOS
	  ... otherwise we may end up without running clock in PLAYING.
	  Fixes #636886.

2011-03-04 14:39:45 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  playbin2: set several properties in one go
	  g_object_set is a varargs function. Save 7 g_obvject_calls (and the overhead of
	  them) by using it accordingly.

2011-03-02 15:38:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix compiler warning on 32-bit systems
	  Mark 64-bit interger constant as such to avoid warnings such as:
	  gsttypefindfunctions.c:2152: error: integer constant is too large for ‘long’ type

2011-02-28 18:52:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	  configure.ac: export plugin description more platform independent
	  Fixes #642504.

2011-02-28 18:32:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 1de7f6a to 6aec6b9

2011-02-28 12:59:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netbuffer: Implement NetAddress with metadata
	  Make a NetAddress metadata.

2011-02-27 19:42:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  meta: fix for new API

2011-02-26 18:19:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	  ximagesink: experiment with convenience macros

2011-02-25 16:28:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.h:
	  ximage: fix macros

2011-02-25 16:01:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximage: reimplement buffer pooling with metadata
	  Use the buffer metadata to get back to the extra info we can use to optimize the
	  video rendering.

2011-02-25 15:49:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  metadata: implement extra buffer data with metadata
	  Use buffer metadata to attach arbitrary extra data to buffers.

2011-02-24 12:19:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsrc_ex.c:
	  tests: fix some tests now that appbuffer is gone

2011-02-24 12:18:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	  v4l: use buffer private data for extra buffer info
	  Since we can't subclass anymore, use the owber_priv pointer for storing extra
	  info for the buffer.

2011-02-24 11:57:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  X11: port imagesinks to new miniobjects
	  Remove the subbuffer from X11 sinks and use the private pointer to store a
	  single buffer metadata with the extra info.

2011-02-23 15:46:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/subparse/gstssaparse.c:
	  miniobject: fix for changed miniobject

2011-02-23 14:12:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: use GObject as the base class
	  We can't subclass miniobject so use GObject as the base class,

2011-02-23 13:42:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: remove deprecated method

2011-02-23 13:14:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netbuffer: disable GstNetBuffer object
	  There are no more buffer subclasses and this should be implemented with
	  buffermetadata later.

2011-02-23 13:13:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/gstappbuffer.c:
	* gst-libs/gst/app/gstappbuffer.h:
	  app: remove appbuffer
	  There are no more buffer subclasses and the application can use the regular API
	  to make buffers.

2011-02-28 11:47:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' into 0.11
	  Conflicts:
	  configure.ac
	  gst-libs/gst/pbutils/Makefile.am

2011-02-28 10:10:22 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/check/Makefile.am:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_i386.h:
	  tests: add ABI test suite for libs

2011-02-27 09:32:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Only prevent to autoplug the same parser multiple times for the same chain
	  Parsers are the only element class that are not changing the data and
	  could lead to an infinite loop. Other element classes like demuxers,
	  e.g. id3demux, can be used multiple times in a row and sometimes are.

2011-02-26 23:43:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Break the double-factory checking loop immediately if the factory was used already

2011-02-26 23:39:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't use the same element multiple times in the same chain
	  This is going to lead to an infinite loop of this element and can easily
	  happen with parsers that accept their own src caps on the sinkpad.

2011-02-26 23:20:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Improve detection of raw caps in expose-all-streams=false mode
	  Previously we only checked against the raw caps but we should also
	  check against the return value of autoplug-continue. Additionally fix
	  a thread-safety issue with accessing the raw caps.

2011-02-25 19:37:07 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add support for r210

2011-01-03 11:41:56 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  gstvideo: Add GST_VIDEO_BUFFER_PROGRESSIVE flag
	  Maps to GST_BUFFER_FLAG_MEDIA4. The purpose is to explicitly indicate
	  whether a telecined buffer is progressive or not without having to make
	  assumptions based on previous buffers.

2011-02-24 20:59:48 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: Fix double unref in unit test

2011-02-22 14:54:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/playbin2.c:
	  checks: add a simple unit test for the source-setup signal

2011-02-22 12:56:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin2, uridecodebin: add "source-setup" signal
	  Add "source-setup" signal for convenience and discoverability. No need
	  to figure out "notify::source", look up the notify callback signature,
	  then do an g_object_get() to get the source element..
	  https://bugzilla.gnome.org/show_bug.cgi?id=626152

2011-02-24 16:22:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Don't handle GstCollectData as GstObject, use the pad instead

2011-02-24 16:02:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	  encodebin: Fix memory leaks related to request pads
	  Request pads have to be released by the caller and must be
	  unreffed after releasing them.

2011-02-24 15:55:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Return a new reference of the pad for the "request-pad" signal
	  The GObject signal code assumes that the signal handlers return a
	  new reference or copy. Fixes bug #641927.

2011-02-21 20:34:41 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/adder/gstadder.c:
	  adder: Fill in offset_end field of outgoing buffers
	  ... rather than leave it as GST_BUFFER_OFFSET_NONE
	  Fix bug #642942.

2011-02-23 14:31:13 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: release all chains when going to NULL
	  Also fixes #642466.

2011-02-23 14:29:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: undo state change side effect on error way out
	  ... to avoid subsequent cleanup disposing an element not in NULL state.

2011-02-23 10:32:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: avoid crashing on the way out when needed chain missing

2011-02-22 15:26:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: update .def file for new libgstvideo API

2011-02-22 16:41:54 +0200  Stefan Kost <ensonic@users.sf.net>

	* tools/gst-discoverer.c:
	  discoverer: handle desc==NULL
	  It would otherwise be printed as (null) and mess up indentation (no \n).

2011-02-08 12:42:32 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Chain dispose() up to parent class

2011-02-07 13:04:55 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Keep a ref for the async timeout callback
	  This makes sure we maintain a ref on the discoverer object while the
	  async timeout callback is alive to prevent a potential crash if the
	  object is freed while the callback is pending.
	  https://bugzilla.gnome.org/show_bug.cgi?id=641706

2011-02-07 13:57:39 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Use g_signal_connect_object instead of g_signal_connect
	  We want to make sure the discoverer object passed to the various
	  callbacks doesn't become invalid if a callback is pending and the object
	  is free'd in the mean time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=641706

2011-02-10 03:22:42 +1100  Parthasarathi Susarla <partha.susarla@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: detect raw h.263
	  https://bugzilla.gnome.org/show_bug.cgi?id=623846

2011-02-21 15:58:16 +0200  Teemu Katajisto <teemu.katajisto@digia.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils: encoding-target: fix error checking in target file loading
	  https://bugzilla.gnome.org/show_bug.cgi?id=642949

2011-02-21 17:55:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: fix videoscale test by ignoring newly-added 64-bit formats
	  They probably fail because ffmpegcolorspace can't handle those formats.

2011-02-21 18:01:04 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/sdp/Makefile.am:
	  sdp: Fix copy/paste error in inrospection part of Makefile

2011-02-21 18:00:36 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/tag/Makefile.am:
	  tag: Fix copy/paste error in inrospection part of Makefile

2011-02-21 18:00:02 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: Fix copy/paste error in inrospection part of Makefile

2011-02-21 12:40:36 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	  audiorate: add skip-to-first property
	  API: GstAudioRate::skip-to-first

2011-02-21 12:27:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: fix skip-to-first ts setup
	  ... such as avoiding arithmetic mixing counts and ts, although latter
	  would typically be 0 so far.

2011-02-21 12:04:09 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* gst/adder/gstadder.c:
	  Revert "oggmux,adder: Check if collectpads has been freed"
	  This reverts commit 6d150873e8b4c23d694b0351570de323b1576d76.
	  Depends on a core commit that was reverted.

2011-02-20 23:49:54 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	* gst/adder/gstadder.c:
	  oggmux,adder: Check if collectpads has been freed
	  Core now calls release_pad in finalize, which is usually after
	  the collectpads has been unreffed.

2011-02-19 18:50:37 -0800  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_fill_borders.h:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	  videoscale: Add 16-bit-channel support

2011-02-19 16:41:43 -0800  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add 16-bit-per-channel formats

2011-02-19 12:03:17 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add ARGB64 and AYUV64
	  16-bit per channel formats.

2011-02-18 16:26:59 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add gst_video_format_get_component_depth()

2011-02-18 13:27:23 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: each element gets its own instance of GRand, if needed
	  As a result, pipelines that contain multiple instances of audiotestsrc
	  with the 'wave' property set to 'white-noise', 'pink-noise', or
	  'gaussian-noise' will run much faster, since they won't be competing
	  for access to the global, lock-protected instance of GRand.
	  Fixes bug #642720.

2011-02-18 17:26:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If a sink claims to support ANY caps assume that it only supports the usual raw formats
	  This should be changed again in 0.11, if a sink really claims to support ANY
	  caps it should support everything or provide correct caps.

2011-02-17 18:11:10 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Add a audioconverter after the audio resampler.
	  This allows handling non-native-endianness conversion properly.

2011-02-18 14:04:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Use gst_pad_accept_caps() instead of intersecting with the getcaps caps
	  This might be faster and more accurate in some cases to detect if a
	  sink supports a format and autoplugging can be stopped.

2011-02-18 12:06:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Add default handler for autoplug-select
	  uridecodebin proxies this signal and only the first signal handler
	  will ever be called from decodebin2, which is uridecodebin's proxy
	  signal handler.

2011-02-18 12:02:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Return NULL from the default autoplug-sort handler
	  ...instead of copying the array. Returning NULL will result
	  in the original factories array to be used and prevents a useless
	  array copy in most use cases.

2011-02-18 12:01:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Return NULL from the default autoplug-sort handler
	  ...instead of copying the array. Returning NULL will result
	  in the original factories array to be used and prevents a useless
	  array copy in most use cases.

2011-02-18 12:00:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Update autoplug-* signal docs from decodebin2
	  uridecodebin proxies these signals.

2011-02-18 11:58:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Update documentation of the autoplug-* signals
	  Add notes about the behaviour if multiple signal handlers are connected.
	  For most autoplug-* signals only the first signal handler will ever
	  be invoked.
	  Also add to the autoplug-sort docs that the signal handler can return NULL
	  to specify that the order should change and other handlers get the chance
	  to sort the array.

2011-02-18 11:57:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Keep the original factory list if the sort signal handlers returned NULL

2011-02-16 20:14:25 +0900  tskd2@yahoo.co.jp <tskd2@yahoo.co.jp>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: expose "autoplug-sort" signal
	  It is a proxy of the decodebin2's one, and was missing
	  in the previous code.
	  See bug #642433.

2011-02-18 10:57:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Use a recursive mutex for the playbin lock
	  This lock is taken when activating a group, which could result in
	  calling the autoplug-continue callback, which also needs this lock
	  to access the sinks.
	  See bug #642174.

2011-02-18 09:36:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Disconnect signal handlers when removing a failed element
	  This prevents crashes later if one of the signals is emitted after the
	  element was removed from decodebin2 already, which can happen in discoverer.

2011-02-15 19:23:48 -0800  David Schleef <ds@schleef.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix mpeg TS detection

2011-02-04 17:36:40 -0800  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: move debug category init earlier

2011-02-03 22:41:23 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.h:
	  oggparse: better detection of delta unit flag

2011-01-15 18:21:28 -0800  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Set speed level while running

2011-01-13 15:12:53 -0800  Ralph Giles <giles@thaumus.net>

	* ext/theora/gsttheoraenc.c:
	  Set the theoraenc speed-level property from libtheora's defaults.
	  The speed-level property, which allows callers to trade of encoding
	  quality for speed in the libtheora api, has a version-dependent
	  maximum and default values. Instead of hardcoding the acceptable
	  range for the theoraenc element's presentation of this setting,
	  we query the library directly at class initialization time and
	  set the maximum and default values from that. If the query fails,
	  we fall back to the previous default setting.
	  To keep the values reported by gst-inspect (which I'm told use
	  the spec values from the class) with those available on an\
	  instantiated element, we remove to setting of enc->speed_level
	  from the initializer and instead pass G_PARAM_CONSTRUCT to
	  the property spec flags, asking g_object to set this property
	  when theoraenc objects are constructed.
	  NB in theory the maximum speed-level could depend on the actual
	  video caps. If later versions of libtheoraenc do this, a second
	  call will need to be made from theora_enc_reset to update the
	  property, since this function is mostly useful for realtime
	  adjustment of performance while the pipeline is running.

2011-02-16 11:57:31 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't leak parent tags

2011-02-16 11:56:16 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: improve logging (and reindent)
	  Add more logging for the tag merging and use the _OBJECT flavour more.

2011-02-15 17:46:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Optimize autoplug-continue handler a bit
	  Don't build merge the caps of all sinks but check them one-by-one
	  until one supports the caps. Also get reffed caps from the sinkpads
	  instead of a writable copy and add debug output if a sink claims to
	  support ANY caps.

2011-02-15 17:24:28 +0100  Akihiro Tsukada <tskd2@yahoo.co.jp>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix handling of non-raw custom sinks
	  When autoplugging elements in decodebin2, check if
	  the caps are supported by one of the sink before
	  continuing autoplugging.
	  Fixes bug #642174.

2011-02-15 17:01:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't leak elements that fail to go to PAUSED after being autoplugged
	  Fixes bug #642381.

2011-02-13 14:42:14 +0000  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Don't reset the video quality setting the bitrate
	  libtheora has two encoding modes, CBR, where it tries to hit a target
	  bitrate and VBR where it tries to achieve a target quality.
	  Internally if the target bitrate is set to anything other then 0 the
	  encoding-mode is CBR.
	  This means that the gstreamer element can leave the video_quality
	  setting alone as long as the user is tweaking the bitrate. Which has the
	  nice side-effect that if the user explicitely sets the bitrate to 0
	  (which is actually the default), the quality value doesn't get reset and
	  one ends up encoding VBR at quality-level 0...

2011-02-09 12:45:23 +0100  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/gdp/gstgdppay.c:
	  gdppay: ensure buffer's metadata is writable before setting caps

2011-02-14 12:52:59 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f94d739 to 1de7f6a

2011-02-10 23:44:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-plugins-base.doap:
	  doap: update mailing list location

2011-02-08 23:58:56 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Use nominal bitrate if bitrate tag is unavailable
	  If the bitrate tag is unavailable, this falls back to the nominal
	  bitrate tag instead, if that is present.
	  https://bugzilla.gnome.org/show_bug.cgi?id=641860

2011-02-08 12:31:34 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: caps can be NULL
	  Don't use and unref NULL caps.

2011-02-02 16:49:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: also push cached events downstream when operating in pull mode
	  Otherwise, having 2 tagdemux in a row followed by an element operating in
	  pull mode will make the second tagdemux implictly eat the first tagdemux'
	  tag event(s).
	  Fixes (part of) #641047.

2011-01-21 18:10:29 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: ensure serialnos are unique
	  We do that by checking a newly generated one is not already used in
	  an existing stream, and doing it again if it is.
	  https://bugzilla.gnome.org/show_bug.cgi?id=640211

2011-02-02 17:30:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: free stream map caps when done

2011-02-02 17:23:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: keep IN_CAPS flag check for header buffers as fallback
	  In case the ogg mapper doesn't handle all the accepted input formats
	  (although it really should). Saves us error handling for that case
	  though. Also log caps properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=629196

2011-01-21 16:05:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: use oggstream for less brittleness in recognizing headers
	  Using the IN_CAPS flag for this is brittle, and will fail if either
	  vorbisparse or vorbistag (which is itself based on vorbisparse) is
	  inserted between oggdemux and oggmux. Possibly other elements too
	  (eg, theoraparse, etc).
	  Using oggstream ensures we Get It Right More Often Than Not.
	  https://bugzilla.gnome.org/show_bug.cgi?id=629196

2011-02-02 15:33:36 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix copy-and-paste typo in property docs

2011-01-21 10:56:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	  oggmux: do not skip a pageno at start
	  Discontinuities are automatically signalled by oggdemux at the start
	  of a new stream. When oggmux is yet to output actual data pages,
	  do not signal these discontinuities in the ogg stream.
	  This patch may miss some actual discontinuities at the very start of
	  a stream, but avoids the spurious missing pages when encoding happens
	  normally.
	  A better fix might involve finding a way to distinguish between actual
	  data discontinuities and discontinuities merely marking the start of
	  a new stream.
	  Fixes an issue with ogg page numbering (would skip a number for no
	  reason, which then looks like a packet was lost somewhere) when
	  re-muxing an ogg stream, e.g. when re-tagging in rhythmbox.
	  https://bugzilla.gnome.org/show_bug.cgi?id=629196

2011-02-01 15:57:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: clean up property descriptions
	  Remove "This property requires libtheora version >= 1.1" qualifiers
	  from property descriptions. They aren't needed any longer now that
	  we require libtheora >= 1.1.

2010-08-19 22:31:07 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* configure.ac:
	* gst-libs/gst/tag/gstid3tag.c:
	  id3tag: map the ID3v2 TENC frame to GST_TAG_ENCODED_BY
	  https://bugzilla.gnome.org/show_bug.cgi?id=627268

2011-01-29 20:43:08 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/tcp/gsttcpserversink.c:
	  tcp: use socklen_t where appropriate rather than specific type
	  In particular, fixes Cygwin build where socklen_t is defined as int
	  in line with native win32 api definition.

2011-01-29 19:40:23 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: cast argument to isdigit to int
	  ... as that is the specification and fixes compilation on Cygwin:
	  gstxmptaag.c: In function 'read_one_tag':
	  gstxmptag.c:1015: error: array subscript has type 'char'

2011-01-31 18:06:18 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* tests/check/elements/appsink.c:
	  appsink: add buffer fallback in case the application doesn't handle buffer lists
	  We shouldn't assume the application handles buffer lists, for
	  ease-of-use reasons and for backwards compatibility reasons.

2011-01-26 10:32:32 +0800  Cai Yuanqing <Yuanqing.Cai@tieto.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: send new-buffer-list signal
	  Send new-buffer-list signal when emit-signals is TRUE
	  https://bugzilla.gnome.org/show_bug.cgi?id=640607

2011-01-20 16:25:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: also add https to buffer protocols
	  HTTPS also needs buffering.

2011-01-30 15:40:53 +0200  Felipe Contreras <felipe.contreras@nokia.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: trivial cleanups
	  It seems these stuff was neglected from commmit d8942e2.
	  Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>

2011-01-27 15:26:25 +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-27 12:32:35 +0100  Philippe Normand <pnormand@igalia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: register H264 typefinder with H264 caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=640709

2011-01-26 12:16:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: release pending events refs
	  Unref pending events when disposing the streamsplitter.
	  Also refactor a little to replace a for with a g_list_foreach

2011-01-26 15:42:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: don't run encodebin test if vorbis or theora plugins aren't available

2011-01-26 09:07:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for degas images

2011-01-26 09:06:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: use image/x-icon as media type for ICON files
	  That's what we've been using so far (e.g. gdkpixbufdec).

2011-01-18 10:20:29 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/snapshot/snapshot.c:
	  snapshot: use a keyframe seek
	  One would usualy get good quality snapshots quickly. The exact seek position
	  does not really matter.

2011-01-17 23:13:29 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/snapshot/snapshot.c:
	  snapshot: add a newline to the usage and error output

2011-01-25 18:03:23 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: add comment and whitespace trimming

2011-01-12 14:03:12 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for x-annodex

2011-01-25 13:39:25 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add typefinder for DEGAS images
	  This fixes at least one DEGAS image from being misdetected as DTS audio.
	  https://bugzilla.gnome.org/show_bug.cgi?id=625129

2011-01-21 14:56:28 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: cleanup
	  Remove a pointless string concatentation, and fix an off-by-one in
	  packetno in a log.
	  https://bugzilla.gnome.org/show_bug.cgi?id=640189

2011-01-24 11:45:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add detection for windows icon files to get them out of the way
	  Some of them can otherwise be misdetected for MPEG audio.
	  https://bugzilla.gnome.org/show_bug.cgi?id=620364

2011-01-17 15:11:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Remove dead code

2011-01-11 15:10:42 +0800  Yang Xichuan <xichuan.yang@tieto.com>

	* ext/ogg/gstoggparse.c:
	  oggparse: Make gst_ogg_parse_submit_buffer() safe
	  By not passing zero-sized buffers to ogg_sync_buffer()
	  and checking the return values of libogg functions.
	  Fixes bug #639136.

2011-01-11 18:18:34 +0100  Lane Brooks <dirjud@gmail.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Add support for vertical center alignment
	  Fixes bug #639159.

2011-01-24 15:21:10 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Move static variable to local function
	  Variable was being written to and could cause crashes
	  if multiple elements were parsing xmp at the same time.
	  Moving it to local scope solves the problem.

2011-01-24 18:27:30 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for video/x-camstudio

2011-01-24 00:00:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.10.32 ===

2011-01-21 10:50:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.32

2011-01-18 10:45:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.31.4 pre-releases

2011-01-18 10:44:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update docs

2011-01-18 10:40:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	* tests/check/libs/profile.c:
	  encoding-target: change keyfile header to 'GStreamer Encoding Target'
	  which is more in line with other files such as .desktop files.

2011-01-18 01:06:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils: don't assume LC_MESSAGES is always defined, also check for ENABLE_NLS
	  Should fix build with mingw32 build bot again.

2011-01-18 00:09:37 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  app: export gst_app_stream_type_get_type()
	  API: gst_app_stream_type_get_type()
	  API: GST_TYPE_APP_STREAM_TYPE
	  https://bugzilla.gnome.org/show_bug.cgi?id=639747

2011-01-17 23:59:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappbuffer.c:
	  app: make GstAppBuffer get_type() function thread-safe

2011-01-18 01:09:53 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Drop new stream tags once preroll is done
	  This makes sure we do not touch the stream taglist once the pipeline has
	  been prerolled. Adding of stream tags happens in the pad event probe
	  which runs in a different thread from discoverer stream processing, so
	  modifying the tag list while discoverer might be processing it can
	  sometimes cause a crash.
	  https://bugzilla.gnome.org/show_bug.cgi?id=639778

2011-01-17 15:30:08 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Validate timeouts before processing them
	  This avoids a race where the timeout callback is scheduled to run but we
	  get sufficient information to finish discovery before actually getting
	  around to executing the callback. See the documentation of
	  g_source_is_destroyed() for more details.
	  https://bugzilla.gnome.org/show_bug.cgi?id=639730

2011-01-18 00:08:32 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Make sure we call _stop() before being freed
	  This ensures that everything is properly cleaned up before the
	  GstDiscoverer object is freed. Specifically, it makes sure that we've
	  removed the async timeout callback before freeing the object to avoid a
	  potential crash later on.
	  https://bugzilla.gnome.org/show_bug.cgi?id=639755

2011-01-16 14:55:46 -0800  David Schleef <ds@schleef.org>

	* gst/gdp/gstgdppay.c:
	  gdppay: make newsegment buffer metadata writable

2011-01-16 16:46:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils: save localised strings properly when writing encoding targets to a file
	  Use LC_MESSAGES rather than LC_ALL. Save/load description as untranslated string
	  when using an English language locale. Strip locale information to the language,
	  so we don't save keys like description[fr_FR.UTF-8]=...
	  https://bugzilla.gnome.org/show_bug.cgi?id=638860

2011-01-13 13:59:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: set framed=false on DTS caps

2011-01-12 17:51:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	  docs: add some more Since: markers for new encoding-profile API

2011-01-12 15:51:52 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: require gobject-introspection >= 0.9.12
	  Earlier versions don't honour the -L/--library-path option,
	  which we need. See commit 4d0ccdad in gobject-introspection git.
	  Should "fix" build on lucid/maverick build bots.

2011-01-11 19:19:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.31.3 pre-release

2011-01-11 18:59:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/da.po:
	* po/gl.po:
	* po/pt_BR.po:
	  po: update translations

2011-01-11 14:41:53 +0000  Bastien Nocera <hadess@hadess.net>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	  examples: allow building with newer GTK+
	  GtkFunction is gone, and there's no update policies for
	  GtkRanges any more (but the default was continuous anyway,
	  so no need to set it to that mode explicitly).
	  https://bugzilla.gnome.org/show_bug.cgi?id=639215

2011-01-11 14:59:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	  gobject-introspection: pass --library-path as well to make it find the right libgstreamer
	  Makes things work again properly in uninstalled setups (and
	  presumably in installed setups where GStreamer is installed
	  into a non-standard prefix). Requires fixes from core git.
	  https://bugzilla.gnome.org/show_bug.cgi?id=639039

2011-01-11 14:52:51 +0000  Byeong-ryeol Kim <brofkims@gmail.com>

	* gst-libs/gst/pbutils/Makefile.am:
	  gobject-introspection: fix issue when gold linker is used
	  Need to pass libgstreamer-0.10 explicitly to linker, since we're
	  calling gst_init(), which in turn is needed because the encoding
	  target get_type() function calls gst_value_register().
	  https://bugzilla.gnome.org/show_bug.cgi?id=639039

2011-01-11 15:49:54 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From e572c87 to f94d739

2011-01-10 16:35:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ccbaa85 to e572c87

2011-01-10 14:53:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 46445ad to ccbaa85

2011-01-10 15:55:26 +0800  Yang Xichuan <xichuan.yang@tieto.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove outdated comment
	  https://bugzilla.gnome.org/show_bug.cgi?id=639121

2011-01-08 02:16:19 +0000  Koop Mast <kwm@FreeBSD.org>

	* configure.ac:
	  configure: fix bash-ism
	  https://bugzilla.gnome.org/show_bug.cgi?id=638961

2011-01-08 02:10:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gobject-introspection: use same PKG_CONFIG_PATH for g-ir-compiler as for g-ir-scanner
	  Make sure to use the PKG_CONFIG_PATH set at configure time instead of
	  just relying on an env-var set one. This makes sure both g-ir-compiler
	  and g-ir-scanner use the same PKG_CONFIG_PATH for determining include
	  paths etc.

2011-01-08 01:12:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-app.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio.pc.in:
	* pkgconfig/gstreamer-cdda-uninstalled.pc.in:
	* pkgconfig/gstreamer-cdda.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft.pc.in:
	* pkgconfig/gstreamer-floatcast.pc.in:
	* pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	* pkgconfig/gstreamer-interfaces.pc.in:
	* pkgconfig/gstreamer-netbuffer-uninstalled.pc.in:
	* pkgconfig/gstreamer-netbuffer.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	* pkgconfig/gstreamer-video.pc.in:
	  pkg-config: add girdir and typelibdir variables to .pc files
	  We need them when building gir and typelib files for
	  libraries that depend on these, such as gst-rtsp-server
	  for example, in an uninstalled setup.

2011-01-07 12:50:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/video-enumtypes.c:
	  0.10.31.2 pre-release

2011-01-07 13:04:11 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstencodebin.h:
	  encodebin: Add missing-plugin support
	  https://bugzilla.gnome.org/show_bug.cgi?id=638903

2011-01-07 12:51:11 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Extend documentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=638901

2011-01-07 00:43:07 +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, sometimes
	  containing functional code like set_state() calls in them even
	  (looking at you, pipeline/capsfilter-renegotiation). 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-06 23:17:12 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstpbutils.def:
	  win32: udpate pbutils .def file for API change

2011-01-06 23:13:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update docs

2011-01-06 23:13:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/fi.po:
	* po/ru.po:
	  po: update translations

2011-01-06 23:08:34 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: make text property controllable too
	  Because we can, and because it's the most interesting one
	  to control really, after xpos/ypos.

2011-01-06 23:01:20 +0000  Lane Brooks <dirjud@gmail.com>

	* ext/pango/Makefile.am:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: make some properties controllable
	  https://bugzilla.gnome.org/show_bug.cgi?id=638859

2011-01-06 20:37:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/.gitignore:
	  tests: ignore new rtsp test binary

2011-01-05 15:54:15 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: ignore header pages when looking for keyframe
	  This was causing keyframe_granule to be set to 0 for all streams
	  when seeking to the beginning of the stream, i.e., at the
	  beginning of playback.  Fixes #619778.

2010-12-29 15:27:44 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: when the last keyframe position is not known, do not use -1
	  Instead, use either 0 or 1, depending on bitstream version, which give
	  the correct result for streams which aren't cut off at start.
	  This allows that function to not return negative granpos.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638276

2011-01-06 17:57:41 +0000  christian schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update spec file with discoverer and encodebinchanges

2011-01-05 15:53:09 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: Documentation updates
	  Some cosmetic changes and expands on some bits of the documentation to
	  make it more newbie-friendly.

2011-01-06 13:08:53 +0100  Robert Swain <robert.swain@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: Fix behaviour for frame rate cap changes
	  The outgoing buffer timestamp is calculated by scaling an output buffer
	  count by the src pad frame rate caps. If these caps change, we need to
	  reset the count and work from a new base timestamp. The new output
	  buffer timestamp is then the count scaled by the new caps values added
	  onto the base timestamp.

2011-01-06 08:47:04 +0100  Edward Hervey <bilboed@bilboed.com>

	* tools/gst-discoverer.c:
	  tools: Improve pretty-printing of tags
	  Avoids escaping strings for nothing and printing out useless buffer contents.

2011-01-06 08:46:42 +0100  Edward Hervey <bilboed@bilboed.com>

	* tools/gst-discoverer.c:
	  tools: don't leak the GMainLoop

2011-01-06 00:28:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils: config.h include should come before all other includes

2011-01-05 22:02:35 +0100  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	* tests/check/libs/profile.c:
	* tests/examples/encoding/encoding.c:
	  encoding: encoding_profile_get_output_caps => _get_input_caps
	  Makes more sense name-wise

2011-01-05 20:40:39 +0100  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: Add various new symbols

2011-01-05 01:50:34 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-profile: Minor documentation updates

2011-01-03 19:07:45 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Give a better usage example

2011-01-03 18:52:00 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  encoding-target: Fixup loading/saving methods

2011-01-03 18:51:22 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	  encoding-target: more docs cleanups

2011-01-03 16:07:49 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	* tests/check/libs/profile.c:
	  encoding-target: Change target suffix to .gep
	  Along with a bunch of other internal cleanups

2011-01-03 13:21:26 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	  encoding-target: Add more docs regarding categories

2011-01-03 13:20:19 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  encoding-target: Add API for list all categories and targets
	  API: gst_encoding_list_available_categories
	  API: gst_encoding_list_all_targets

2010-12-22 18:18:00 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  encoding-profile: Add convenience method to find a profile
	  API: gst_encoding_profile_find

2010-12-22 18:16:33 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* tests/check/libs/profile.c:
	  encoding-target: Implement save/load feature
	  Fixes #637735

2010-12-22 11:41:41 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  encoding-target: Add method to get a profile by name
	  API: gst_encoding_target_get_profile

2011-01-05 19:30:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Convert to new GstElementClass::request_new_pad_full vmethod

2011-01-05 15:31:09 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/pbutils.h:
	  pbutils: Don't forget to include the encoding headers

2011-01-05 12:02:02 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix uninitialized variables
	  reported by macosx gcc

2010-12-07 14:59:46 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Minor documentation changes

2011-01-02 15:48:47 -0800  David Schleef <ds@schleef.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add stream-format to h264 caps

2011-01-02 17:21:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: default to enable-last-buffer=FALSE for audio sinks
	  There isn't really any good reason to get the last buffer from an
	  audio sink, so don't make the sink keep it around unnecessarily.

2010-12-31 12:14:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst/playback/Makefile.am:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstinputselector.h:
	* gst/playback/gstplay-marshal.list:
	* gst/playback/gstplaybin2.c:
	  playbin2: use input-selector from core instead of internal copy

2010-12-31 01:24:50 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	  tests: add input-selector-test and output-selector-test
	  Moved from gst-plugins-bad into -base, becasue it uses videotestsrc
	  and other elements from -base, so it can't be in core.

2010-11-24 12:22:01 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/output-selector-test.c:
	  output-selector-test: don't hardcode videosinks and use more colorspace conv.
	  Use autovideosink instead of hardcoded sinks. Use an additional colorspace
	  converter between videotestsrc and timeoverlay.

2009-10-27 11:51:05 -0700  Michael Smith <msmith@songbirdnest.com>

	* tests/icles/output-selector-test.c:
	  tests: Remove executable bits from non-executable files.

2009-02-24 16:33:51 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/icles/input-selector-test.c:
	  tests: move examples directory to tests/examples as in every other GStreamer module

2008-06-19 13:18:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests: Use BOILERPLATE macro and update output-selector test to the latest api changes.
	  Original commit message from CVS:
	  * gst/selector/gstoutputselector.c:
	  * tests/icles/output-selector-test.c:
	  Use BOILERPLATE macro and update test to the latest api changes.

2008-02-07 13:48:20 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/icles/output-selector-test.c: Add a fixme comment.
	  Original commit message from CVS:
	  * gst/multifile/gstmultifilesink.c:
	  Add a fixme comment.
	  * gst/selector/gstoutputselector.c:
	  Fix same leak as in input-selector.
	  * tests/icles/output-selector-test.c:
	  Improve the test.

2008-01-29 07:38:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Replace the switch plugin with the selector plugin. Add output-selector as the opposite of input-selector (was switc...
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-bad-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-bad-plugins-sections.txt:
	  * docs/plugins/gst-plugins-bad-plugins.args:
	  * docs/plugins/gst-plugins-bad-plugins.hierarchy:
	  * docs/plugins/gst-plugins-bad-plugins.interfaces:
	  * docs/plugins/gst-plugins-bad-plugins.signals:
	  * docs/plugins/inspect/plugin-metadata.xml:
	  * docs/plugins/inspect/plugin-selector.xml:
	  * docs/plugins/inspect/plugin-soundtouch.xml:
	  * docs/plugins/inspect/plugin-switch.xml:
	  * gst/selector/.cvsignore:
	  * gst/selector/Makefile.am:
	  * gst/selector/gstinputselector.c:
	  * gst/selector/gstinputselector.h:
	  * gst/selector/gstoutputselector.c:
	  * gst/selector/gstoutputselector.h:
	  * gst/selector/gstselector-marshal.list:
	  * gst/selector/gstselector.c:
	  * gst/selector/selector.vcproj:
	  * gst/switch/.cvsignore:
	  * gst/switch/Makefile.am:
	  * gst/switch/gstswitch-marshal.list:
	  * gst/switch/gstswitch.c:
	  * gst/switch/gstswitch.h:
	  * gst/switch/switch.vcproj:
	  * tests/icles/.cvsignore:
	  * tests/icles/Makefile.am:
	  * tests/icles/output-selector-test.c:
	  Replace the switch plugin with the selector plugin. Add output-
	  selector as the opposite of input-selectoo (was switch). Add a test
	  for output-selector. Add docs for the elements. The vcproj needs
	  update. Fixes #500142.

2010-12-30 18:08:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  baseaudiopay: fix timestamps on buffer lists
	  Fix the outgoing timestamps and RTP timestamps on outgoing buffers when using
	  buffer lists.

2010-12-29 22:36:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: assume EBML files without doctype are matroska
	  https://bugzilla.gnome.org/show_bug.cgi?id=638019

2010-12-29 12:53:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: only keep last valid timestamp
	  Fixes #634397

2010-10-13 17:09:13 +0200  Andoni Morales Alastruey <amorales@flumotion.com>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	  multifdsink: add first and last buffer's timestamp to the stats

2010-12-29 11:51:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: fix typo in comment

2010-12-28 17:39:58 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: fix interpretation of Theora granule position
	  The offset part of the granpos is not a sign of the newer encoding.
	  Use the version number instead.
	  This fixes the criticals thrown by theoraparse, and (at last) the
	  remaining part of #553244.

2010-11-25 17:01:04 +0100  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: protect against ringbuffer disappearing while in a query
	  Observed a case where the sink went to null-state during the query,
	  hence the ringbuffer-pointer was NULL, causing a crash.
	  Moving the ringbuffer-check code until after the query, and hold the
	  lock during the check and while using the spec-values. It should not matter
	  to the query wether the ringbuffer is present or not, and it actually
	  gets a time bit more time to get the ringbuffer set up in this case!
	  Fixes #635231

2010-12-28 19:39:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: handle pads that are not added yet
	  Don't try to stream data on pads that are not added yet. This happens while we
	  discover the different streams.

2010-12-28 11:41:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basedepay: fix refcounting issue
	  Make sure that when _make_writable() returns a new buffer, we actually push that
	  one instead of the old one.

2010-12-25 15:22:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: implement tag extraction for Kate streams
	  This will mainly allow Totem to know the language of those streams,
	  so the subtitle selection menu gets properly filled out.
	  https://bugzilla.gnome.org/show_bug.cgi?id=638005

2010-12-26 17:29:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for DVB subtitle caps

2010-12-23 17:18:17 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: set headers on caps
	  This will allow switching from one stream to another without having to send
	  the headers for the new stream again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=637927

2010-12-22 15:29:56 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggstream.c:
	  oggstream: Fix parsing of theora size

2010-12-22 19:06:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't use gst_pad_alloc_buffer()
	  allocate buffers using gst_buffer_new_and_alloc() instead of
	  gst_pad_alloc_buffer_and_set_caps(), as the first one will
	  cause the pad to block, and we don't want that since that will
	  prevent subsequent pads from being fed if a block occurs at
	  start, when all pads must be fed for playback to start.
	  This fixes autoplugging of the tiger element and other things.
	  https://bugzilla.gnome.org/show_bug.cgi?id=637822

2010-12-22 18:12:14 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Also use "Formatter"s for container formats

2010-12-22 18:19:48 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Fix typo

2010-12-22 10:32:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Fix unitialized data warning
	  Fixes a valgrind warning on jifmux tests on -bad caused by
	  unitialized bytes.
	  Fixes #637758

2010-12-22 13:56:12 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: minor fix in error handling.
	  Don't call gst_bin_remove (bin, <invalid pointer>).

2010-12-21 18:51:29 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: More gtk-doc annotations

2010-12-21 10:26:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: delay stream-changed messages
	  https://bugzilla.gnome.org/show_bug.cgi?id=637586

2010-12-21 16:33:50 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-target.c:
	* tests/check/libs/profile.c:
	  encoding-target: Ensure target names and categories are valid

2010-12-21 15:11:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	  depay: update some docs

2010-12-21 15:02:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	  rtpdepayloade: add support for getting events
	  Add support for intercepting sink events in the depayloader by adding a new
	  vmethod.

2010-12-21 13:37:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: keep timestamps when no decoded output
	  Keep track of the timestamps even when we didn't generate decodable output.

2010-12-21 13:19:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: avoid using invalid timestamps

2010-12-21 10:41:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: don't pause for live buffering messages

2010-12-20 18:29:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppay: use RTP base time when invalid timestamps
	  When we have an invalid running-time (because we clipped, for example) use the
	  RTP base time for timestamping instead of generating wrong RTP timestamps.

2010-12-20 18:28:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtppayload: copy applied rate to segment
	  Use set_segment_full to copy all segment values to the segment structure.

2010-12-21 13:09:34 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* tests/check/elements/encodebin.c:
	* tests/check/libs/profile.c:
	  tests: Update container-less profile checks

2010-12-21 13:08:15 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Add guard against profiles without format

2010-12-21 13:07:27 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix usage of non-container profiles

2010-12-17 16:10:53 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/plugins/inspect/plugin-videoscale.xml:
	  docs: Update for videoscale class changes

2010-12-20 17:46:48 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 169462a to 46445ad

2010-12-19 13:41:22 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  gstdiscoverer: Don't leak tags

2010-12-19 13:22:23 +0100  Edward Hervey <bilboed@bilboed.com>

	* tools/gst-discoverer.c:
	  gst-discoverer: show global tags by default

2010-12-19 09:53:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/rtsp.c:
	  rtsp: Fix memory leaks in the gst_rtsp_url_decode_path_components() unit tests

2010-12-18 20:47:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/encoding/Makefile.am:
	  examples: Fix encodebin example CFLAGS and LDFLAGS
	  Previously it would only succeed to link if a new enough
	  libgstpbutils-0.10 was installed in the default library
	  search path.

2010-12-17 14:16:18 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: implement packet duration query for kate streams
	  https://bugzilla.gnome.org/show_bug.cgi?id=637519

2010-12-17 19:06:27 -0600  Rob Clark <rob@ti.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	  fix compile errors on macosx
	  with i686-apple-darwin10-gcc-4.2.1:
	  encoding-profile.h:134: warning: type qualifiers ignored on function return type
	  encoding-profile.c:240: warning: type qualifiers ignored on function return type
	  gstencodebin.c: In function 'next_unused_stream_profile':
	  gstencodebin.c:454: warning: format '%d' expects type 'int', but argument 8 has type 'GType'
	  gstencodebin.c:464: warning: format '%d' expects type 'int', but argument 8 has type 'GType'

2010-12-17 00:49:26 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: corrected buffer duration calculation to account for nonzero initial timestamp
	  Since we calculate timestamps by:
	  timestamp = t0 + (out samples) / (out rate)
	  and durations by:
	  duration = ((out samples) + (processed samples)) / (out rate) - timestamp
	  if t0 is nonzero, this would simplify to
	  duration = t0 + (processed samples) / (out rate).
	  This duration is too large by the amount t0.  We should have done:
	  duration = t0 + ((out samples) + (processed samples)) / (out rate) - timestamp
	  so that
	  duration = (processed samples) / (out rate).

2010-12-16 20:40:33 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.h:
	  audioresample: changed num_gap_samples, num_nongap_samples from guint32 to guint64 so that gaps of greater than or equal to 2^32 samples do not cause integer overflow

2010-12-16 20:38:31 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: push half a history length, instead of a full history length, at end-of-stream so that output segment and input segment have same duration

2010-12-16 20:34:13 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audioresample: renamed count_gap, count_nongap to more descriptive num_gap_samples, num_nongap_samples

2010-12-16 20:32:07 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: replaced void* with gpointer

2010-12-16 20:30:24 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: initial filter transient discarded; unit tests passing

2010-12-16 20:09:58 -0800  Leo Singer <leo.singer@ligo.org>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_wrapper.h:
	  Revert "Revert "audioresample: Add GAP flag support""
	  This reverts commit 35c76b3409dde7f2dcc8232388a47a1b99b661a7.
	  Conflicts:
	  gst/audioresample/gstaudioresample.c
	  gst/audioresample/gstaudioresample.h

2010-12-16 10:26:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  timeoverlay: add missing break
	  https://bugzilla.gnome.org/show_bug.cgi?id=637377

2010-12-16 10:11:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Change classification to Filter/Converter/Video/Scaler

2010-12-15 23:47:29 +0200  Stefan Kost <ensonic@users.sf.net>

	* win32/common/libgstrtsp.def:
	  win32: update the def file with the new rtsp api

2010-12-15 17:51:36 +0100  Andy Wingo <wingo@oblong.com>

	  add gst_rtsp_url_decode_path_components
	  * gst-libs/gst/rtsp/gstrtspurl.h:
	  * gst-libs/gst/rtsp/gstrtspurl.c (gst_rtsp_url_decode_path_components):
	  New public function, returns a strv of uri-decoded path components.
	  * tests/check/Makefile.am:
	  * tests/check/libs/rtsp.c: Add tests.

2010-12-15 16:35:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtp.def:
	  win32: update defs file

2010-12-15 16:30:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: relax arrangement for RTP bufferlists
	  Don't assume there are exactly 2 buffers but allow cases where the header and
	  payload are in 1 buffer or where the payload is in more buffers.

2010-12-15 14:55:34 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 20742ae to 169462a

2010-12-15 12:58:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	  basedepay: add support for buffer lists in the depayloader
	  Add support for buffer lists in the depayloader.

2010-09-13 10:08:47 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/encoding/.gitignore:
	* tests/examples/encoding/Makefile.am:
	* tests/examples/encoding/encoding.c:
	* tests/examples/encoding/gstcapslist.c:
	* tests/examples/encoding/gstcapslist.h:
	  examples: encoding example
	  Along with gstcapslist

2010-08-13 17:36:38 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* gst/encoding/.gitignore:
	* gst/encoding/Makefile.am:
	* gst/encoding/gstencode-marshal.list:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstencodebin.h:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gstsmartencoder.h:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombiner.h:
	* gst/encoding/gststreamsplitter.c:
	* gst/encoding/gststreamsplitter.h:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/encodebin.c:
	  gst: New encoding plugin
	  https://bugzilla.gnome.org/show_bug.cgi?id=627476

2010-08-13 17:27:52 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* docs/design/Makefile.am:
	* docs/design/design-encoding.txt:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/encoding-target.h:
	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/profile.c:
	* win32/common/libgstpbutils.def:
	  pbutils: New Profile library
	  https://bugzilla.gnome.org/show_bug.cgi?id=627476

2010-12-15 12:21:05 +0200  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	  configure: use the -Bsymbolic-functions linker flag if supported
	  This feature turns intra library calls into direct function calls and thus makes
	  them a little faster. The downside is that this causes problems for e.g.
	  LD_PRELOAD based tools. Thus add a configure option to turn it off.

2010-12-14 00:16:13 -0800  David Schleef <ds@schleef.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add check for yuv4mpeg

2010-12-13 18:05:41 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: spell out two more container formats

2010-12-13 16:20:23 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	* win32/common/libgstpbutils.def:
	  discoverer: query seekability
	  Besides the duration we can also query the seekability of a stream. Use the new
	  API in the gst-discoverer tool.
	  API: gst_discoverer_info_get_seekable

2010-12-13 16:23:04 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 011bcc8 to 20742ae

2010-12-13 13:04:40 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  tests: audioresample: adjust unit test to relaxed discont checking

2010-12-13 12:34:58 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/Makefile.am:
	* docs/design/Makefile.am:
	  make: move the design doc also on the Makefile.am level (for dist)

2010-12-13 10:05:00 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: relax discont checking slightly

2010-12-13 09:56:04 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audioresample: provide as much valid output ts and offset as valid input
	  ... by independently tracking time and offset, rather than having no offset
	  leading to no output ts.

2010-12-13 10:41:24 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinders: name "aac" typefinder "audio/aac"
	  This is in sync how we call the others.

2010-12-13 09:58:53 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/design/design-audiosinks.txt:
	  docs: move design doc to design folder

2010-12-11 19:33:33 +0200  Zeeshan Ali (Khattak) <zeeshanak@gnome.org>

	* gst/videotestsrc/generate_sine_table.c:
	  videotestsrc: Add a missing return statement

2010-12-11 17:18:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Deprecate new-decoded-pad and removed-decoded-pad signals
	  They're really the same as pad-added and pad-removed from GstElement
	  and it doesn't make sense to have two signals for the same thing.

2010-12-11 17:14:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Emit "remove-decoded-pad" signal when pads are removed from decodebin2
	  Fixes bug #636198.

2010-12-10 18:57:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: unset flushing flag when starting
	  When we start again after being stopped, clear the flushing flag or else
	  it will always be TRUE.
	  Fixes #636769

2010-12-09 16:57:35 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add/Fix some media descriptions
	  Fixes #623413

2010-12-09 08:40:25 +0100  Gavin Stark <g.stark@realdigitalmedia.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Use gst_caps_can_intersect() instead of gst_caps_intersect()
	  Fixes a memory leak and bug #636827.

2010-12-08 12:55:24 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: improve iso media typefinding
	  ... by also considering compatible brands rather than only aiming at major brand
	  (of which there are a seemingly ever expanding great many).

2010-12-08 12:28:32 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/check/libs/pbutils.c:
	  tests: remove superflous ';' and reindent

2010-12-08 12:09:45 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  docs: fix wrong use of Since: keyword

2010-12-07 20:28:37 +0200  René Stadler <rene.stadler@nokia.com>

	* tests/check/gst/typefindfunctions.c:
	  tests: add AC-3, E-AC-3 typefind tests

2010-12-03 17:33:40 +0200  René Stadler <rene.stadler@nokia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: ignore AC-3 BSIDs 9, 10 and >16
	  These are reserved for future extensions which will not be backwards
	  compatible to E-AC-3.

2010-12-03 16:54:21 +0200  René Stadler <rene.stadler@nokia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: accept consecutive AC-3 frames of different sizes
	  This is perfectly valid and occurs in particular when there are
	  (in)dependent substreams present.

2010-12-03 16:22:32 +0200  René Stadler <rene.stadler@nokia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: remove useless masking in (E-)AC-3 typefinders

2010-12-03 16:14:15 +0200  René Stadler <rene.stadler@nokia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: stop scanning after suggesting E-AC-3 caps

2010-12-03 18:08:58 +0200  René Stadler <rene.stadler@nokia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix E-AC-3 frame size parsing
	  Frame size is given in words; it is already multiplied by two where
	  needed, so the left shift is superfluous. This extra multiplication
	  caused the code to inspect the third packet instead of the second,
	  which would fail for files where the second packet has a size
	  different from the first.

2010-12-07 17:35:14 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Move around the typedefs to make GIR happy
	  Otherwise it will generate they symbols as _GstRTSP* (with the leading
	  underscore).

2010-12-07 11:31:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin.c:
	  use _object_ref_sink() when we can

2010-12-07 11:30:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsadeviceprobe.c:
	  alsaprobe: don't abuse the object class lock
	  don't abuse the class lock but use a new static lock for protecting the probed
	  list of devices.

2010-12-06 20:01:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gsttcp.c:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsink.h:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpclientsrc.h:
	* gst/tcp/gsttcpserversrc.c:
	* gst/tcp/gsttcpserversrc.h:
	  tcp: remove deprecated GDP protocol

2010-12-06 17:09:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  more 0.10 -> 0.11 changes

2010-12-06 16:50:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/gdp.mk:
	* android/interfaces.mk:
	* android/netbuffer.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	  android: update for 0.11

2010-12-06 12:11:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	  configure: start 0.11 branch

2010-12-04 14:48:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  tests: use GLib 2.22 API unconditionally

2010-12-04 14:45:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/mklangtables.c:
	* gst-libs/gst/video/convertframe.c:
	  libs: use GLib 2.22 API unconditionally

2010-12-03 17:41:18 +0100  Benjamin Gaignard <benjamin.gaignard@stericsson.com>

	* Android.mk:
	* android/NOTICE:
	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/gdp.mk:
	* android/gst-libs/gst/app/gstapp-marshal.c:
	* android/gst-libs/gst/app/gstapp-marshal.h:
	* android/gst-libs/gst/audio/audio-enumtypes.c:
	* android/gst-libs/gst/audio/audio-enumtypes.h:
	* android/gst-libs/gst/interfaces/interfaces-enumtypes.c:
	* android/gst-libs/gst/interfaces/interfaces-enumtypes.h:
	* android/gst-libs/gst/interfaces/interfaces-marshal.c:
	* android/gst-libs/gst/interfaces/interfaces-marshal.h:
	* android/gst-libs/gst/pbutils/pbutils-enumtypes.c:
	* android/gst-libs/gst/pbutils/pbutils-enumtypes.h:
	* android/gst-libs/gst/rtsp/gstrtsp-enumtypes.c:
	* android/gst-libs/gst/rtsp/gstrtsp-enumtypes.h:
	* android/gst-libs/gst/rtsp/gstrtsp-marshal.c:
	* android/gst-libs/gst/rtsp/gstrtsp-marshal.h:
	* android/gst-libs/gst/video/video-enumtypes.c:
	* android/gst-libs/gst/video/video-enumtypes.h:
	* android/gst/playback/gstplay-marshal.c:
	* android/gst/playback/gstplay-marshal.h:
	* android/gst/tcp/gsttcp-enumtypes.c:
	* android/gst/tcp/gsttcp-enumtypes.h:
	* android/gst/tcp/gsttcp-marshal.c:
	* android/gst/tcp/gsttcp-marshal.h:
	* android/interfaces.mk:
	* android/netbuffer.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	  Add build system for Android

2010-12-03 15:46:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  defs: add new symbol

2010-10-27 13:49:41 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: additional tag extraction
	  ... supporting theora, flac, speex, celt.
	  Fixes #629349.

2010-10-27 12:08:25 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: use separate tag extraction vfunction

2010-10-27 11:58:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: refactor vorbis comment tag extraction

2010-10-27 11:16:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: plug some oggstream leaks

2010-10-27 10:59:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: streamline tag extraction and prevent some leaks

2010-10-27 10:58:16 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: send stream tags after newsegment and global tags

2010-09-14 23:08:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: perform more (vorbis comment header) tag extractions
	  In particular, move comment header parsing to gstoggstrem.c.
	  Thanks to Felipe Contreras.
	  Fixes #629349 (partially).

2010-10-27 10:20:15 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: document omitted field in _gst_riff_strf_auds
	  (aka WAVEFORMATEX)

2010-10-10 17:15:53 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggstream.c:
	  oggstream: fix incorrect warning on skeleton headers

2010-11-20 19:02:50 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggparse: Set DELTA_UNIT on buffers

2010-12-03 00:01:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/video.c:
	  tests: fix video library unit test and skip non-working YUV9/YVU9 parts for now

2010-12-02 23:49:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: add missing break statement for the GST_VIDEO_FORMAT_RGB8_PALETTED case

2010-11-15 22:02:07 +0200  Evan Broder <evan@ebroder.net>

	* tools/gst-visualise-m.m:
	  gst-visualise: trim unused perl dependency
	  Remove an unused perl module. Fixes #634522.

2010-11-01 23:07:12 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  playbin2: add some logging for failure case

2010-11-01 23:06:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstinputselector.c:
	  inputselector: log times in human readable form

2010-11-01 22:44:16 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstinputselector.c:
	  inputselector: more G_PARAM_STATIC_STRINGS use

2010-11-01 22:42:23 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstinputselector.c:
	  inputselector: move reoccuring logs to LOG and remove a double info
	  Less debug spew in DEBUG category. No need to log pad again if we use
	  GST_LOG_OBJECT(pad,...).

2010-12-02 19:11:37 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/rtsp/Makefile.am:
	  libgstrtsp: Fix typo in .pc to use for GIR

2010-12-02 15:16:25 +0100  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	  docs: Add a whole bunch of symbols that were unused to the proper sections

2010-11-10 11:02:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: only parse TTL for IP4 addresses
	  Only IP4 addresses can have a TTL in the address.

2010-11-10 10:53:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* win32/common/libgstsdp.def:
	  sdp: add method to check for multicast addresses
	  Expose a previously internal method to check for multicast addresses.
	  See #634093

2010-11-03 11:13:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	  pbutils: Take nano version into account in GST_CHECK_PLUGINS_BASE_VERSION()
	  If the nano is > 0 the current version should be handled the same as
	  micro + 1.

2010-11-03 09:51:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add YUV9, YVU9 and IYU1 video formats
	  API: GST_VIDEO_FORMAT_YUV9: planar 4:1:0 YUV
	  API: GST_VIDEO_FORMAT_YVU9: planar 4:1:0 YUV (chroma planes swapped)
	  API: GST_VIDEO_FORMAT_IYU1: packed 4:1:1 YUV (Cr-Y0-Y1-Cb-Y2-Y3)

2010-11-02 11:57:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add 8-bit paletted RGB
	  API: Add GST_VIDEO_FORMAT_RGB8_PALETTED
	  API: Add GST_VIDEO_CAPS_RGB8_PALETTED
	  API: Add gst_video_parse_caps_palette()

2010-10-31 19:17:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  gnomevfssrc: Remove dead assignment

2010-10-31 19:14:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcp.c:
	  tcp: Remove dead assignment

2010-10-31 19:11:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: gen_video_chain() always returns a bin, no need to check for that

2010-10-31 19:08:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: If we get EOS for an unknown stream just do nothing
	  instead of dereferencing NULL pointers. This can happen if the stream
	  was just removed from the streamsynchronizer in a bad time.

2010-10-31 19:06:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: gen_video_deinterlace_chain() always returns a bin, no need to check that

2010-10-31 19:01:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/v4l/v4l_calls.c:
	  v4l: If no video tuner is the requested one don't read unitialized data

2010-10-25 14:13:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Add docs for the new property
	  Including Since markers

2010-10-25 14:11:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Add docs for the new property
	  Including Since markers

2010-10-25 14:09:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Use PROP_ instead of ARG_ for the property enums

2010-10-25 14:09:20 +0100  Andrea Sebastianutti <andreailseba@virgilio.it>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Add read-only properties window-width and window-height

2010-10-25 14:08:43 +0100  Andrea Sebastianutti <andreailseba@virgilio.it>

	* sys/ximage/ximagesink.c:
	  ximagsink: Add read-only properties window-width and window-height

2010-10-17 14:26:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Return correct component width/height for A420

2010-12-02 00:15:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  Bump GLib requirement to >= 2.22
	  See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement

2010-12-02 00:12:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.10.31 ===

2010-11-30 19:25:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.31

2010-11-24 17:34:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: disconnect signal handlers before disposing

2010-11-22 00:54:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  docs: improve decodebin2 docs a little
	  Mention that new pads may be created even after no-more-pads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=634584

2010-11-20 15:45:49 -0800  Evan Nemerson <evan@coeus-group.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Add information on exported packages to GIRs
	  https://bugzilla.gnome.org/show_bug.cgi?id=635392

2010-11-18 04:51:56 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: Minor documentation fix
	  docs: Minor discoverer documentation fix

2010-11-18 00:36:14 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.30.5 pre-release

2010-11-18 00:35:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/bg.po:
	* po/ca.po:
	* po/es.po:
	* po/hu.po:
	* po/sk.po:
	* po/tr.po:
	  po: update translations

2010-11-18 00:33:22 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin.c:
	  decodebin: fix one more pad template ref leak

2010-11-17 10:14:59 +0200  Harri Mähönen <harri.mahonen@gmail.com>

	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  *decodebin*: don't leak pad templates set on ghostpads
	  https://bugzilla.gnome.org/show_bug.cgi?id=635067

2010-11-17 01:01:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  playbin2: disable streamsynchronizer magic for this release
	  Some things aren't quite right yet and cause problems (0-sized buffers
	  with PREROLL flag set cause crashes in elements that don't expect those;
	  getting pipeline back to preroll/playing again when audio/video streams
	  have different lengths and a seek past the end of one of the stream
	  happens doesn't always work, etc.). Needs further investigation in the
	  next cycle.
	  https://bugzilla.gnome.org/show_bug.cgi?id=633700
	  https://bugzilla.gnome.org/show_bug.cgi?id=634699

2010-11-08 09:27:52 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Fix a gtk-doc gobject-introspection annotation
	  gst_discoverer_discover_uri() expects the caller to unref the returned
	  GstDiscovererInfo object. The corresponding gtk-doc annotation was not
	  updated to reflect this.

2010-11-08 09:26:27 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* tools/gst-discoverer.c:
	  discoverer: Fix argument type to _container_info_get_streams()
	  No reason for gst_discoverer_container_info_get_streams() to not take a
	  GstDiscovererContainerInfo as its argument.

2010-11-05 20:47:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: add --with-gtk option and default to Gtk+ 2.0 while the 3.0 API is still in flux
	  https://bugzilla.gnome.org/show_bug.cgi?id=634014

2010-11-03 10:35:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix IYU1 support
	  Fix conversions to IYU1, they allocated infinite amounts of memory before
	  because no conversion to IYU1 was actually implemented and it was running
	  into an infinite loop trying to find suitable intermediate formats.
	  Also fix the stride and sizes used for IYU1.

2010-11-02 12:29:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  tests: fix invalid free and buffer list leak in rtp library unit test

2010-11-02 12:03:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: fix leak in tag library unit test

2010-11-02 12:01:03 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: fix leak when parsing undefined EXIF tag into tag list
	  gst_buffer_set_data() does not set GST_BUFFER_MALLOCDATA, but
	  the code assumes the buffer takes ownership of the memory
	  allocated earlier.

2010-11-02 11:57:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: fix GstDateTime leak when converting exif tag to tag list

2010-11-01 17:00:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.30.4 pre-release

2010-11-01 16:59:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/fr.po:
	* po/ja.po:
	* po/nb.po:
	* po/nl.po:
	* po/pl.po:
	* po/sl.po:
	  po: update translations

2010-10-30 16:07:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: update docs for discoverer API changes as well

2010-10-30 16:03:18 +0100  Matthias Clasen <mclasen@redhat.com>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  examples: update some more code for new Gtk+ API, with fallback for older Gtk+ versions
	  Move code to new Gtk+ 3.x / 2.9x API. We have defines in place
	  already that make this code work fine on older Gtk+ 2.x.
	  https://bugzilla.gnome.org/show_bug.cgi?id=632653

2010-10-28 15:13:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  seek: Define the new combobox API to the old functions if using older GTK
	  https://bugzilla.gnome.org/show_bug.cgi?id=632653

2010-10-30 15:31:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstutils.def:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstutils.dsp:
	  win32: remove unused libgstutils stuff
	  Cruft from before the lib was renamed to pbutils

2010-10-28 18:51:08 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* tools/gst-discoverer.c:
	* win32/common/libgstpbutils.def:
	  discoverer: rename boolean getters for consistency
	  Rename _get_is_image() to _is_image() and _get_interlaced() to _is_interlaced().
	  https://bugzilla.gnome.org/show_bug.cgi?id=633311

2010-10-30 12:24:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: remove padding from now-private GstDiscovererInfo structure

2010-10-30 12:03:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	* tools/.gitignore:
	* tools/Makefile.am:
	  tools: rename gst-discoverer binary to gst-discoverer-0.10
	  We're not providing a wrapper like we do for the tools in core,
	  since wrappers are confusing (e.g. for debugging purposes),
	  mostly pointless (since the API is likely to change between
	  major versions), and cause packaging issues when packages for
	  two different major versions are to be installed in parallel.
	  https://bugzilla.gnome.org/show_bug.cgi?id=633023

2010-10-30 11:41:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tools/gst-discoverer.c:
	  tools: update gst-discoverer tool for last-minute API change
	  https://bugzilla.gnome.org/show_bug.cgi?id=633311

2010-10-29 14:17:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: calculate better timeout value
	  We want to send the keealive message a little earlier than the timeout value
	  specifies. Scale this based on the value of the timeout instead of just assuming
	  5 seconds.

2010-10-29 14:24:54 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't let the rtsp connection timeout
	  Because we should act before the rtsp server does a timeout, we
	  reduce the timeout-time with 5 seconds, this should be safe to always
	  keep te rtsp connection alive.
	  https://bugzilla.gnome.org/show_bug.cgi?id=633455

2010-10-28 15:55:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/videoscale.c:
	  videoscale: Add unit test for working reverse negotiation
	  See bug #633147.

2010-10-29 11:48:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix wrong flowreturn handling
	  Oggdemux will currently try to pad alloc a buffer from the peer when it is
	  reading the header files. This is a relic from the time where we had an internal
	  parser and needs to be removed at some point in time.
	  The problem is that when there is no peer pad yet (which is normal when
	  collecting headers) we should still continue to parse all the packets of a
	  page instead of erroring out on NOT_LINKED.
	  Fixes #632167

2010-10-29 11:47:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: add some more debug statements

2010-10-26 16:41:28 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaysink.c:
	  playsink: Fix subpicture overlay when deinterlacing disabled.
	  Fix a bug when reconfiguring the playsink where the subpicture
	  stream is broken by attempting to connect it through
	  streamsynchroniser and second time.

2010-10-28 17:38:29 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: use const in most of the getters

2010-10-28 03:09:10 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: use specific types in getters
	  Use GstDiscoverer{Audio,Video}Info in getters like
	  gst_discoverer_{audio,video}_info_get_*(). This avoids the casts in the macros,
	  help language bindings and is more correct.

2010-10-28 11:56:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  discoverer: Move documentation to the correct section
	  And don't mention the (not existing) libgstdiscovery.
	  https://bugzilla.gnome.org/show_bug.cgi?id=633336

2010-10-27 13:16:37 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 7bbd708 to 011bcc8

2010-10-24 16:09:26 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Get pad caps if we can't get negotiated caps
	  Better provide something than nothing
	  https://bugzilla.gnome.org/show_bug.cgi?id=632988

2010-10-24 15:38:30 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: Don't ref a NULL caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=632988

2010-09-24 16:02:42 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't add non prerolled stream to topology
	  If a final stream didn't preroll, don't add it to the topology since
	  it doesn't give any information at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=632988

2010-10-24 16:17:09 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Description for RealAudio container format

2010-10-24 15:38:42 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for VP6 alpha and ASS subtitle

2010-10-22 17:44:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.30.3 pre-release

2010-10-20 11:01:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  seek: The new combo box text API is available since 2.23.0 and 2.91.1
	  Only use it conditionally.

2010-10-20 11:01:14 +0200  Matthias Clasen <mclasen@redhat.com>

	* tests/examples/seek/jsseek.c:
	  seek: Don't use deprecated combo box text API
	  Fixes bug #632653.

2010-10-21 12:24:19 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: workaround internal decodebin2 failing state change
	  Fixes #632656.

2010-10-21 13:38:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	  tests: don't use deprecated gtk_widget_hide_all()
	  gtk_widget_hide_all() has been deprecated in gtk+ 2.x and
	  removed in 2.9x master. Just use gtk_widget_hide() instead.

2010-10-21 13:07:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tools/Makefile.am:
	  tools: fix linking problems caused by accidentally linking against installed pbutils/gstvideo libs
	  Fixes build errors in jhbuild:
	  /foo/build/gst-plugins-base/gst-libs/gst/video/.libs/libgstvideo-0.10.so: undefined reference to `gst_element_factory_list_get_elements'
	  ../gst-libs/gst/pbutils/.libs/libgstpbutils-0.10.so: undefined reference to `gst_element_link_pads_full'
	  /foo/build/gst-plugins-base/gst-libs/gst/video/.libs/libgstvideo-0.10.so: undefined reference to `gst_element_factory_list_filter'
	  ../gst-libs/gst/pbutils/.libs/libgstpbutils-0.10.so: undefined reference to `gst_pad_link_full'
	  /foo/build/gst-plugins-base/gst-libs/gst/video/.libs/libgstvideo-0.10.so: undefined reference to `gst_plugin_feature_list_debug'

2010-10-19 00:07:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/pbutils-marshal.list:
	* gst-libs/gst/rtsp/gstrtsp-marshal.list:
	  libs: touch marshal.list files to force rebuild after Makefile.am changes
	  Force regeneration of marshal.[ch] files after prefix changes in
	  Makefile.am, to avoid build errors for those of us who don't
	  habitually make clean first.

2010-10-16 01:08:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/pbutils-enumtypes.h:
	* win32/common/video-enumtypes.c:
	  0.10.30.2 pre-release

2010-10-16 01:07:16 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* 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/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

2010-10-08 17:24:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* tests/check/libs/tag.c:
	  tag: Adds GST_TAG_CAPTURING_SOURCE
	  Adds a tag to indicate the source/device used for the capture.
	  Already maps it in exif and adds tests.
	  API: GST_TAG_CAPTURING_SOURCE
	  https://bugzilla.gnome.org/show_bug.cgi?id=631773

2010-10-08 15:51:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* tests/check/libs/tag.c:
	  tag: Adds GST_TAG_CAPTURING_METERING_MODE
	  Adds a tag to inform what mode was used by a camera to calculate
	  the picture capturing exposure
	  Also adds mapping to exif and tests
	  API: GST_TAG_CAPTURING_METERING_MODE
	  https://bugzilla.gnome.org/show_bug.cgi?id=631773

2010-10-08 15:14:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	* tests/check/libs/tag.c:
	  tag: Adds GST_TAG_CAPTURING_SHARPNESS
	  Adds new tag for tagging sharpness processing used
	  when capturing an image. Also maps it in the exif
	  tags.
	  Tests included.
	  API: GST_TAG_CAPTURING_SHARPNESS
	  https://bugzilla.gnome.org/show_bug.cgi?id=631773

2010-10-15 23:54:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* win32/common/libgstrtsp.def:
	  rtsp: don't export marshaller function
	  Make sure the marshaller function isn't exported. As it was
	  never in a public header file, this should be fine.

2010-10-15 21:22:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: fix distcheck
	  Apparently noinst implies dist.

2010-10-15 11:23:02 -0700  David Schleef <ds@schleef.org>

	* tests/check/Makefile.am:
	  tests: Don't dist generated orc code

2010-10-15 11:22:45 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	  Update generated orc code

2010-10-15 19:18:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/pbutils.h:
	* win32/common/libgstpbutils.def:
	  pbutils: make marshaller private
	  There's no reason to make the marshaller public API. Don't install
	  pbutils-marshal.h header file and use prefix that makes sure the
	  symbol doesn't get exported.

2010-10-15 19:14:49 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: use fewer variables in Makefile.am to make things clearer
	  Also fix typo in DISTCLEANFILES.

2010-10-15 17:59:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump Orc requirement to 0.4.11
	  Has fixes for volume, among other things.

2010-10-15 17:23:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  docs: improve gst_discoverer_new() docs a bit

2010-10-15 16:43:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: private structs need to padding

2010-10-15 11:26:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix stupid copy&paste error in last commit

2010-10-13 22:51:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add support for A420

2010-10-13 20:45:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: API: Add A420 video format
	  This is planar 4:2:0 YUV plus non-subsampled alpha plane.

2010-10-14 12:31:39 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 5a668bf to 7bbd708

2010-10-14 16:36:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix ADTS caps stream-format detail
	  Field should be "stream-format", not "stream-type".

2010-07-08 15:22:08 +0200  Andrzej K. Haczewski <ahaczewski@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: extend AAC typefinder to detect LOAS streams
	  Extend AAC typefinder to recognize LOAS stream as specified by
	  ISO/IEC 14496-3:2009.
	  https://bugzilla.gnome.org/show_bug.cgi?id=623918

2010-10-13 23:26:35 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  *decodebin*: set pad-templates on ghostpads
	  This makes calling gst_pad_get_pad_template() work.

2010-10-12 21:23:03 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: Update with latest datetime from core
	  Updates datetime functions to latest APIs in core

2010-10-13 16:12:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/theora/gsttheoraparse.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/interfaces/mixertrack.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	  various: add a missing G_PARAM_STATIC_STRINGS flag to object properties

2010-10-13 13:05:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	  decodebin2: declare decodebin2 stable, deprecate the old decodebin
	  https://bugzilla.gnome.org/show_bug.cgi?id=624949

2010-10-13 12:55:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	  playbin2: declare stable, deprecate the old playbin
	  https://bugzilla.gnome.org/show_bug.cgi?id=624949

2010-10-12 16:03:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: only keep last valid granulepos
	  Only keep the last valid granulepos we see when scanning the last
	  pages. It is possible that the last page that we inspect has a -1 granulepos, in
	  which case we want to keep the previous valid time instead.
	  Fixes #631703

2010-10-10 15:22:52 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix check for last page

2010-10-10 15:22:04 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: change checks from is_skeleton to is_sparse

2010-10-10 15:17:31 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: move is_sparse into stream map

2010-10-11 18:06:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: vorbis: adds missing lib
	  Adds missing lib to vorbis check tests makefile

2010-10-11 14:30:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Set GST_ELEMENT_IS_SOURCE flag
	  uridecodebin behaves like a source, let's mark it as a source

2010-10-10 00:52:13 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: expose telemetry properties only if libtheora was compiled with --enable-telemetry
	  Since this is just a debugging feature and libtheora will usually not be
	  compiled with that option enabled, we should maybe just hide these properties,
	  since they won't work anyway, and avoid confusing warnings.
	  Also rename properties to make them less cryptic.
	  https://bugzilla.gnome.org/show_bug.cgi?id=628488

2010-10-09 23:49:35 +0100  Alexey Fisher <bug-track@fisher-privat.net>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: add properties to enable debugging telemetry overlay
	  The theora decoder can overlay debugging information on the output
	  video. This functionality is only available if libtheora has been
	  compiled with --enable-telemetry. For more details see:
	  http://people.xiph.org/~xiphmont/demo/theora/demo2.html
	  Based on original patch by Michael Smith <msmith at xiph org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=628488

2010-10-10 18:35:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Make sure that the caps for upstream negotiation are simple caps
	  Fixes bug #631774.

2010-10-09 14:17:57 +0100  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  examples: g_mapped_file_unref exists already since GLib 2.21.3

2010-10-07 19:32:56 +0200  Guillaume Emont <gemont@igalia.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix seeking with negative rate with skeleton
	  Files with a skeleton, or other files with a stream that ends before the end of
	  the chain would start playing from the end of the chain when trying to seek with
	  a negative rate at a position between the end of any stream and the end of the
	  chain.
	  This is due to the loop in _do_seek() assuming that pages will be encountered
	  for all streams shortly after the place where we want to seek, as found by
	  do_binary_search().
	  In the first iteration of the loop, stream ends are now checked against the
	  time of the current page.

2010-10-07 18:53:35 +0100  Zaheer Abbas Merali <zaheerabbas@merali.org>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: gdp protocol is deprecated. People should use gdppay instead.

2010-10-08 12:43:28 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From c4a8adc to 5a668bf

2010-09-28 12:17:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: rename gstdiscoverer-private.h to pbutils-private.h

2010-09-28 12:15:22 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/gstdiscoverer-private.h:
	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: Use copy_and_clean_caps for description methods
	  This allows the various _get_*_description() methods to be more
	  forgiving with the provided caps.

2010-10-08 12:51:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5e3c9bf to c4a8adc

2010-10-08 11:23:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: make public _get_type() functions thread-safe

2010-10-08 10:29:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtspurl: minor clean-up
	  Merge and const-ify two arrays that should be one.

2010-10-08 10:06:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsp: fix enum value name in enums that are public API
	  https://bugzilla.gnome.org/show_bug.cgi?id=629746

2010-10-08 09:48:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audio: make public get_type() functions thread-safe

2010-10-08 09:45:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audio: fix enum value name in enums that are public API
	  So run-time bindings can introspect the names correctly (we abuse this
	  field as description field only in elements, not for public API
	  (where the description belongs into the gtk-doc chunk).
	  https://bugzilla.gnome.org/show_bug.cgi?id=629746

2010-10-08 12:30:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	  volume: Regenerate generated orc C code again with an orc fix for loading double parameters

2010-10-08 11:50:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  volume: Update generated orc sources

2010-10-08 11:49:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Fix unit test failure for the controlled processing functions
	  Going over integer arithmetic will lead to minimal rounding errors,
	  leading to +/-1 changes for volume==1.0. Implement the controlled
	  processing with floating point arithmetic, which was already done
	  for the C versions anyway.

2010-10-08 09:10:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require orc 0.4.10

2010-10-07 23:54:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: Update generated orc files

2010-10-07 23:54:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc.orc:
	  volume: Update for orc changes
	  double parameters are declared with .doubleparam now.

2010-10-03 11:21:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  volume: Update generated orc sources

2010-10-03 12:00:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc.orc:
	  volume: Fix controlled processing via orc

2010-10-03 11:24:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Actually enable usage of the orc optimized functions

2010-10-03 11:20:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Implement int32 processing with orc

2010-10-01 12:21:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Implement controlled processing for int16/1-2ch and int8/1,2,4ch with orc

2010-10-01 11:13:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Implement controlled processing for f64/1ch and f32/1-2ch in orc

2010-10-01 11:00:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Convert parts of the controlled processing to orc

2010-10-01 10:44:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Implement f64 scaling with orc
	  This requires orc 0.4.10

2010-10-01 10:38:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: Implement remaining conversion functions from/to doubles to orc
	  This requires orc 0.4.10

2010-10-07 20:54:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: use g_object_notify_by_pspec() if possible
	  Use g_object_notify_by_pspec() when building against GLib >= 2.26.
	  This avoids the pspec lookup which takes the global paramspec pool lock.

2010-10-07 20:37:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: use g_object_notify_by_pspec() if possible
	  Use g_object_notify_by_pspec() when building against GLib >= 2.26.
	  This avoids the pspec lookup which takes the global paramspec pool lock.

2010-10-04 10:01:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Do not advance segment starts beyond stop times
	  Advance stop times too when they are getting higher than the
	  stop time of segments, avoiding assertions.
	  The stop time has to be advanced too so that running time keep in sync
	  for gapless mode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=631312

2010-10-07 10:34:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/rawparse/Makefile.am:
	  audioparse: Add support for setting the channel-positions

2010-10-06 16:19:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  tests: rtp: No need to unref buffer from bufferlist
	  Buffers obtained from buffer list iterators don't need to
	  be unreffed.
	  Test was failing due to this.

2010-10-04 11:22:45 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: reverse playback; decode pending buffers upon EOS

2010-10-05 19:15:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: use math-compat.h here as well
	  Hopefully the powers that be don't mind the gst/glib include here
	  too much.

2010-10-05 19:13:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: include new math-compat.h header for rint() on MSVC
	  Should fix compilation with Visual Studio 2008.
	  https://bugzilla.gnome.org/show_bug.cgi?id=630802

2010-10-05 17:19:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtp.def:
	  win32: update def file with new RTP methods

2010-10-05 17:13:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  check: fix rtp checks
	  Fix the checks for the extension support in RTP.

2010-10-05 16:36:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: fix position reporting

2010-08-26 12:34:11 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtcpbuffer: Add function to manipulation the data in RTCP feedback packets
	  Add methods to get/set the length of the Feedback Control Information (FCI) as
	  well as getting a pointer to the FCI itself.

2010-08-23 16:41:44 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  tests: Test the manipulations of bufferlists containing RFC 5285 header extensions

2010-08-23 14:24:21 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add function to transform a GstBuffer into a GstBufferList
	  Add a new function called gst_rtp_buffer_list_from_buffer() that takes
	  a GstBuffer containing a RTP packets and spits out a GstBufferList
	  containing two buffers, one with the header and the other with the payload.

2010-08-22 19:44:38 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add functions to add RFC 5285 header extensions to GstBufferLists
	  Add functions to add header extensions to buffer lists, these functions only modify
	  the header part of the buffer lists, so the data is not copied.

2010-08-22 17:22:21 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add function to read RFC 5285 header extensions from GstBufferLists

2010-08-20 15:30:08 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* tests/check/libs/rtp.c:
	  tests: Add test for RTP header extension functions

2010-08-20 17:13:06 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add function to add RTP header extensions with a two bytes header

2010-08-20 12:54:38 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add function to append RFC 5285 one byte header extensions

2010-08-19 16:26:18 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add function to parse RFC 5285 header extensions
	  RFC 5285 describes a generic method to add multiple header extensions to RTP packets.
	  These functions parse these headers and return them, both for the one-byte header and the
	  two bytes headers.

2010-10-05 12:05:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  libvisual: only drop frames that are really too old
	  Also take the frame duration into account so that we don't drop frames that are
	  partially past the estimated QoS time.

2010-10-05 12:01:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  libvisual: add latency query
	  Add our own latency to the latency query reply from upstream.

2010-10-05 12:00:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  libvisual: add some defines
	  Add some defines for width/height/fps and a define for the minimum amount of
	  samples we need to buffer.

2010-10-04 15:48:51 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: The 'ready' signal was renamed to 'finished'

2010-10-04 17:27:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraparse.c:
	  parse: Don't error on discont
	  We don't need to error out when we detect a discontinuity.

2010-10-04 17:08:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraparse.c:
	  theoraparse: set caps on streamheader too

2010-10-04 13:07:14 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	  build: Fix include path order for gir generation
	  This makes sure that the built girs are picked up over installed girs
	  where this is currently the case.

2010-10-01 14:52:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec utils: populate mpeg4 caps "level" field with level, not profile
	  Call the right function to get the level. Also add some more debug
	  logging.

2010-10-01 10:47:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  volume: Update generated orc files

2010-10-01 10:42:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  volume: Improve f32 scaling by using only a single array
	  Passing the same array as dest and src is invalid anyway because
	  they're maked with the restrict qualifier.

2010-09-30 15:19:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: include config.h in codec utils

2010-09-30 00:19:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	  docs: add new codec utils API to docs

2010-05-01 01:03:18 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  pbutils: Add MPEG-4 Video profile/level extraction
	  This adds code to translate the profile_and_level indication from the
	  MPEG-4 video (ISO/IEC 14496-2) headers to a string profile/level. The
	  mappings are taken from the spec and Wireshark's code, and might need to
	  be expanded on.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617314
	  API: gst_codec_utils_mpeg4video_get_profile()
	  API: gst_codec_utils_mpeg4video_get_level()
	  API: gst_codec_utils_mpeg4video_caps_set_level_and_profile()

2010-04-30 20:50:09 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	  pbutils: add H.264 profile/level extraction functions to codec utils
	  This adds code to parse the first few bytes of H.264 sequence parameter
	  set in order to extract the profile and level as const strings. This
	  code was originally in both qtdemux and matroskademux.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617314
	  API: gst_codec_utils_h264_get_level()
	  API: gst_codec_utils_h264_get_profile()
	  API: gst_codec_utils_h264_caps_set_level_and_profile()

2010-04-30 15:12:04 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* gst/typefind/gsttypefindfunctions.c:
	* win32/common/libgstpbutils.def:
	  pbutils: add AAC profile detection to codec utils
	  This moves AAC profile detection to pbutils, and uses this in
	  typefindfunctions. This will also be used in qtdemux.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617314
	  API: gst_codec_utils_aac_get_profile()
	  API: codec_utils_aac_caps_set_level_and_profile()

2010-04-30 13:41:17 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* gst-libs/gst/pbutils/pbutils.h:
	* gst/typefind/Makefile.am:
	* gst/typefind/gstaacutil.c:
	* gst/typefind/gsttypefindfunctions.c:
	* win32/common/libgstpbutils.def:
	  pbutils: add codec-specific utility functions for AAC
	  This allows us to add generic codec-specific functionality, like
	  extracting profile/level data from headers, without having to duplicate
	  code across demuxers and typefindfunctions.
	  As a starting point, this moves over AAC level extraction code from
	  typefindfunctions, so it can be reused in qtdemux, etc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617314
	  API: gst_codec_utils_aac_get_sample_rate_from_index()
	  API: gst_codec_utils_aac_get_level()

2010-09-30 13:12:30 +0300  René Stadler <rene.stadler@nokia.com>

	* gst-libs/gst/tag/tags.c:
	  tags: fix unused function warning with debug disabled

2010-09-30 12:59:46 +0300  René Stadler <rene.stadler@nokia.com>

	* gst-libs/gst/tag/tags.c:
	  tags: fix illegal use of internal debug category function
	  From gstinfo.h:
	  /* do not use this function, use the GST_DEBUG_CATEGORY_INIT macro */
	  GstDebugCategory *_gst_debug_category_new (const gchar * name,
	  And more importantly:
	  #pragma GCC poison _gst_debug_category_new
	  So this commit fixes --disable-gst-debug builds.

2010-09-29 18:57:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* tools/gst-discoverer.c:
	  gst-discoverer: Print out topology if available.
	  If we have some unhandled streams, we can still print out the remaining
	  topology.

2010-09-29 18:54:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't post async-done when not needed
	  Where it was previously located, we would get async-done for the first
	  unknown-type, even if other valid streams would appear afterwards.
	  decode_bin_expose() will take care of posting async-done when the group
	  is exposed.
	  But we still want to post it in case the typefinding returned an unknown
	  type, in which case we will post it after posting an error.
	  These two changes ensure we do as much as possible before posting async-done.

2010-09-29 16:53:21 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basertpdepay: ensure metadata is writable

2010-09-29 13:29:20 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add descriptions for more codecs

2010-09-29 12:33:44 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/examples/seek/seek.c:
	  seek: Fix debug statement argument type

2010-09-28 09:30:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/Makefile.am:
	* tools/Makefile.am:
	  More makefile Fixes
	  Removing some not needed lines added in the last makefile
	  fixes commit (previous commit).
	  Also adds some more makefile files to check tests

2010-06-17 14:32:22 +0300  René Stadler <rene.stadler@nokia.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: allow render rectangle coordinates to be negative
	  Useful for cropped zooming.

2010-06-17 14:33:44 +0300  René Stadler <rene.stadler@nokia.com>

	* gst-libs/gst/interfaces/xoverlay.c:
	  xoverlay: allow render rectangle coordinates to be negative
	  This is useful for cropped zooming of the overlay.

2010-09-28 15:15:57 +0300  René Stadler <rene.stadler@nokia.com>

	* gst-libs/gst/interfaces/xoverlay.c:
	  xoverlay: fix endless loop in deprecated method

2010-09-28 08:46:25 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/examples/app/Makefile.am:
	* tools/Makefile.am:
	  Fixing Makefiles
	  Adds some missing lines to makefiles

2010-09-27 18:14:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/tags.c:
	  tags: add debug category for tags utility functions

2010-09-27 14:36:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/tags.c:
	  tags: try ISO-8859-1 as second fallback in case WINDOWS-1252 is not supported
	  Better safe than sorry. Some embedded systems may use crippled iconv
	  implementations or not support WINDOWS-1252 for other reasons.
	  https://bugzilla.gnome.org/show_bug.cgi?id=630471

2010-09-23 23:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@nokia.com>

	* gst-libs/gst/tag/tags.c:
	  tags: when converting freeform strings try Windows-1252 as fallback instead of ISO-8859-1
	  Windows-1252 is a superset of ISO-8859-1, which uses some space
	  allocated to control characters for additional printable characters.
	  https://bugzilla.gnome.org/show_bug.cgi?id=630471

2010-09-24 21:30:20 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: ptalarbvorm speed level goes to 3

2010-09-24 16:31:37 +0200  Vladimir <wl2776 at gmail.com>

	* tests/examples/seek/seek.c:
	  seek: Add #define for seekbar granularity
	  Fixes #630496

2010-09-24 14:03:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/gstrtsp-enumtypes.h:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/interfaces-enumtypes.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/pbutils-enumtypes.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  win32: define GST_PACKAGE_RELEASE_DATETIME in win32 config.h as well
	  Also update enums.

2010-09-24 00:25:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/.gitignore:
	  .gitignore: ignore new appsrc unit test

2010-09-24 13:09:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: add Since markers
	  Fixes #630443

2010-07-30 13:54:42 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* win32/common/libgstaudio.def:
	  baseaudiosink: Added getter and setter for drift tolerance.

2010-09-24 12:54:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: subtract the render_delay from our latency
	  The latency reported by the base class includes the render_delay, which we don't
	  want to include when we start slaving our clocks.
	  See #630441

2010-09-23 23:57:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: Use G_DEFINE_ABSTRACT_TYPE instead of manual GObject boilerplate code
	  This also makes the _get_type() function threadsafe.
	  Fixes bug #630440.

2010-09-23 10:16:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tags: exif: Add mapping for _HORIZONTAL_ERROR
	  Maps GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR to the
	  GPSHPositionError tag in exif.
	  Tests included.

2010-09-22 14:10:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/Makefile.am:
	* tests/check/elements/appsrc.c:
	  appsrc: Do not override buffer caps if appsrc caps is null
	  Make appsrc not set caps on buffers when its own caps is NULL.
	  This avoids calling make_metadata_writable on all buffers and
	  prevents losing buffer caps in case we are not replacing it
	  with something meaningful.
	  https://bugzilla.gnome.org/show_bug.cgi?id=630353

2010-09-21 18:57:42 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theoraenc: Make the bitrate/quality dynamically modifiable
	  https://bugzilla.gnome.org/show_bug.cgi?id=630303

2010-09-22 12:35:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* tools/gst-discoverer.c:
	  discoverer: Fixup DiscovererResult handling
	  This was a leftover from the changes from a flag to an enum

2010-09-22 12:10:24 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: We don't need the signals from the queues

2010-09-22 01:50:21 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/Makefile.am:
	  gst-libs: build pbutils after video
	  Because pbutils now depends on video.

2010-09-21 18:33:36 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From aa0d1d0 to 5e3c9bf

2010-09-20 21:04:48 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: fix docs
	  While the doc parser allows for certain variation, it is a good idea to not
	  use random characters here and there, but try to stick to the little markup
	  syntax there is.

2010-09-20 16:45:32 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Fix debug statement.
	  Fixes build on macosx

2010-09-20 16:28:52 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/volume/gstvolumeorc-dist.c:
	  volume: orc fixup for loading float arguments
	  This is only used with DISABLE_ORC.

2010-09-20 11:24:10 +0200  Edward Hervey <bilboed@bilboed.com>

	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-discoverer.c:
	  tools: Standalone tool for discovering media file properties
	  Fixes #625944

2010-09-20 11:23:36 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstpbutils.def:
	  win32: Update with symbols from GstDiscoverer
	  Fixes #625944

2010-09-20 11:23:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	  docs: Documentation for new pbutils GstDiscoverer
	  Fixes #625944

2010-09-20 11:22:32 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/pbutils/.gitignore:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstdiscoverer-private.h:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-marshal.list:
	* gst-libs/gst/pbutils/pbutils.h:
	  pbutils: New Discoverer utility
	  Fixes #625944

2010-09-20 11:13:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add mp3 to the apetag extensions

2010-09-18 13:15:08 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix regression in ball pattern
	  Was painting using two different methods.

2010-09-17 11:46:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Fix ACCEPTABLE_CHAR() macro to work with signed and unsigned chars

2010-09-17 11:44:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  Revert "sdp: Remove useless check in macro"
	  This reverts commit e6a041b69fd21c42651d98cf8a3064e43cecc51c.
	  It's not a useless check, the signedness of "char" and "gchar" is
	  defined by the ABI.

2010-09-17 10:43:04 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Remove useless check in macro
	  A signed char is always < 128. Fixes a warning on macosx build.

2010-09-16 18:03:23 -0700  David Schleef <ds@schleef.org>

	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  orc: update generated files to fix MSVC compile issues

2010-09-16 17:56:31 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscaleorc.orc:
	  videoscale: Don't use broken orc feature

2010-09-16 19:30:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/xoverlay.c:
	  xoverlay: G_GUINTPTR_FORMAT is since 2.22
	  Don't rely on too new symbols, we only depend on 2.20.

2010-09-16 15:01:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/playrec/.gitignore:
	* tests/examples/playrec/Makefile.am:
	* tests/examples/playrec/playrec.c:
	  examples: add synchronized playback and capture example
	  Add an example that demonstrates synchronized playback and capture.

2010-09-16 17:15:32 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Fix indentation

2010-09-16 17:14:20 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add bar pattern
	  Simple bar with foreground color on the background color

2010-09-16 15:07:15 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* tests/check/elements/videotestsrc.c:
	  tests: use gst-check API in videotestsrc
	  use gst_check_drop_buffers in videotestsrc to
	  clear the global buffers list.

2010-09-16 14:55:55 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* tests/check/elements/videotestsrc.c:
	  tests: Fix unit test of videotestsrc
	  Use UYVY for unit tests, it's exactly the same as Y422.
	  (which is currently disabled in videotestsrc)

2010-09-15 15:13:15 +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/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/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 for new strings

2010-09-15 15:12:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  docs: add Since: comment to docs for new GST_VIDEO_FORMAT_UYVP

2010-09-14 11:20:42 -0400  Tristan Matthews <le.businessman@gmail.com>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  gnomevfsrc: set GST_PARAM_MUTABLE_READY flag on the "handle" property
	  Fixes #629672

2010-09-15 15:19:04 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix segfault on negative horizontal-speed

2010-09-15 14:15:13 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Actually dispose the unused ghostpads

2010-09-15 11:28:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_wrapper.h:
	  Revert "audioresample: Add GAP flag support"
	  This reverts commit 129af0d8e6a74e8edef3e77c3626616b674b7cc1.
	  This shouldn't be committed at all, it isn't ready and apparently
	  was in the wrong branch locally.

2010-09-15 11:26:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video: Add a destroy notify parameter to gst_video_convert_frame_async()
	  Binding generators apparently need this as they can't really know
	  that the callback is guaranteed to be called exactly once and that
	  the user_data can be freed at the end of it.

2010-09-14 12:00:39 +0200  Leo Singer <lsinger@caltech.edu>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_wrapper.h:
	  audioresample: Add GAP flag support
	  Fixes bug #586570.

2010-09-05 15:17:47 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	* sys/v4l/gstv4lxoverlay.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/examples/overlay/qt-xoverlay.cpp:
	* tests/examples/overlay/qtgv-xoverlay.cpp:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/stress-xoverlay.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	* win32/common/libgstinterfaces.def:
	  xoverlay: Add guintptr versions of functions
	  And deprecate the gulong versions.  This is to support platforms
	  where sizeof(unsigned long) < sizeof(void *).  Fixes #627565.
	  API: Add gst_x_overlay_set_window_handle()
	  API: Deprecate: gst_x_overlay_set_xwindow_id()
	  API: Add gst_x_overlay_got_window_handle()
	  API: Deprecate: gst_x_overlay_got_xwindow_id()
	  API: Add GstXOverlay::set_window_handle()
	  API: Deprecate: GstXOverlay::set_xwindow_id()

2010-09-14 12:31:58 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add UYVP

2010-09-12 20:36:19 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Various improvements
	  Replace moving-color-bars pattern with smpte100, and change
	  moving-speed to horizontal-speed.  Default is now 0.  Add
	  a rotation stage to pattern building.
	  Allocate a temporary scanline for building images.  Remove
	  unused code.  Disable several patterns that we're unable to
	  test and probably never used.  Add other variants of bayer
	  sampling.  Convert some patterns to use videotestsrc_blend_line.

2010-09-10 18:10:40 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: clean up blink pattern

2010-09-10 15:57:54 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Clean up the RGB code

2010-09-10 14:40:44 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Convert to intermediate AYUV/ARGB
	  Scanlines are generated into AYUV/ARGB, then converted to the
	  various formats.

2010-09-10 12:48:30 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: rearrange code to work on scanlines

2010-09-10 12:03:07 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix recent breakage of smpte75 pattern

2010-09-01 15:18:31 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add moving color bars pattern
	  This pattern is moving the color bars with a given
	  speed. Negative speed is inverting the moving direction.
	  https://bugzilla.gnome.org/show_bug.cgi?id=628500

2010-06-14 15:42:09 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_scanline.c:
	  videoscale: refactor using more Orc code
	  Convert downsampling to Orc.  Convert horizontal linear scaling
	  to Orc.  Combine horizontal and vertical scaling into one pass.

2010-09-12 19:34:28 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add UYVP, 10-bit 4:2:2

2010-09-14 08:41:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  video: Add gst_video_convert_frame_async() to the docs

2010-09-14 08:40:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: Add gst_video_convert_frame() and gst_video_convert_frame_async() to the .def files

2010-09-14 08:40:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/video.c:
	  video: Add unit test for gst_video_convert_frame_async()

2010-09-14 08:39:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.h:
	  video: Add async variant of the convert frame function
	  API: gst_video_convert_frame_async()

2010-09-12 16:53:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/video.c:
	  video: Add a simple unit test for the new convert_frame API
	  Unfortunately this can't test the encoding because there's no
	  image encoder in base.

2010-09-12 16:51:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	  video: Strip framerate from the target caps
	  There will always be only a single output buffer and if the
	  target caps have a different framerate than the input there
	  will be a negotiation error during conversion.

2010-09-12 16:36:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/convertframe.c:
	  video: Refactor convert_frame a bit and fix some minor memory leaks in error cases

2010-09-09 14:11:52 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* gst/playback/gstscreenshot.c:
	* gst/playback/gstscreenshot.h:
	  playback: Switch to using gst_video_convert_frame
	  https://bugzilla.gnome.org/show_bug.cgi?id=629157

2010-09-09 13:44:54 +0200  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/convertframe.c:
	* gst-libs/gst/video/video.h:
	  video: Add new method for converting a video frame
	  https://bugzilla.gnome.org/show_bug.cgi?id=629157

2010-09-13 10:02:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: prevent another race with shutdown state change

2010-09-11 14:55:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstsdp.def:
	  win32: Add new SDP symbols to the .def files

2010-09-10 18:42:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: remove leftover g_print

2010-09-10 17:55:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdp: add methods to convert between uri and message
	  Add methods to convert between uri and sdpmessages, loosly based on
	  http://tools.ietf.org/html/draft-fujikawa-sdp-url-01
	  API: GstSDPMessage::gst_sdp_message_parse_uri
	  API: GstSDPMessage::gst_sdp_message_as_uri

2010-09-10 10:40:52 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* tests/check/elements/videotestsrc.c:
	  tests: videotestsrc change the pattern property for the tests

2010-09-10 08:42:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	  orc: Fix generated source files

2010-09-09 20:45:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  tests: fix passing of URIs containing '*' and '?' to the seek example
	  Only do wildcard expansion (why?!) on things that look like local
	  file paths. Fixes passing of URIs containing '*' and '?' (see #629212).

2010-09-09 21:51:18 +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 11:12:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: Do debug category initialization in plugin_init again

2010-09-09 10:59:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  orc: Update generated source files everywhere

2010-09-09 10:57:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc.orc:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  Revert "Revert "Use init functions for Orc code""
	  This reverts commit 93aa13639d74449dc68296427e5dbcfe8aca5f51.
	  Everything should work now after regenerating the disted source files.

2010-09-07 19:04:23 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstaudio.def:
	  win32: Add new symbol to libgstaudio

2010-09-07 18:09:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudio: avoid taking extra ref on sink/src
	  Don't take an extra ref on the sink and source because that creates a reference
	  cycle. Instead, use the invalidate method of the clock when the sink and source
	  are freed. This way, we don't call into the time function anymore after the
	  objects are disposed.

2010-09-07 18:06:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	  audioclock: add a function to invalidate the clock
	  Add a function to invalidate the time function of a clock. Useful for when the
	  function becomes invalid.

2010-09-07 16:26:56 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/Makefile.am:
	  check: Fix linking order of libs/tag

2010-09-07 16:26:30 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/gst-plugins-base.supp:
	  check: Make fontconfig leak suppression more generic

2010-09-07 08:46:15 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds mappings for new image ppi tags
	  Adds mappings for GST_TAG_IMAGE_HORIZONTAL/VERTICAL_PPI into
	  our exif lib
	  Tests included.
	  Fixes #626570

2010-09-07 08:22:27 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tags: Add GST_TAG_IMAGE_HORIZONTAL/VERTICAL_PPI tags
	  Adds new tags for representing the intended PPI of images/videos
	  API: GST_TAG_IMAGE_HORIZONTAL_PPI
	  API: GST_TAG_IMAGE_VERTICAL_PPI
	  Fixes #626570

2010-09-07 11:41:52 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From c2e10bf to aa0d1d0

2010-09-06 18:17:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  rtp: improve basertpdepayload's error message when no input caps were set
	  This is pretty much an FAQ, so try to make the error message a bit
	  more helpful. Also, don't tell people to file a bug in bugzilla
	  about this (which is what happens if the default error message for
	  CORE_NEGOTIATION is used).

2010-09-06 13:14:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtppayload: notify of first timestamp/seqnum
	  Notify of the first timestamp/seqnum pushed out by the payloader.
	  Fixes #612264

2010-09-06 11:53:35 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/videotestsrc/.gitignore:
	  videotestsrc: .gitignore new generate_sine_table

2010-09-06 11:44:17 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstinputselector.c:
	* gst/playback/gstinputselector.h:
	* gst/playback/gstplaybin2.c:
	  playback: ref the selector pad class inside input-selector
	  Minimizes the delta to original element in -bad and allows us to keep the
	  type static.

2010-09-05 20:57:48 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/Makefile.am:
	* gst/videotestsrc/generate_sine_table.c:
	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Use static sine table

2010-09-05 20:35:13 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add foreground/background-color properties
	  Replace solid-color property with foreground-color and add
	  background-color.  Pull some common code out of each of the
	  pattern generating functions.  Fix many of the patterns to
	  use foreground-color/background-color instead of white/black.
	  Generated images are indentical to previously if foreground-color
	  and background-color are left as default.
	  API: GstVideoTestSrc::foreground-color
	  API: GstVideoTestSrc::background-color

2010-09-05 18:58:03 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From d3d9acf to c2e10bf

2010-09-05 17:04:31 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: deprecate colorspec property
	  Fixes: #616392.

2010-09-05 12:57:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: Simplify float->s32 conversion
	  orc 0.4.7 is doing saturated conversion from floats to integers
	  and it's not necessary to do this manually anymore.

2010-09-05 12:14:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ca1c867 to d3d9acf

2010-09-05 12:12:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: Update disted orc files

2010-09-05 12:09:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Enable float processing with orc again

2010-09-05 12:08:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Require orc 0.4.8.1 for the volume test

2010-08-26 19:16:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: Use the ORC double support

2010-09-04 09:06:08 +0200  Leo Singer <lsinger@caltech.edu>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: Fix compiler warnings with old gcc versions
	  Old gcc complains about possibly uninitialized variables which
	  are always initialized before usage in reality. Fixes bug #628747.

2010-08-06 11:53:38 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstfactorylists.c:
	* gst/playback/gstfactorylists.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Switch to gstfactorylist from core
	  https://bugzilla.gnome.org/show_bug.cgi?id=626181

2010-09-02 12:57:42 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix typo in property description

2010-09-01 17:52:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Add support for AYUV

2010-09-01 11:37:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Fill segment until the end on EOS

2010-09-01 11:33:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Fill the segment on EOS or at least produce enough frames to use the complete buffer duration
	  Fixes bug #628400.

2010-09-01 11:22:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Don't ignore flow returns when filling the previous segment during NEWSEGMENT handling

2010-09-01 11:11:47 +0200  Philippe Normand <pnormand@igalia.com>

	* tests/examples/seek/seek.c:
	  seek: allow seeking behind the currently downloaded position.

2010-09-01 10:06:09 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: use GST_BOILERPALTE macro

2010-08-31 10:09:51 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  playback: Set queues silent property to TRUE
	  We don't use the queue signals within playsink.

2010-08-30 14:59:22 -0500  Rob Clark <rob@ti.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: fix Cb/Cr inversion for colored text overlays
	  In case of odd values for xpos or ypos, the division by two in CbCr
	  plane would result in an off-by-one error, which in the case of NV12,
	  NV21, or UYVY would cause inversion of blue and red colors.  (And
	  would be not so easily noticed for I420 as it would just cause the
	  chroma to be offset slightly from the luma.)
	  This patch also fixes a silly typo from the earlier patch which
	  added NV12 support that broke UYVY support.

2010-08-30 15:50:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't reset the pad when pushing resulted in NOT_LINKED
	  The pad might be linked later and after resetting it it will
	  only work after resetting all of oggdemux.

2010-08-27 20:45:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Only enable progressive downloading if the upstream duration in bytes is known
	  Otherwise we might try to enable it for live streams, where this would
	  cause playback to fail completely.
	  Fixes bug #628028.

2010-08-27 17:23:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't use GST_FLOW_IS_FATAL()
	  And while we're at it, handle WRONG_STATE as error too
	  in oggdemux and WRONG_STATE and NOT_LINKED in oggaviparse.

2010-08-27 11:49:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc.orc:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  Revert "Use init functions for Orc code"
	  This reverts commit b2051090b43f82b23bb01826f09053479bbd7874.
	  Fixes the build again until someone pushes the regenerated .c/.h
	  files too.

2010-08-22 23:01:19 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: clean up code
	  Merge various color structures into one.

2010-08-22 22:16:45 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add ball pattern

2010-08-19 15:43:09 -0700  David Schleef <ds@schleef.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc.orc:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc.orc:
	  Use init functions for Orc code

2010-08-26 15:17:20 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: make the orc usage for float conditional again
	  See bug #628009. The tests still fail in the orc code (which we just don't call
	  now).

2010-08-25 12:19:05 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add support for 2vuy
	  It is the apple alternative for Microsofts UYVY.
	  (http://ntta.szm.com/Tutors/FourCC.htm)
	  Only use the UYVY for the caps to enable support in other
	  gstreamer elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=627924

2010-08-25 19:01:57 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	* gst/volume/gstvolumeorc.orc:
	  volume: enable ORC for float in volume

2010-08-25 11:19:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/tag/gstexiftag.c:
	  configure: Add check for log2
	  Adds check for log2 and only use it in exif library if it is
	  available.

2010-08-25 15:32:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: Link to $(LIBM) for pow(), log2() and friends

2010-08-25 08:41:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Move some tags to their correct IFDs
	  Put some tags in their correct IFDs

2010-08-20 16:39:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Always write FlashPixVersion tag
	  FlashPixVersion is mandatory and constant. Write it always.

2010-08-20 15:59:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds flash tags mapping
	  Adds a mapping for GST_TAG_CAPTURING_FLASH_FIRED/_MODE to
	  the exif Flash tag.
	  Tests included.

2010-08-19 15:47:18 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	* win32/common/libgsttag.def:
	  tag: exif: More photography mappings
	  Adds mappings from:
	  GST_TAG_CAPTURING_EXPOSURE_PROGRAM -> ExposureProgram
	  GST_TAG_CAPTURING_EXPOSURE_MODE -> ExposureMode
	  GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE -> SceneCaptureType
	  GST_TAG_CAPTURING_GAIN_ADJUSTMENT -> GainControl
	  GST_TAG_CAPTURING_WHITE_BALANCE -> WhiteBalance
	  GST_TAG_CAPTURING_CONTRAST -> Constrast
	  GST_TAG_CAPTURING_SATURATION -> Saturation
	  Also renames gst_tag_image_orientation_from_exif_value and
	  gst_tag_image_orientation_to_exif_value to remove the 'gst'
	  prefix and not including in the win32 defs.
	  Tests included.

2010-08-19 09:39:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Add macros for the exif ids
	  Use macros for exif ids to avoid having those numbers spread
	  all over the code.

2010-08-17 15:56:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds photography tags mappings
	  Adds the following mappings for the exif helper:
	  * GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO -> DigitalZoomRatio
	  * GST_TAG_CAPTURING_FOCAL_LENGTH -> FocalLength
	  * GST_TAG_CAPTURING_SHUTTER_SPEED -> ExposureTime, ShutterSpeedValue
	  * GST_TAG_CAPTURING_FOCAL_RATIO -> FNumber, ApertureValue
	  * GST_TAG_CAPTURING_ISO_SPEED -> ISOSpeed, PhotographicSensitivity
	  Tests included.

2010-08-17 15:05:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds mapping for GST_TAG_APPLICATION_DATA
	  Adds mapping for GST_TAG_APPLICATION_DATA to the exif
	  'maker-note' tag.

2010-08-20 14:54:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: Adds GST_TAG_CAPTURE_FLASH_FIRED/_MODE
	  Adds a new tag for informing if flash was used while
	  capturing an image and the flash mode selected by the
	  user during this capture
	  API: GST_TAG_CAPTURING_FLASH_FIRED
	  API: GST_TAG_CAPTURING_FLASH_MODE
	  https://bugzilla.gnome.org/show_bug.cgi?id=626651

2010-08-17 07:21:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: More photography related tags
	  API: GST_TAG_CAPTURING_EXPOSURE_PROGRAM
	  API: GST_TAG_CAPTURING_EXPOSURE_MODE
	  API: GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE
	  API: GST_TAG_CAPTURING_GAIN_ADJUSTMENT
	  API: GST_TAG_CAPTURING_WHITE_BALANCE
	  API: GST_TAG_CAPTURING_CONTRAST
	  API: GST_TAG_CAPTURING_SATURATION
	  Fixes #626651

2010-08-17 06:47:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: Adds some basic photography tags
	  Adds the following basic photography tags.
	  API: GST_TAG_CAPTURING_SHUTTER_SPEED
	  API: GST_TAG_CAPTURING_FOCAL_RATIO
	  API: GST_TAG_CAPTURING_FOCAL_LENGTH
	  API: GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO
	  API: GST_TAG_CAPTURING_ISO_SPEED
	  Fixes #626651

2010-08-24 15:06:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: Require ORC 0.4.7 for the loadl/storel opcodes
	  And update disted files to allow compilation with no or too old ORC.

2010-08-24 11:39:09 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: Make sure FLUSH_STOP is always sent after a flushing seek.
	  Send FLUSH_STOP right after forwarding the seek event upstream if necessary.
	  This makes sure that adder->srcpad is not left flushing if seeking fails or if
	  upstream is blocked.
	  The same fix was already applied to videomixer in 49b2a946.

2010-08-24 11:11:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: Use ORC for the float<->int32 conversion
	  This should speed up standard Vorbis encoding and decoding pipelines a bit.
	  Thanks to David Schleef for the assistance to get the ORC code right
	  and explaining everything.

2010-08-24 10:12:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Support NV21 too and minor cleanups

2010-08-24 10:03:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix component width for NV12/NV21
	  Both have width/2 as component width for the chroma planes.

2010-08-24 09:51:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix NV21 rendering
	  Using the same as for NV12 will result in wrong colors and crashes.

2010-08-23 18:51:18 -0400  Chris Shoemaker <chris.shoemaker@cox.net>

	* ext/pango/gstclockoverlay.c:
	* ext/pango/gstclockoverlay.h:
	  clockoverlay: only rerender text if time string has changed
	  The textoverlay element will rerender the text string whenever
	  overlay sets the 'need_render' flag to TRUE.  Previously, we
	  lazily set the flag to TRUE every time the time string was requested.
	  Now, we save a copy of the previously given string, and only set
	  'need_render' to TRUE if the string has changed.
	  In my tests with a 30fps video stream, and a time string including
	  a seconds field, this change reduced the CPU usage of the clockoverlay
	  element from 60% to 5%.
	  Fixes bug #627780.

2010-08-23 13:59:38 -0500  Rob Clark <rob@ti.com>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: add NV12 support
	  Fixes bug #627768.

2010-08-20 12:03:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Mark duplicated frames with the GAP flag
	  We currently don't use the GAP flag for video and the docs say
	  that this is for buffers, that have been created to fill a gap
	  and contains neutral data. For video this is the previous frame.
	  This information can be used by encoders to encode the duplicated
	  frames more efficiently. See bug #627459.

2010-08-19 18:51:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Add back support for 8 bit paletted RGB
	  This was removed by 3a00a97fd2b4015e93cdcabaa75da406aa599570
	  while making the pad template caps more compact.
	  Fixes bug #626629.

2010-08-18 16:45:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsasrc/sink: add property to get the card name
	  fixes #627203

2010-08-18 16:42:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	  alsa: add method to retrieve the card name
	  Reuse an existing method to retrieve the card name.

2010-08-18 12:34:07 +0200  American Dynamics <GStreamer-Bugs at tycosp.com>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basertpdepay: don't clear the discont flag too early
	  Set the discont flag when we receive a DISCONT buffer and only clear the discont
	  state when we pushed out a DISCONT buffer.
	  Fixes #626869

2010-08-14 19:08:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  docs: fix typo in appsink docs so function gets cross-referenced properly

2010-08-14 19:02:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  build: use new AG_GST_PKG_CONFIG_PATH m4 macro from common
	  Sets up a GST_PKG_CONFIG_PATH variable for use in Makefile.am
	  (avoids trailing ':' in PKG_CONFIG_PATH used).

2010-08-14 18:36:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: set PKG_CONFIG_PATH so that our in-tree libs come first when calling scanner
	  When calling gobject-introspection scanner, make sure our own
	  freshly-built libs within the source tree (well, build dir) come
	  first in the PKG_CONFIG_PATH. May or may not help to make sure
	  that it doesn't pick up older external plugins-base libs (or
	  .gir files) from outside the source tree / build directory as
	  dependencies of the introspected lib instead of using the
	  stuff we just built in a sibling directory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=623698

2010-08-06 17:16:27 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Delay usage of GstFactoryList
	  By delaying it to when it's actually needed, we speed things up a bit
	  since some elements might have been added/removed in between.
	  https://bugzilla.gnome.org/show_bug.cgi?id=626718

2010-06-17 09:10:11 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin2: uridecodebin: add property to configure ring buffer size

2010-08-13 17:23:46 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 3e8db1d to ec60217

2010-08-13 13:59:08 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  plugin-docs: the <TITLE> tag should come right after <FILE>.
	  Fixes missing plugin entries. If the object name, e.g. GstGIOSrc came before the
	  title, we ended up with differnt section_id in the generated docbook.

2010-08-12 18:14:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix the classification.
	  Change "Src" into "Source" (we use that elsewhere). I did not keept "Src" as it
	  is quite unlikely that someone plugs appsrc by searching the registry by classification.

2010-08-12 15:26:08 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: remove 'dir' out variable
	  Alsa seems to expect that we initialize it. Remove the variable and pass NULL
	  as we actually don't use it. In alsasink also #ifdef one section that is
	  grabing diagnostics to be disabled, when logging is disabled (the code was
	  using the out parameter as well).
	  Fixes #626125

2010-08-12 11:46:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: remove chroma-site and color-matrix fields from RGB caps

2010-08-11 12:49:40 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: prevent deadlock with _chain when deactivating pad
	  Fixes #626581.

2010-08-12 12:50:27 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/Makefile.am:
	  playback: bad bad editor, readd missing line to fix the build

2010-08-12 12:08:35 +0300  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/icles/Makefile.am:
	* tests/icles/playback/.gitignore:
	* tests/icles/playback/Makefile.am:
	* tests/icles/playback/decodetest.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test2.c:
	* tests/icles/playback/test3.c:
	* tests/icles/playback/test4.c:
	* tests/icles/playback/test5.c:
	* tests/icles/playback/test6.c:
	* tests/icles/playback/test7.c:
	  tests/playback: due to popular demand mv them from examples to icles
	  The tests are toys and not reference demos.

2010-08-12 10:02:56 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: send preroll buffer when delaying preroll eos
	  That is, if eos is received which will not be forwarded, and the stream
	  has not yet seen any data, then send a buffer to preroll downstream
	  (which might otherwise be accomplished by the eos event).

2010-08-12 10:01:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: remove some heuristic in chain configuration code
	  .. since queues are now inserted unconditionally.

2010-08-11 10:27:35 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2/playsink: update subtitle handling for streamsynchronizer
	  Streamsynchronizer excepts to see stream-changed msg for all streams, but to
	  arrange for this, video and subtitle streams need to be decoupled by means
	  of queues (due to pad blocks that may occur).
	  Fixes #626463.

2010-08-10 13:06:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: always have a queue in chain head to aid streamsynchronizer
	  Specifically, as the latter may have one thread pushing EOS to several streams,
	  that needs to be decoupled into various thread to prevent preroll hanging
	  problems.

2010-08-10 11:28:43 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: drop lock when pushing eos downstream
	  ... to prevent deadlock (e.g. upon seek) when downstream waits in preroll.

2010-08-10 11:19:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: clear stream eos state on FLUSH and new stream

2010-08-10 11:19:22 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: set READY sinks to NULL before freeing chain upon failure

2010-08-12 10:49:59 +0300  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* gst/playback/.gitignore:
	* gst/playback/Makefile.am:
	* tests/examples/Makefile.am:
	* tests/examples/playback/.gitignore:
	* tests/examples/playback/Makefile.am:
	* tests/examples/playback/decodetest.c:
	* tests/examples/playback/test.c:
	* tests/examples/playback/test2.c:
	* tests/examples/playback/test3.c:
	* tests/examples/playback/test4.c:
	* tests/examples/playback/test5.c:
	* tests/examples/playback/test6.c:
	* tests/examples/playback/test7.c:
	  playback: move tests from plugin-dir to tests/examples/playback

2010-08-11 18:08:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Suggest caps with different width/height if bufferalloc is called with impossible width/height

2010-08-11 17:16:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Add some debug output to the videoscale negotiation test

2010-08-11 17:03:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Only set the PAR if the caps already had a PAR
	  Otherwise we're producing different caps and basetransform thinks that it
	  can't passthrough buffer allocations, etc.
	  In 0.11 all video caps really should have the PAR set...

2010-08-11 17:00:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: It's not a bad thing if the preferred video format needs less bytes per frame

2010-08-11 08:47:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tags: exif: Fix bug in inner ifd parsing
	  Do not use the result of inner ifd's parsing to increment
	  the current tag index. The reasons are:
	  1) The function returns a boolean.
	  2) The inner ifd's tags are in a separate table, so they shouldn't
	  interfere with its parent ifd table parsing.

2010-08-11 08:03:44 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Put ExifVersion in the correct IFD
	  ExifVersion is from the 'exif' ifd, not the 0th ifd.

2010-08-10 19:50:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Refactor functions declaration
	  Use some macros to declare serialization/deserialization
	  functions prototypes.

2010-08-10 19:30:11 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Add another DateTime mapping
	  datetimes can also be represented by the 0x132 tag. Map it, too.

2010-08-10 11:29:22 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Fix bug on image-orientation parsing
	  Do not skip one extra tag when parsing image-orientation tags.

2010-08-10 10:57:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From bd2054b to 3e8db1d

2010-08-10 11:52:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: Compare with G_MAXUINT16 instead of -1
	  Fixes a compiler warning on the OS X buildbot.

2010-08-09 18:04:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  xmp: exif: Adds GST_TAG_APPLICATION_NAME mappings
	  adds xmp and exif helper library mappings for GST_TAG_APPLICATION_NAME
	  tag.

2010-08-04 13:01:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Write ExifVersion tag
	  Write ExifVersion tag unconditionally when creating exif
	  buffers. Might help other applications parsing of this data.

2010-08-04 13:02:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: tag: Test to try to serialize multiple exif tags
	  Adds a new test for exif data that tries serializing data
	  from multiple ifd tables and check if it works.

2010-08-09 17:25:07 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tags: exif: Fix inner tags offset rewriting
	  Fixes a bug that made exif helper lib fail to rewrite inner ifd tags
	  offsets when there were more than 1 inner ifd.

2010-07-22 17:29:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: configurable text color and position
	  Rather than only left, right, top, etc, allow for horizontal and vertical
	  positioning on a scale from 0 to 1.
	  Also cater for configuring rendered text color.
	  Fixes #624920.
	  API: GstTextOverlay:xpos
	  API: GstTextOverlay:ypos
	  API: GstTextOverlay:color

2010-07-21 14:20:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add solid-color pattern
	  ... which generalizes the current listing of white, black, etc.
	  In particular, also allow specifying alpha channel, and modify
	  some structures and pattern filling to cater for alpha value as well.
	  Fixes #624919.
	  API: GstVideoTestSrc:solid-color

2010-08-08 17:42:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: static forward declarations are forbidden by the C standard
	  ...and actually cause compiler errors on VC++. Change it to an extern
	  forward declaration and non-static definition.

2010-08-05 13:56:29 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 2004d03 to bd2054b

2010-08-04 19:24:29 +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-08-04 15:18:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosink/baseaudiosrc: Post CLOCK-LOST/CLOCK-PROVIDE when going to/from READY
	  Otherwise the clocks are redistributed every time the pipeline
	  goes to PAUSED, which is quite expensive.

2010-08-03 15:03:27 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Make xmp lib aware for the different tag types
	  Makes the xmp helper lib aware that the tags can be simple,
	  sequences or bags (there is still struct and alt, but those
	  aren't handled yet). Adding this info makes serialization
	  and deserialization more consistent.

2010-08-02 09:56:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmp: Add a new layer of indirection (GstXmpSchema)
	  Instead of storing all tags in a single hashtable, store them
	  grouped by schema in a GstXmpSchema, and add those to the toplevel
	  hashtable.

2010-08-03 14:37:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Make bag tags deserialization work correctly
	  If we find a bag of tags of type string in the xmp packet, we
	  should concat them, this is not the ideal approach, but at
	  least works for now as we don't know what type of tag it
	  is (simple, structure, seq, alt or bag)

2010-08-04 21:44:22 +1000  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/seek/seek.c:
	  examples/seek: Don't unpause on clock-lost unless playing
	  If the pipeline is paused by the user, don't pause/unpause
	  on clock-lost.

2010-07-02 12:10:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: improve debugging

2010-07-02 12:09:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.h:
	  ringbuffer: whitespace fixes

2010-06-28 10:53:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: use more efficient way of getting caps
	  When inspecting the caps of a pad, try to get the pad _CAPS first before calling
	  the getcaps function.

2010-08-02 11:06:00 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/pipelines/oggmux.c:
	  oggmux: Fix test build when theora and vorbis aren't available
	  Ifdef properly to avoid build failures

2010-08-01 06:50:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Detect avc1 ftyp as video/quicktime
	  Detects avc1 ftyp as video/quicktime (iso variant)

2010-07-27 11:25:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: removing useless locking
	  Everything in the xmp helper lib is initiallized once and on a thread
	  safe way, and after that there are only reads going on, no more
	  writing. Based on that, drop the locking.

2010-06-20 23:53:38 +1000  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/seek/jsseek.c:
	  jsseek: Set joystick io encoding to 'NULL'
	  Fix problems with newer glib reporting bad encodings on the binary
	  data emerging from the joystick device fd.

2010-07-26 20:25:55 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: fix printf format compiler warnings
	  Make OSX build bot happy.

2010-07-26 18:23:33 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: initialize datetime variable in xmp tag parsing code
	  Fixes (correct) compiler warning on the OSX build bot.

2010-07-26 17:48:14 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: require core from git
	  For GstDateTime stuff used in libgsttag.

2010-07-26 17:04:02 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	* configure.ac:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.c:
	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	* gst-libs/gst/pbutils/pbutils.h:
	* tests/check/libs/pbutils.c:
	* win32/common/libgstpbutils.def:
	  pbutils: add compile time and runtime version checks for gst-plugins-base
	  So people can check what version of the gst-plugins-base libs they're
	  building against or linked against.
	  API: GST_PLUGINS_BASE_VERSION_MAJOR
	  API: GST_PLUGINS_BASE_VERSION_MINOR
	  API: GST_PLUGINS_BASE_VERSION_MICRO
	  API: GST_PLUGINS_BASE_VERSION_NANO
	  API: GST_CHECK_PLUGINS_BASE_VERSION
	  API: gst_plugins_base_version()
	  API: gst_plugins_base_version_string()

2010-06-30 16:36:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Map GST_TAG_DATE_TIME
	  Adds mapping to the exif helper library for GST_TAG_DATE_TIME.
	  Tests included.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594504

2010-06-23 12:02:24 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Maps GST_TAG_DATE_TIME
	  Adds mapping for GST_TAG_DATE_TIME.
	  Tests included.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594504

2010-07-26 16:05:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Fixate the pixel-aspect-ratio if necessary

2010-07-24 18:17:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Delay EOS events until all streams are EOS
	  This fixes a race condition in playbin2's gapless mode, where the
	  EOS of other streams might arrive in the sinks before the last stream
	  ends and the switch to the new track happens. The EOS sinks won't
	  accept any new data then and playback stops.
	  To prevent this, delay all EOS events until all streams are EOS
	  and advance the sinks of the EOS streams by filler newsegment
	  events if necessary.
	  Fixes bug #625118.

2010-06-01 23:43:45 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: export 3gp profile in caps
	  This reads the 3gp profile from the major/compatible brands and puts
	  this as a 'profile' field in caps. This can be used by demuxers to
	  decide whether they can handle this stream or not. Also needed for
	  DLNA.
	  https://bugzilla.gnome.org/show_bug.cgi?id=620291

2010-07-24 11:48:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	  examples: Use cairo instead of to-be-deprecated GDK API
	  Fixes bug #625001.

2010-07-24 09:22:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  configure: set release date/time
	  Use the new AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO macro.

2010-07-20 12:08:52 +0530  Parthasarathi Susarla <partha.susarla@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: detect enhanced AC-3
	  https://bugzilla.gnome.org/show_bug.cgi?id=623846

2010-07-22 09:13:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Fix another deadlock when going PAUSED->READY while streams are waiting for the GCond

2010-07-20 21:05:45 +0200  Edward Hervey <bilboed@bilboed.com>

	  playsink: Switch to faster pad linking methods
	  Logic for choice of GST_PAD_LINK_CHECK_* is as follows:
	  * Where return of pad_link wasn't checked before : NOTHING
	  * Where linking is between known compatible elements : NOTHING
	  * All other cases : TEMPLATE_CAPS
	  Slashes down playsink reconfigure by up to 50% cpu time.

2010-07-19 15:58:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstscreenshot.c:
	  playsink: Set add-borders=true on the videoscale instances
	  This makes sure that we always keep the display aspect ratio and
	  add black borders if necessary, which is usually something you want
	  for viewing a video.

2010-07-19 15:44:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Rename borders property to add-borders

2010-07-19 09:39:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	  videoscale: update disted orc files for latest changes

2010-07-17 20:24:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/Makefile.am:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_fill_borders.h:
	* gst/videoscale/vs_image.h:
	  videoscale: Add support for adding black borders to keep the DAR if necessary
	  Fixes bug #617506.

2010-07-18 15:08:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Fix linear scaling of UYVY scanlines
	  Fixes bug #624656.

2010-07-17 19:57:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Fix caps fixating if the height is fixed but the width isn't

2010-07-16 20:41:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: Remove interlaced scaling again
	  This behaviour was not preferred and caused visible image quality
	  degradations. The real solution would be, to apply a real
	  deinterlacing filter before scaling the frames.
	  Fixes bug #615471.

2010-07-16 19:06:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add helper method for filling the VSImage struct

2010-07-18 11:43:00 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/files/Makefile.am:
	  tests: don't forget to dist test file for typefinding unit test

2010-07-18 11:38:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst/typefindfunctions.c:
	* tests/files/623663.mts:
	  tests: add unit test for mpeg-ts typefinding bug
	  See #623663.

2010-07-18 11:24:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: make mpeg-ts typefinder scan more data
	  We only look for packets with payload, but it appears there may be packets without,
	  which makes it harder to find the N packets with payload in a row that we need in
	  order to typefind this successfully, so scan some more data than necessary in the
	  optimistic scenario. Alternatively we could change IS_MPEGTS_HEADER().
	  Fixes #623663.

2010-07-16 18:51:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamsynchronizer.c:
	  playsink/streamsynchronizer: Remove and deactivate pads after calling the change_state function of the parent class
	  Fixes some deadlocks.

2010-07-16 18:25:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Drop DISCONT flag on first buffer for new streams
	  Also reset stream state when going back to READY and on flush-stop.

2010-07-11 14:44:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	* gst/playback/test7.c:
	  playsink: Fix gapless playback in many non-simple scenarios
	  Before gapless playback failed when switching between audio-only,
	  video-only and audio-video files, when choosing different clocks
	  and when the different streams had different durations.
	  This is now handled by a helper element, which keeps track of the
	  running times of all streams and synchronizes them.
	  Fixes bug #602437.

2010-07-11 14:43:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Remove QOS event adjustments for gapless playback mode

2010-07-09 17:15:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: Post clock-provide and clock-lost messages when going from/to PLAYING

2010-07-09 17:15:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: Post clock-provide and clock-lost messages when going from/to PLAYING

2010-07-08 16:11:12 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: only associate .webm with WebM
	  .weba (audio) and .webv (video) were speculation on my part before
	  the public launch. As of yet no decision has been made on the
	  file extension for audio-only WebM, and I'm pretty sure there will
	  never be one for video-only.
	  Fixes bug #623837.

2010-07-08 09:54:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: Use new gst_audio_clock_new_full()

2010-07-08 09:54:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: Use new gst_audio_clock_new_full()

2010-07-08 08:32:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	* win32/common/libgstaudio.def:
	  audioclock: API: Add gst_audio_clock_new_full() with a GDestroyNotify for the user_data
	  Elements usually use their own instance as instance data but the
	  clock can have a longer lifetime than their elements and the clock
	  doesn't own a reference of the element.
	  Fixes bug #623807.

2010-07-04 20:29:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/Makefile.am:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theoraenc: Implement two pass encoding
	  Fixes bug #621349.

2010-07-04 20:14:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/theora/gsttheoraenc.c:
	  configure: Require libtheora >= 1.1
	  It's more than a year old at the time of the next -base release,
	  has many encoder and decoder improvements and gets us rid of a lot
	  of #ifdefs

2010-07-04 20:08:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	  theora: Use PROP_ instead of ARG_ for property enum values

2010-05-04 12:09:57 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: use proper error message code for failing state change

2010-07-16 11:24:21 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.10.30 ===

2010-07-15 01:20:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.30

2010-07-15 00:32:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/cs.po:
	* po/lv.po:
	  po: update translations

2010-07-14 12:59:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Disconnect and destroy uridecodebins when going from READY to NULL
	  Fixes spurious errors that happen after an error and playing a working
	  stream afterwards or signals that are emitted for non-active groups.
	  Fixes bug #624266.

2010-07-08 14:51:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/Makefile.am:
	  docs: dist more of the gst-plugin-base design docs

2010-07-07 00:35:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.29.4 pre-release

2010-07-07 00:24:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/LINGUAS:
	* po/es.po:
	* po/fr.po:
	* po/it.po:
	* po/nl.po:
	* po/pt_BR.po:
	* po/sl.po:
	* po/sv.po:
	  po: update translations

2010-07-06 09:47:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  Revert "playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2"
	  This reverts commit 9d7538247ff1bf9841b53eeb71ddc47f2c662415.
	  If the DVD subpicture caps are not part of the raw caps, uridecodebin
	  doesn't qualify resindvdbin as raw source and plugs decodebins, which
	  causes broken DVD playback because of bugs elsewhere.
	  This change was originally added to only expose supported, raw subtitles,
	  e.g. if the subtitle sink did not support DVD subpictures but a converter
	  to some supported format exists. It's not very important right now because
	  we have nothing (that is autoplugged) to convert from plaintext/pango-markup
	  or DVD subpictures to something else.
	  Fixes bug #623583.

2010-07-04 17:27:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Use correct Y offset for YVYU -> RGB conversions
	  Fixes bug #623530.

2010-07-04 17:26:03 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Use correct Y offset for the YUY2 -> RGB conversions
	  Fixes bug #623530.

2010-07-04 14:55:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/inspect/plugin-ogg.xml:
	  docs: update ogg introspection info after riff fourcc addition

2010-07-02 20:09:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to 8 bit grayscale
	  The last pixel wasn't written before for odd widths.
	  Fixes bug #623418.

2010-07-02 14:56:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Fix conversion of packed 4:2:2 YUV to RGB
	  The last pixel wasn't written before.
	  Fixes bug #623384.

2010-07-02 13:59:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix invalid memory accesses with odd widths/heights during subsampling
	  Fixes bug #623375.

2010-07-01 21:21:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If setup of the source element fails in READY->PAUSED deactive the current group
	  Otherwise the uridecodebin will be still a child of playbin2 and
	  its signals will still be connected. In future state changes this
	  will then emit unrelated signals that will confuse playbin2 or,
	  even worse, cause crashes and assertions.
	  Fixes bug #623318.

2010-06-30 21:20:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add FLV4 fourcc and map it to video/x-vp6-flash
	  Fixes #623176.

2010-06-30 15:13:10 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	  netbuffer: declare with G_DEFINE_TYPE for type safety
	  Fixes #623233.

2010-06-24 16:55:57 +0200  Fredrik Söderquist <fs@opera.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Handle errors from _get_next_page in _do_seek.
	  If the source element failed here, oggdemux would crash.
	  Fixes #623218.

2010-06-30 11:00:45 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: keep things sorted alphabetically
	  On special request. Because it's important, apparently.

2010-06-29 18:48:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.29.3 pre-release

2010-06-29 18:46:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: fix --disable-external

2010-06-28 15:43:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* autogen.sh:
	* configure.ac:
	  Bump automake requirement to 1.10
	  For maintainability reasons and $(builddir).
	  Fixes #622944.

2010-06-27 10:43:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/seek.c:
	  examples: Remove some #if GTK_CHECK_VERSION(2,12,0)
	  We depend on GTK+ >= 2.14 already.

2010-06-26 21:28:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/Makefile.am:
	  videotestsrc: Explicitely link with $(LIBM)

2010-06-26 21:27:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/Makefile.am:
	  videoscale: Explicitely link with $(LIBM)

2010-06-26 18:19:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  0.10.29.2 pre-release

2010-06-26 18:19:33 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  gst: update orc files

2010-06-26 18:19:16 +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/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/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: update translations

2010-06-26 17:55:12 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Properly clean DecodeChain after errors.
	  If an error happens, the PAUSED state will never be reached. If an
	  application re-uses decodebin2 (like totem) where one would normally
	  set to READY between each file, the cleanup that normally happens in
	  the PAUSED=>READY codepath will never be called, resulting in the
	  following file to re-use the previous demuxer/decoder/...
	  https://bugzilla.gnome.org/show_bug.cgi?id=622807

2010-06-26 12:39:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/design/design-orc-integration.txt:
	  docs: fix a few typos

2010-06-26 12:03:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  checks: simplify GstBus usage in videoscale unit test
	  There's no need to run a main loop, add a bus watch and deal with
	  helper structs here just to wait for an EOS message.

2010-06-26 11:38:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  checks: speed up videoscale unit test a little
	  Use new gst_element_link_pads_full() function to link elements,
	  and disable all checks when linking (don't try this at home).
	  Down to 18s from 3m20s. Scary.

2010-06-25 17:18:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: check for ringbuffer state first
	  Check for the state of the ringbuffer before doing the checks of the other
	  buffer properties, when we're not started, we don't care about those values.

2010-06-24 13:30:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Use a more concise pad template
	  Speeds up caps nego 2 fold
	  https://bugzilla.gnome.org/show_bug.cgi?id=622696

2010-06-24 15:31:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/audio-trickplay.c:
	  tests: make audio-trickplay test compile when the gst debugging system is disabled
	  Fixes unused variable warning in that case.

2010-06-24 15:13:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst/typefindfunctions.c:
	  tests: add test that runs all typefinders over random data

2010-06-06 12:31:35 +0530  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: Mark ISO 14496-14 files as video/quicktime
	  These are currently being marked as audio/x-m4a which is incorrect.
	  https://bugzilla.gnome.org/show_bug.cgi?id=620720

2010-06-24 13:42:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  .gitignore: add temporary orc test directory

2010-06-24 13:30:50 +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 plugins here.

2010-06-24 15:09:04 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 73ff93a to a519571

2010-06-24 08:41:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gsttageditingprivate.c:
	  tag: Fix printf format string
	  Use %s for strings, not %d.

2010-06-24 12:06:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Fix resampling of ARGB scanlines
	  Previously we would read behind the end of the source lines.

2010-06-16 14:08:05 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds GST_TAG_IMAGE_ORIENTATION mapping
	  Adds GST_TAG_IMAGE_ORIENTATION mapping to xmp helper lib.
	  Tests included.

2010-06-16 11:19:37 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/gsttageditingprivate.c:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* tests/check/libs/tag.c:
	* win32/common/libgsttag.def:
	  tag: exif: Adds mapping for GST_TAG_IMAGE_ORIENTATION
	  Adds GST_TAG_IMAGE_ORIENTATION to the exif helper lib mapped tags.
	  Tests included.

2010-06-23 12:10:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: clear ts-offset pointer
	  We need to clear the pointer to our ts-offset element when we destroy the video
	  chain elements to make sure nobody derefs it to invalid memory afterwards.

2010-06-23 10:16:07 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  playsink: Reset ts_offset field when freeing chain
	  Otherwise we would end up with a bogus ->audiochain->ts_offset field
	  which would cause segfaults/assertions when trying to modify the
	  'ts-offset' property in update_av_offset().
	  Was easy to trigger when using a list of audio+video files mixed with
	  video-only files in totem.

2010-06-18 16:37:14 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	* tests/check/elements/appsink.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/gdppay.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/vorbisdec.c:
	  tests: use our own macros for the tests main function

2010-06-18 14:17:30 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  tag: Use gst_tag_list_peek_string_index in vorbistag
	  Use _peek_string_index instead of _get_string_index to avoid
	  a string copy

2010-06-14 12:27:02 +0200  Philippe Normand <pnormand@igalia.com>

	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	  ximagesink: Ask pad peer to accept new caps once only
	  In buffer_alloc, if the buffer caps are new, call
	  gst_pad_peer_accept_caps once only, it's useless to call it in the
	  cases where we know it will always fail.
	  Fixes bug #621190

2010-06-17 17:07:39 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add YUY2/YVYU to all RGB formats conversions

2010-06-17 16:57:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix Y42B to YUY2/YVYU/UYVY conversion for odd widths

2010-06-17 16:54:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix YUY2/YVYU/UYVY to Y42B conversion for odd widths

2010-06-17 16:06:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.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. Update other gtk-doc files
	  for API additions and object hierarchy changes.

2010-06-16 19:15:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: improve autoplugging
	  Use the pad caps when they are available to continue the autoplugging. If the
	  pad caps are set, they are fixed and then we can directly continue autoplugging.

2010-06-15 16:49:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 9339ccc to 35617c2

2010-06-15 16:53:49 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 5adb1ca to 9339ccc

2010-06-15 16:34:54 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 57c89b7 to 5adb1ca

2010-06-15 15:32:34 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From c804988 to 57c89b7

2010-06-15 13:09:37 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/elements/audioresample.c:
	  Revert "audioresample: set pads as negotiable"
	  This reverts commit 5f74f3a82eb54f9a9517f99dffbe45ce4d474870.

2010-06-15 13:09:29 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/elements/audioconvert.c:
	  Revert "audioconvert: set pads negotiable"
	  This reverts commit bbd7dee8f604bd0373a82e6e5cc3eec8313806ac.

2010-06-14 15:19:32 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Fix black horizontal line in image

2010-06-14 15:05:16 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Init char variable for gps coordinates
	  Initialize char variable for gps coordinates deserialization to 0
	  to identify when it couldn't be parsed/found and error out.
	  Fixes #621509

2010-06-14 18:10:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioconvert.c:
	  audioconvert: set pads negotiable

2010-06-14 17:48:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  audioresample: set pads as negotiable

2010-06-14 16:25:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Revert accidental downgrade of common revision.

2010-06-14 16:07:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: And only expect a single buffer in the unit test

2010-06-14 16:02:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Only convert one buffer instead of five
	  Should make the unit test a lot faster.

2010-06-14 14:13:32 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Fix unitialized variables
	  yay macosx compilers :(

2010-06-14 14:13:16 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video.c:
	  video: Fix unitialized variable.
	  yay macosx compilers :(

2010-06-14 13:27:01 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Use Quarks for structure name/field checking

2010-06-14 13:26:02 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Speed up _remove_format_info
	  Instead of copying full caps, use the fact that the provided caps only have
	  one structure and only copy around structures.

2010-06-14 13:24:06 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Transfer structures instead of copying them
	  Avoids many expensive structure copies

2010-06-14 13:20:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Use GLIB_EXTRA_CFLAGS

2010-06-14 13:02:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7a0fdf5 to c804988

2010-06-14 11:31:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 6da3bab to 7a0fdf5

2010-06-14 11:20:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	  jsseek: Don't use deprecated GLib API
	  Fixes once again bug #605100.

2010-06-14 11:16:45 +0200  Prahal <prahal at yahoo.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: use accumulator for autoplug-sort
	  Use an accumulator for the autoplug-sort signal so that we can stop the emission
	  when a signal handler produced a valid result. This avoids the object handler
	  to overwrite the results from user signals.
	  Fixes #621161

2010-06-14 11:11:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: activate_chain must not be called with a NULL chain
	  It will crash later and shouldn't really happen anyway unless
	  something is really wrong.

2010-06-14 11:08:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  gnomevfssrc: Fix possible NULL pointer dereference
	  It's always an error if gst_buffer_try_new_and_alloc() returns NULL

2010-06-14 11:03:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Return FALSE from the seek handler if no seek callback was set

2010-06-14 09:53:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiostreamsrc.c:
	  giostreamsrc: Fix copy&paste error in the docs

2010-06-14 00:33:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: fix debug message printf format some more
	  Just cast the pointer diff, so it works everywhere without
	  warnings. Can't use %tu, because that modifier is C99. Warning
	  was: "format '%li' expects type 'long int', but argument 8 has
	  type 'int'".

2010-06-13 22:17:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Add ffmpegcolorspace after videotestsrc for the unit test

2010-06-13 20:57:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: ...and add Y16 case for the linear scaling

2010-06-13 20:38:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add Y16 case for 4-tap scaling

2010-06-13 18:27:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	  tests: Fix linking of the tags test

2010-06-13 08:20:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: Re-add (but deprecated) GST_VIDEO_{RED,GREEN,BLUE}_MASK_1[56]

2010-06-12 21:04:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Use correct variables for debug output

2010-06-12 16:51:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix Y16 from/to GRAY8 conversion

2010-06-12 16:31:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Don't crash when doing gray YUV to GRAY conversion

2010-06-12 16:23:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	  videoscale: Update disted orc files

2010-06-12 16:16:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Allow video/webm for progressive downloading

2010-06-12 13:59:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add support for more gray formats

2010-06-01 16:45:34 +0000  Martin Bisson <martin.bisson@gmail.com>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video.{c,h}: Fix an endianness bug fix.
	  This commit makes sure the endianness is ok for RGB/BGR 15/16 formats.

2010-06-01 14:42:54 +0000  Martin Bisson <martin.bisson@gmail.com>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video.{c,h}: Add support for RGB and BGR with 15 and 16 bits.

2010-06-12 13:35:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: Use libgstvideo for caps parsing, etc

2010-06-12 13:04:43 +0200  Philippe Normand <phil@base-art.net>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Fix format string compiler warning on OS X

2010-06-12 13:00:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Use GST_VIDEO_CAPS_GRAY{8,16}

2010-06-12 12:57:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_scanline.c:
	  videoscale: Implement linear merging of Y16 scanlines with orc

2010-06-12 08:26:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 733fca9 to 6da3bab

2010-06-11 22:16:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/cdparanoia/Makefile.am:
	  cdparanoia: check for cdparanoia with pkg-config first
	  cdparanoia now has a .pc file in post-0.10.2 SVN, so use
	  that to check for cdparanoia before we try all the other
	  checks. Besides being generally nicer, this may help with
	  correctly detecting cdparanoia on OSX some day (see #609918).

2010-06-11 12:34:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: look for dts frames at non-zero offsets too
	  Scan a bit into the data when checking for dts frames instead
	  of expecting the frame sync to be right at the start of the
	  data. This is needed for some dts-disguised-as-pcm-in-wav files.
	  See #413942.

2010-06-10 18:12:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add typefinder for dts audio

2010-06-11 15:23:14 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  gstexiftag: Fix unitialized variables
	  I hate thee macosx

2010-06-11 08:47:27 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  gstexiftag: Fix debug statements

2010-06-11 08:47:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: Fix unitialized variable

2010-06-10 20:45:42 +0300  Stefan Kost <ensonic@users.sf.net>

	* win32/common/libgsttag.def:
	  win32: update def file

2010-06-10 20:36:32 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/tag.h:
	  docs: fix gtk-doc warnings
	  Variable names in function prototypes in the headers should match the doc-
	  comment.

2010-06-10 08:47:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If the text-sink claims to support ANY caps assume it only support raw plaintext subtitles
	  Fixes bug #621071.

2010-06-10 08:46:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  icles: Only accept plain subtitles in the playbin-text icles test

2010-06-09 22:34:24 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for VP6F (On2 VP6 Flash variant)

2010-06-09 12:35:40 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  Use the Orc m4 macro

2010-06-09 12:40:00 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From fad145b to 733fca9

2010-06-09 12:33:51 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 47683c1 to fad145b

2010-06-09 15:58:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: Refactor byte-order handling
	  Only check for valid byte-order values when creating the
	  exif readers and writers

2010-05-10 14:01:46 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  tag: exif: Adds new geo-location tag mappings
	  Adds mappings for:
	  GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION
	  GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION
	  GST_TAG_GEO_LOCATION_MOVEMENT_SPEED
	  GST_TAG_GEO_LOCATION_ELEVATION
	  Does some refactoring in the code to reduce number of parameters
	  passed to functions
	  Tests included.

2010-04-04 22:25:24 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: tag: Adds unit tests for exif helper lib
	  Adds some simple unit tests for exif helper lib functions
	  Fixes #614872

2010-04-03 23:02:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gstexiftag.c:
	* gst-libs/gst/tag/tag.h:
	* win32/common/libgsttag.def:
	  tag: Adds basic exif tags support
	  Adds exif helper lib functions to parse exif buffers from/to
	  taglists. Exif is tipically used in jpeg images, but it can
	  also be embedded into TIFF, AVI and WAV formats.
	  Adds a couple function to handle exif in tiff header structures, that is how
	  exif is embedded in jpeg and (obviously) in tiff.
	  API: gst_tag_list_to_exif_buffer
	  API: gst_tag_list_to_exif_buffer_with_tiff_header
	  API: gst_tag_list_from_exif_buffer
	  API: gst_tag_list_from_exif_buffer_with_tiff_header
	  Fixes #614872

2010-06-09 17:02:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Handle SEEKING query in push mode too

2010-06-09 16:38:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Update the total time from the Skeleton 4 indexes
	  Fixes bug #620939, see bug #607945.

2010-06-09 16:33:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: Implement latest version of the Skeleton 4.0 spec
	  Fixes bug #620939.

2010-06-09 16:59:10 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: make the orc codes available for testing.
	  Add a USE_ORC define for now and switch 'this' to 'self'. Having orc enabled
	  passes the test suite and various manual gst-launch pipelines.

2010-06-08 13:34:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  .gitignore: add orc-related temp files

2010-06-08 13:26:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/gstaudioresample.c:
	  Fix build if orc is not installed
	  Orc is not a hard requirement. Things should still compile and
	  work without orc, but slow fallback code may be used in this
	  case. Fix up configure to not error out if orc is not installed
	  and wrap use of orc profiling in audioresample in #ifdefs.
	  Fixes #620136 some more.

2010-06-08 13:11:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Implement correct parsing of Skeleton 4.0 index packets

2010-06-08 12:01:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Add parsing of Skeleton 4.0 indexes

2010-06-08 11:40:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Parse segment length and content offset from fishead
	  And print them for debugging purposes. Not sure if we can do anything useful
	  with this information.

2010-06-08 11:31:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Parse Skeleton stream major/minor version

2010-06-08 11:26:26 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Use binary search for searching in the index

2010-06-08 11:02:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/video.c:
	  video: Fix unit test, the Y800 checks were not used before and were not working

2010-06-08 11:01:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Return TRUE in gst_video_format_is_gray() for Y800 and Y16

2010-06-08 00:33:31 -0700  David Schleef <ds@schleef.org>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	  audioconvert, videotestsrc: Update generated Orc code
	  Fixes compile errors with initialization of unions.

2010-06-08 00:32:36 -0700  David Schleef <ds@schleef.org>

	* REQUIREMENTS:
	  requirements: change liboil to Orc

2010-06-06 23:50:05 -0700  David Schleef <ds@schleef.org>

	* gst/audioresample/Makefile.am:
	* gst/audioresample/gstaudioresample.c:
	  audioresample: convert from liboil to orc

2010-06-06 23:48:35 -0700  David Schleef <ds@schleef.org>

	* tests/check/Makefile.am:
	  tests: Add orc tests

2010-06-06 23:48:15 -0700  David Schleef <ds@schleef.org>

	* gst/volume/Makefile.am:
	* gst/volume/gstvolume.c:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	* gst/volume/gstvolumeorc.orc:
	  volume: convert from liboil to orc

2010-06-06 23:47:53 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/Makefile.am:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc.orc:
	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: convert from liboil to orc

2010-06-06 23:47:16 -0700  David Schleef <ds@schleef.org>

	* gst/videoscale/Makefile.am:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	  videoscale: convert from liboil to orc

2010-06-06 23:46:41 -0700  David Schleef <ds@schleef.org>

	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	  audioconvert: convert from liboil to orc

2010-06-06 23:45:58 -0700  David Schleef <ds@schleef.org>

	* gst/adder/Makefile.am:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: convert from liboil to orc

2010-06-06 23:45:10 -0700  David Schleef <ds@schleef.org>

	* docs/design/Makefile.am:
	* docs/design/design-orc-integration.txt:
	  docs: Add notes about Orc integration

2010-06-06 23:34:39 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  configure: convert liboil check to orc

2010-06-08 07:34:08 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Start a new page for every CMML buffer

2010-06-07 14:38:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: add av-offset property
	  Add av-offset property to control the audio and video sync offset. This can be
	  used to to manually correct badly synced streams.
	  See #620529

2010-06-07 08:31:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  ffmpegcolorspace: Map "Y8  " and "GREY" to "Y800" and add it to the template caps

2010-06-07 08:17:13 +0200  Martin Bisson <martin.bisson@gmail.com>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add support for Y800 and Y16
	  Fixes bug #620441.

2010-06-07 08:16:01 +0200  Martin Bisson <martin.bisson@gmail.com>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add support for Y800 and Y16
	  Fixes bug #620441.

2010-06-06 16:46:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix log function printf format issue

2010-06-05 18:14:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: stop jpeg typefinding once we found a SOF marker

2010-06-05 18:05:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/gst/typefindfunctions.c:
	  tests: fix memory leak in unit test

2010-05-19 15:40:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: improve jpeg typefinder
	  Make jpeg typefinder check more than just the first two bytes
	  plus Exif or JFIF marker. This allows us to report MAXIMUM
	  probability in cases where there's no Exif or JFIF marker,
	  making typefinding stop early. Also extract width and height,
	  because we can.

2010-06-05 17:22:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* tests/Makefile.am:
	* tests/check/Makefile.am:
	* tests/check/gst/typefindfunctions.c:
	* tests/files/Makefile.am:
	* tests/files/partialframe.mjpeg:
	  tests: add small unit test for AC3 vs. JPEG typefinding issue

2010-06-05 16:58:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix AC-3 typefinding so that it actually checks for a second frame
	  Fix typo that made the AC-3 typefinder not actually check for a
	  second frame, but rather compare the sync point found to itself,
	  which resulted in the AC-3 typefinder reporting an overly optimistic
	  MAXIMUM or VERY_LIKELY probability when it found a possible frame
	  sync.

2010-06-05 12:27:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstscreenshot.c:
	  playbin2: improve screenshot code
	  Use appsrc and appsink in the screenshot code to make things nicer.

2010-06-05 11:28:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix documentation string

2010-06-05 11:05:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: add convert-frame action signal
	  Add a convert-frame action signal.
	  Fixes #620279

2010-06-05 11:02:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstscreenshot.c:
	* gst/playback/gstscreenshot.h:
	  playbin2: move marshaller to screenshot
	  Move the marshaller for the convert_frame signal to the screenshot file in
	  preparation for moving it to playsink.
	  See #620279

2010-06-05 10:42:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: move convert_frame to playsink
	  Move the convert_frame function to playsink and make it part of the API. This is
	  in preparation to add the convert_frame signal to playsink.
	  See #620279

2010-06-05 10:31:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: add property to get the last frame
	  Add a property to get the last video frame.
	  See #620279

2010-06-04 19:30:14 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Handle raw streams we don't want.
	  If a file contains raw streams (not requiring a decoder) that we do
	  not want (expose-all-streams == FALSE), we would previously consider
	  those of unknown-type (missing a decoder) ... whereas in fact it was just
	  because they don't need decoders.
	  This only applies if expose-all-streams is FALSE.

2010-06-03 13:44:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  Revert "baseaudiosink: Allocate and free the clock in NULL->READY and reverse"
	  This reverts commit cea2644ed86097aadedc9e8731e78a22ffc6246b.
	  Many audio sink assume that they can create a clock in
	  the instance init function and it will be there forever
	  and not be cleared by the state change functions.

2010-06-02 12:19:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: Allocate and free the clock in NULL->READY and reverse

2010-06-01 23:49:07 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 17f89e5 to 47683c1

2010-06-01 22:54:33 -0700  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From fd7ca04 to 17f89e5

2010-06-01 13:00:22 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* tests/examples/overlay/Makefile.am:
	  examples: get the right Qt moc binary to use via pkg-config
	  Should make us do the right thing in cases where both Qt3 and Qt4
	  are installed.
	  Fixes #620211.

2010-05-31 19:28:45 +1000  Jonathan Matthew <jonathan@d14n.org>

	* ext/gio/gstgiobasesink.c:
	  gio: map GIO NO_SPACE error to NO_SPACE_LEFT
	  Fixes bug #620140.

2010-05-28 08:27:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/interfaces/streamvolume.c:
	  configure: Remove (now) useless check for cbrt

2009-12-02 22:16:22 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/interfaces/streamvolume.c:
	  interfaces: Use pow() instead of cbrt() for MSVC

2010-05-26 11:54:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 357b0db to fd7ca04

2010-05-26 08:51:09 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Fix buffer offset_end when within tolerance.
	  This fixes issues if we then have downstream elements that operate
	  on offset/offset_end.
	  And add the expected timestamp in the debug logs

2010-05-24 11:27:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/fft/kiss_fft_f32.c:
	* gst-libs/gst/fft/kiss_fft_f32.h:
	* gst-libs/gst/fft/kiss_fft_f64.c:
	* gst-libs/gst/fft/kiss_fft_f64.h:
	* gst-libs/gst/fft/kiss_fft_s16.c:
	* gst-libs/gst/fft/kiss_fft_s16.h:
	* gst-libs/gst/fft/kiss_fft_s32.c:
	* gst-libs/gst/fft/kiss_fft_s32.h:
	* gst-libs/gst/fft/kiss_fftr_f32.c:
	* gst-libs/gst/fft/kiss_fftr_f64.c:
	* gst-libs/gst/fft/kiss_fftr_s16.c:
	* gst-libs/gst/fft/kiss_fftr_s32.c:
	  fft: Merge kissfft 1.2.8
	  This reduces memory footprint for the FFT and adds
	  OpenMP support (but we don't use it).

2010-05-22 10:05:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Fixate interlaced, chroma-site and color-matrix fields if necessary

2010-05-22 10:02:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst/videorate/gstvideorate.c:
	  videorate: Use new string fixation function from core

2010-05-22 09:48:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Fixate color-matrix and chroma-site fields if necessary

2010-05-22 09:39:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Fixate the interlaced field if necessary
	  Fixes bug #619310.

2010-05-22 08:55:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add IVF typefinder

2010-05-21 18:16:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: pass object to logging functions, use GST_DEBUG_FUNCPTR

2010-05-20 15:14:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add basic descriptions for new WebM and VP8 types

2010-05-20 14:21:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix sizes again, this time for real

2010-05-20 13:58:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  oggdemux: Fix size checks

2010-05-20 10:19:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  oggdemux: Drop all other Ogg VP8 header packets and make VP8 mapping check a bit more strict

2010-05-20 08:52:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: Some more minor adjustments for the VP8 Ogg mapping

2010-05-19 21:35:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: Update to the latest VP8 mapping

2010-05-10 05:53:22 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Detect WebM as video/webm
	  Refactor matroska_type_find into ebml_check_header and a new
	  matroska_type_find and webm_type_find.

2010-05-14 13:31:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Fix granulepos->key granule calculation for Dirac

2010-05-14 11:02:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Add support for mapping specific granulepos to key granule mapping

2010-05-05 13:59:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  ogg: Implement Ogg VP8 mapping

2010-04-27 15:24:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for On2 VP8

2010-05-19 16:17:19 +0200  Alessandro Decina <alessandro.decina@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix a typo introduced by 9d753824.
	  video/x-raw-float => audio/x-raw-float. Fixes #619090.

2010-05-18 08:45:52 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't put "raw" subtitle types in the raw caps for decodebin2
	  We handle them from the autoplug-continue signal, where the caps supported
	  by the subtitle sink or overlay are known already.

2010-05-15 21:15:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Use = instead of == in shell scripts for equality checks

2010-05-14 18:23:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 4d67bd6 to 357b0db

2010-05-14 17:24:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Always take the object lock when accessing the caps
	  Fixes bug #618625.

2010-05-14 17:17:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Don't fail if subtitles are used but only audio is available and no visualizations
	  Instead simply disable displaying of the subtitles for now, as was
	  intended by that part of code...
	  Fixes bug #610866.

2010-05-14 17:13:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix deadlock caused from an additional lock instead of unlock
	  Also improve debug output for the playsink lock.

2010-05-13 12:16:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Use passthrough mode if width and height are not changed
	  It doesn't matter if the PAR changes or not, processing of every pixel
	  is only necessary when the width or height changes.

2010-05-13 12:03:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: relax width and height constraints
	  Increase the acceptable video sizes from [16,4096] to [1, MAX].
	  See #618392

2010-05-13 08:05:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Use simple fraction multiplication functions instead of going through GValues

2010-05-10 17:09:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Add a unit test for checking if the negotiation works as expected

2010-05-10 17:09:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Try harder to keep the DAR if possible
	  Fixes bug #371108.

2010-05-10 15:13:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Log PAR and DAR of input and output caps when setting caps

2010-05-10 14:52:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Set input width/height if the output caps don't have any width or height

2010-05-10 13:01:44 +0200  Andoni Morales <ylatuya@gmail.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Try to keep DAR when scaling
	  Fixes bug #371108.

2010-05-10 19:09:28 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  basertpaudiopayload: Add extra frame for non-complete frame lengths
	  Some payloaders like rtpg729pay can add a shorter frame at the end of a
	  RTP packet. We need to count it like a full frame for timestamps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=618324

2010-05-10 18:53:29 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  basertpaudiopayload: Set duration on buffers
	  Set the duration of the buffers from their size

2010-05-11 16:12:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Fixate PAR to 1/1 if possible

2010-05-11 10:07:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  configure: Check for GTK+ 3.0 and if it's not available for GTK+ 2.0

2010-05-10 12:44:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Check if the X context is allocated before using it
	  It should be allocated at these places already or the state changes
	  would have failed... but better add an additional check here.

2010-05-10 12:28:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Post an error message on the bus if no supported pixmap formats can be found
	  Might fix bug #615851.

2010-05-07 19:49:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace : whooops

2010-05-07 19:21:13 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: more minor cleanups

2010-05-07 17:16:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: speedup caps transformation
	  * don't re-create our possible caps every single time, just use the
	  template caps.
	  * don't intersect the caps against the template, basetransform has already
	  done that for us.
	  62% speedup of _transform_caps() (instruction calls, measured with callgrind)

2010-05-07 12:19:25 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add the 'expose-all-streams' property from decodebin2
	  API: expose-all-streams
	  https://bugzilla.gnome.org/show_bug.cgi?id=617868

2010-05-06 18:50:51 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Add a property to not expose/decode all streams
	  API : expose-all-streams
	  If disabled:
	  * only the streams that CAN be decoded and match the final caps will have a
	  decoder plugged in and be exposed.
	  * the streams that COULD HAVE BEEN decoded but do not match the finals caps
	  will not have a decoder plugged in and will not be exposed.
	  If no decoder is available to decode a certain stream, then the missing element
	  message will still be emitted regardless of the value of the property.
	  https://bugzilla.gnome.org/show_bug.cgi?id=617868

2010-05-06 17:47:12 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: rename are_raw_caps to are_final_caps, correct comment
	  https://bugzilla.gnome.org/show_bug.cgi?id=617868

2010-05-07 17:16:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdpmessage: add new TIAS bandwidth modifier
	  Add TIAS modifier as specified in RFC 3890.
	  Do some whitespace fixes.

2010-05-07 00:10:22 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audioconvert/audioconvert.c:
	  audioconvert: disambigue comment due to popular demand
	  Write "target depth" instead of "our depth" or previous ambigous "out depth".

2010-05-06 15:40:34 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: disconnect signals in some more cleanup cases

2010-05-06 13:10:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't seek when no current chain
	  Avoid a crash when we try to seek when there is no current chain.

2010-05-06 12:21:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: ignore the skeleton start time
	  Ignore the skeleton start time as it is usually wrong for live streams
	  and we have the needed logic to calculate it anyway.

2010-05-06 12:06:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: wait for headers before exposing chains
	  Wait until we have all the stream headers before we start exposing the streams
	  of a chain.

2010-05-06 10:56:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: use index to estimate bitrate
	  When we have an index, use it to much more accurately estimate the total stream
	  bitrate.

2010-05-06 11:34:53 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  docs: be more firendly to gtk-doc limitted parsing capabilities

2010-05-06 09:42:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  docs: fix wrong doc markup

2010-05-06 09:17:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: use can_intersect to avoid a caps copy

2010-05-06 09:14:25 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/videorate/gstvideorate.c:
	  videorate: trucate own caps, instead of copying and using the first only
	  We got the caps from an intersect, it is our own, hence we can truncate it.
	  Besides gst-indent has chooses to line-up all caps in one line again :/.

2010-05-06 09:12:32 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin.c:
	  decodebin: use can_intersect to avoid a caps copy

2010-05-06 09:11:17 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/libvisual/visual.c:
	  libvisual: trucate own caps, instead of copying and using the first only
	  We got the caps from an intersect, it is our own, hence we can truncate it.

2010-05-06 08:20:10 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: have a copy_sample func as a func pointer
	  Make some more variants for copy_sample funcs and use them via function pointer.

2010-05-06 08:16:45 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audioconvert/audioconvert.c:
	  audioconvert: fix typo in comment

2010-05-06 08:15:16 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: use gst_caps_can_intersect() more
	  In place where we just need to know whether caps intersect, we can use this
	  quicker function.

2010-04-15 13:09:45 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/position-formats.c:
	  examples: add a test for difference position formats
	  The test runs position and duration queries on the pipeline in all formats.

2010-04-15 13:08:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/audio-trickplay.c:
	  example: update status (adder is fixed now)

2010-04-15 13:08:01 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/playbin-text.c:
	  example: make app static

2010-05-05 13:25:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: printf format fixes

2010-05-04 15:32:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: weekday and month names in RTSP date string should be in C locale
	  Create date string using C locale weekday and month names.
	  Fixes #617636.

2010-05-04 17:54:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add all qtdemux types to downloadable types
	  Add all the media types that qtdemux can handle to the list of downloadable
	  types.

2010-05-04 17:38:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: handle corrupt indexes
	  Make sure we handle and receover from corrupt indexes.

2010-05-04 15:47:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix EOS check

2010-05-04 13:51:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: avoild division by 0

2010-05-04 13:50:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: cleanup unused defines

2010-05-04 13:36:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: use the index in push mode when we can
	  When seeking in push mode, try to use the index first before we use the bitrate
	  estimation.

2010-05-04 13:05:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: use skeleton duration when possible

2010-05-04 13:02:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggstream: parse duration from 3.3 skeleton

2010-03-02 11:16:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: more index parsing work

2010-03-01 13:50:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: clean up fishead/fisbone parsing
	  Remove some redundant code for parsing fishead streams. Actually use the data we
	  parsed (mostly start_time).

2010-05-04 11:19:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: implement seek in push mode
	  Refactor start time collection code.
	  When we receive a flush_stop, resync to the new start time and push out a new
	  segment event.

2010-05-03 16:52:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: make event handling better
	  Explicitly handle FLUSH events and resync on FLUSH_STOP.
	  Make send_event return a boolean.
	  Use more performant send_event function to forward events.

2010-04-30 18:37:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: implement seeking in pushmode
	  Convert seek requests to bytes using the bitrate and forward them upstream. Does
	  not quite work because the flushing and resyncing is not implemented yet.

2010-04-30 18:03:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: refactor for seeking in pushmode
	  refactor the code a little to prepare for seeking in push mode

2010-05-03 12:46:34 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds new geo-location mappings
	  Adds GST_TAG_GEO_LOCATION_MOVEMENT_SPEED,
	  GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION and
	  GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION to xmp
	  mappings.
	  Tests included.

2010-04-26 22:08:41 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds xmp mappings for device tags
	  Adds xmp mappings for GST_TAG_DEVICE_MANUFACTURER and
	  GST_TAG_DEVICE_MODEL. Also adds tests for it.

2010-04-30 19:56:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspbase64.c:
	* gst-libs/gst/rtsp/gstrtspbase64.h:
	  rtsp: deprecate remaining base64 function now that we depend on GLib 2.20
	  API: deprecate gst_rtsp_base64_decode_ip(), use g_base64_decode_inplace() instead

2010-04-30 19:37:33 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basertpdepayload: ensure writable metadata

2010-04-30 17:41:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: use bitrate to estimate length in pushmode
	  Parse the bitrate from the various streams.
	  Use the bitrate and the upstream length in bytes to estimate the total stream
	  duration in push mode.

2010-04-30 14:07:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/gio/gstgiobasesrc.c:
	  Bump GLib requirement to 2.20
	  See http://gstreamer.freedesktop.org/wiki/ReleasePlanning/GLibRequirement

2010-04-30 13:36:59 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: forward duration query duration during group switch if no cached duration
	  ... such as during first group setup.
	  Fixes #616396.

2010-04-02 16:37:21 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: only EOS when all streams are EOS

2010-04-02 16:36:53 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix debug message

2010-04-30 08:45:43 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/audio-trickplay.c:
	  test: fix copy and paste error of variable name

2010-04-18 20:46:37 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: only accept seek-types none and set
	  Previously we were also acting on cur and end, but treating them like none.

2010-04-14 23:31:20 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: rework timestamping
	  Adder was using always incrementing timestamps. Seeking was done by setting the
	  position in the newsegment event. This was failing when doing segmented seeks
	  with rate<0.0, as offset (and thus timestamp) would go below 0.
	  Now we take both cur and end from the seek event. We construct newsegment events
	  depending including cur and end from the seek event. We set position to the
	  start of the segment. Timestamp is set to start or end of segment depending on
	  rate. Offset is recalculated.

2010-04-26 17:30:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Add support for deinterlacing
	  This is disabled by default and can be enabled with the
	  deinterlace flag.
	  Fixes bug #547603.

2010-04-26 11:12:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	  playbin2: Add flag for enabling/disabling automatic deinterlacing

2010-04-26 11:11:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplay-enum.c:
	  playbin: Use g_once_init_{enter,leave} instead of GOnce for enum/flag registration

2010-04-23 17:01:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/Makefile.am:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	  ffmpegcolorspace: Use GST_BOILERPLATE and use GstVideoFilter as base class
	  This gives automatic QoS handling.

2010-04-23 16:24:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Correctly reconfigure the video chain when switching from a subtitle to a non-subtitle file
	  Fixes bug #616422.

2010-04-23 16:08:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If a text sink is provided, let subtitle parsing be done by decodebin2 if required
	  This way subtitle sinks only get buffers in the format that they
	  understand, i.e. raw parsed text in most cases.
	  Fixes bug #614942.

2010-04-23 15:30:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Set subtitle encoding on the decodebins again

2010-04-23 15:22:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: API: Add GST_VIDEO_FORMAT_v308 for packed 4:4:4 YUV

2010-04-23 15:14:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: Some random cleanup

2010-04-23 15:06:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add support for Y444, Y42B and Y41B

2010-04-23 14:42:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Reorder template caps by the amount of information contained in the color formats

2010-04-22 15:46:17 -0400  Joshua M. Doe <joshua.doe@us.army.mil>

	* gst/videorate/gstvideorate.c:
	  videorate: add support for video/x-raw-gray

2010-04-29 15:05:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/inspect/plugin-decodebin2.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	  docs: remove references to and introspection data of plugins that no longer exist
	  Some plugins (decodebin2, playbin) have been renamed or merged
	  into different plugins (uridecodebin, playback).

2010-04-29 15:02:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development.

=== release 0.10.29 ===

2010-04-28 02:16:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.29

2010-04-28 01:34:24 +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/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/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

2010-04-25 23:14:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.28.3 pre-release

2010-04-20 17:20:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-plugins-base.doap:
	  doap: update repository info from cvs->git and maintainers

2010-04-23 14:39:46 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From fc85867 to 4d67bd6

2010-04-22 20:58:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Fix Y41B->Y444 conversion
	  ...which is the intermediate conversion for conversion to all
	  other formats.
	  Fixes bug #616545.

2010-04-16 20:03:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Don't leak the input buffer in error cases
	  Fixes bug #615572.

2010-03-29 12:53:11 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  docs: fix typo in link name

2010-04-15 12:59:53 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: gracefully handle ximagesink>xwindow == NULL
	  Expose could be called before we have set the xwindow. Handle this gracefully
	  like we do in image_put.
	  Fixes #615789

2010-04-15 11:44:49 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	  ximagesink: refactor _update_geometry()
	  Refactor like in xvimagesink. Remove the extra parameter and adjust the assert check.

2010-04-15 07:18:05 -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 14:13:25 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/tag/lang-tables.dat:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  0.10.28.2 pre-release

2010-04-14 13:50:21 +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/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/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: update translations

2010-04-13 16:20:10 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: init geometry when setting new xid
	  Don't rely on expose event to query geomentry after new xid is set.
	  Fixes #615647.

2010-04-14 13:43:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audioconvert/Makefile.am:
	* tests/examples/app/Makefile.am:
	* tests/examples/dynamic/Makefile.am:
	* tests/examples/gio/Makefile.am:
	* tests/examples/volume/Makefile.am:
	* tests/old/examples/switch/Makefile.am:
	  build: use LDADD instead of LDFLAGS to specify libs to link to when building executables
	  Use foo_LDADD instead of foo_LDFLAGS to specify the libraries to link to.
	  This should make sure arguments are passed to the linker in the right
	  order, and makes LDFLAGS usable again.
	  Based on initial patch by Brian Cameron <brian.cameron@oracle.com>
	  Fixes #615697.

2010-04-12 14:02:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add channels and rate to ADTS caps if we can

2010-04-12 13:33:18 +0100  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/typefind/Makefile.am:
	* gst/typefind/gstaacutil.c:
	* gst/typefind/gstaacutil.h:
	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add AAC level to ADTS caps
	  This adds code to calculate the level for a given AAC stream and export
	  it in the stream caps. For AAC LC streams, the level is calculated
	  according to the definition under the AAC Profile. For other streams,
	  the definition under the Main Profile is used.
	  HE-AAC support is still to be done, and is dependent on detecting the
	  presence of SBR and PS in the stream.
	  Level is added as a field of type string because that's the way it's
	  done in H.264 caps as well. There are only a few possible levels, so
	  not using a numerical type is not too painful in this case, and
	  consistency is nice.
	  Fixes #613589.

2010-03-10 13:32:53 +0000  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add AAC profile to ADTS caps
	  This looks at the AAC profile for ADTS streams and adds the profile as a
	  string in the corresponding caps.
	  Profile is the actual profile, base-profile denotes the minimum codec
	  requirements to decode this stream. In this case they're always the
	  same, but they may differ e.g. in case of certain HE-AAC streams that
	  can be partially decoded by LC decoders (with loss of quality of course)
	  if no suitable HE-AAC decoder is available.
	  Fixes #612312.

2010-04-11 22:58:15 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: add support for negative playback rates
	  Decrement sample counter when playing backwards. Set proper segment when playing
	  backwards (0..cur instead or cur..-1). Add more logging and fix a format string.

2010-03-26 19:00:47 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiopayload: use ptime-multiple
	  Based on patch by Olivier Crête <olivier.crete@collabora.co.uk>
	  Fixes #613248

2010-04-09 16:06:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  audiopayload: add property to control packet duration
	  Add a property to specify that the amount of data in a packet should be a
	  multiple of ptime-multiple.
	  See #613248

2010-04-09 11:20:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 218568f to fc85867

2010-04-08 17:49:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.h:
	  playback, ogg: dist new gstplayback.h and gstogg.h

2010-04-09 08:23:33 +0200  Thomas Green <thomasgr33n@googlemail.com>

	* gst/playback/gstplaybin.c:
	  playbin: Only unref the volume element on dispose and when a new audio sink is set
	  Unreffing it whenever the sinks are removed will make the volume
	  element unavailable after a playbin reuse because it is only
	  recreated if the audio sink has changed.
	  Fixes bug #614288.

2010-04-08 07:39:08 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Be sure that metadata is writable before setting caps
	  Call gst_buffer_make_metadata_writable before attempting
	  to set caps on the buffer.

2010-04-08 12:21:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/gio/gstgio.c:
	* ext/gnomevfs/gstgnomevfs.c:
	  ext: Invert rank of gio and gnomevfs elements

2010-04-08 01:26:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: don't pass non-constant strings as printf format strings
	  Fixes 'format not a string literal and no format arguments' compiler
	  warning when compiling with -DGST_DISABLE_PRINTF_EXTENSION.

2010-04-07 20:21:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  docs: add gtk-doc chunks with Since: tags for new GST_VIDEO_CAPS_GRAY* API

2010-04-07 19:07:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* autogen.sh:
	* configure.ac:
	  build: bump autoconf requirement to 2.60 for gobject-introspection.m4
	  Require autoconf 2.60 (which was released in June 2006).
	  Fixes #600718.

2010-04-07 17:25:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  video: Fix parsing of 8-bit grayscale caps

2010-04-07 17:21:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.h:
	  video: API: Add GST_VIDEO_CAPS_GRAY{8,16}

2010-04-07 17:08:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  video: API: Add gst_video_format_is_gray() to the docs

2010-04-07 17:07:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  video: Add new symbol to the exported symbols list

2010-04-07 17:06:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add support for 8-bit and 16-bit grayscale formats

2010-04-06 10:55:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: Handle closed POST socket in tunneling
	  Catch more socket errors.
	  Rework how sockets are managed in the GSource, wake up the maincontext instead
	  of adding/removing the sockets from the source.
	  Add callback for when the tunnel connection is lost. Some clients (Quicktime
	  Player) close the POST connection in tunneled mode and reopen the socket when
	  needed.
	  See #612915

2010-04-04 21:24:44 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  configure: fix cdparanoia check
	  Linking with libcdda_paranoia.so requires also linking with
	  libcdda_interface.so.

2010-04-04 18:00:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/libs/tag.c:
	  tests: tag: Refactor a bit
	  Refactor xmp tags unit tests and remove an useless assertion.
	  This will make easier to add unit tests to serialize/deserialize
	  taglists.

2010-04-04 21:18:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Ignore errors when unpreparing or closing the device
	  Errors could happen here when the device was removed already
	  or when something is broken anyway. If errors happen here and
	  they're propagated, the element can't shutdown cleanly.
	  Fixes bug #614545.

2010-04-04 20:55:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	  alsamixer: Detect errors from device polling, stop the task and post an error message
	  Partially fixes bug #614545.

2010-04-04 12:13:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* tests/examples/seek/Makefile.am:
	  examples: build silly joystick seek example only on linux
	  jsseek depends on linux headers and should therefore only be built
	  on linux.
	  Fixes #614764.

2010-04-03 22:49:11 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: swap timestamps in forward and reverse mode.
	  In reverse mode we want use the next next timestamp (and not the other way
	  around). Fixes the tests again. Also readd a log line that was dropped with
	  previous commit.

2010-04-03 14:03:45 +0100  Vincent Untz <vuntz@gnome.org>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  libs: point gobject-introspection scanner to .la files
	  Point g-ir-scanner to the .la file of our library, which hopefully
	  makes it find the right dependencies in all cases (ie. our locally
	  built libgstreamer and not the system-installed one). This is also
	  how it's done in Gtk+ and how it's documented in the wiki, see
	  http://live.gnome.org/GObjectIntrospection/AutotoolsIntegration
	  Fixes #603710.

2010-04-02 21:01:25 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: implement reverse playback
	  Support playback at negative rates. When having a GstController assigned, the
	  element will produce time dependend output.

2010-04-02 20:56:19 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/audio-trickplay.c:
	  tests: extend audio-trickplay test app
	  Tell status in top comment. Use debug logging instead of print to be able to
	  see timing issue in debug log viewer. Add more commandline flags. Test reverse
	  playback.

2010-04-02 18:56:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Only use embed_xid if HAVE_X is defined
	  Fixes bug #614622.

2010-04-01 19:13:22 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/pipelines/basetime.c:
	  tests/basetime: Don't run test with osxaudiosrc
	  libcheck runs the actual tests in a forked process and that makes the guys
	  in Cupertino really sad.

2010-04-01 18:51:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: Unref the bus once we're done with it

2010-04-01 16:49:37 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  common: Update for new suppressions

2010-04-01 13:55:15 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  gstplaysink: Remove unused variable.
	  The value of klass is never used

2010-04-01 13:53:37 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Removing dead assignment.
	  The value of group is overwritten a few lines below before being used.

2010-04-01 13:51:13 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Remove unused variable

2010-04-01 13:48:42 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/gnomevfs/gstgnomevfssink.c:
	  gstgnomevfssink: Return the proper GstFlowReturn.
	  We were always returning GST_FLOW_OK previously even if we encountered errors.

2010-03-30 23:44:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gst-libs: more gobject-introspection fixes
	  Use right .pc file variable for compiler includes this time:
	  g-ir-compiler wants the girdirs not the typelibdirs as includes.

2010-03-30 20:21:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/jsseek.c:
	  examples: fix printf format warning in jsseek example
	  Yes, I know about G_GSIZE_FORMAT.

2010-03-30 19:56:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gst-libs: fix up gobject-introspection some more
	  Use new girdir and typlibdir from core .pc files, so we can figure
	  out the right includes to pass to the gobject-introspection tools,
	  whether core is installed in the same prefix as gobject-introspection
	  or in a different prefix or uninstalled. This also keeps us from adding
	  bogus paths to the includes that only work if core is uninstalled.
	  Also add some missing includes/pkgs where needed.

2010-03-30 19:29:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	  Our RIFF library depends on both the audio and tag libraries
	  Update rules in Makefile.am accordingly.

2010-03-30 15:10:42 +0200  Robert Swain <robert.swain@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix aduio_raw_sink typo

2009-11-28 21:03:44 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/seek/.gitignore:
	* tests/examples/seek/Makefile.am:
	* tests/examples/seek/jsseek.c:
	  examples: Add a silly joystick based shuttle example

2010-03-29 20:07:52 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: 0-length packets are delta units

2010-03-29 10:47:31 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	  gst-libs: build independent sub-directories in parallel if make -jN is used
	  Build those libraries that don't depend on any other gst-plugins-base
	  libraries in parallel if make -jN is used.

2010-03-29 00:22:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* ext/Makefile.am:
	* gst/Makefile.am:
	* sys/Makefile.am:
	* tests/examples/Makefile.am:
	  build: build plugin and example directories in parallel if make -jN is used
	  We know our plugins and examples are independent of each other, so may
	  just as well build them in parallel. Makes the output a bit messy, but
	  that shouldn't be a problem and can easily be avoided with make -j1.

2010-03-28 21:50:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	  gst-libs: specify dependencies in Makefile.am to make them explicit

2010-03-24 09:59:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	* sys/xvimage/xvimagesink.c:
	* tests/icles/test-xoverlay.c:
	  xoverlay: change new set_render_rectangle() vfunc to take four arguments so we don't depend on libgstvideo
	  Don't make libgstinterfaces (and thus libgstaudio etc.) indirectly depend
	  on libgstvideo by using the GstVideoRectangle helper structure in the API,
	  which causes undesirable dependencies, esp. with the gobject-introspection
	  (people will point and laugh at us if they find out that libgstaudio
	  depends on libgstvideo). Instead, pass the x, y, width and height parameters
	  directly to the function.
	  Re-fixes #610249.

2010-03-25 18:45:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: we can handle avi in download mode too
	  Add avi to the whitelisted types that can be used for download buffering.

2010-03-26 15:57:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Provide packet duration function for old FLAC mapping too
	  Fixes bug #613809.

2010-03-18 22:12:40 +0000  Damien Lespiau <damien.lespiau@intel.com>

	* autogen.sh:
	  autogen.sh: Don't call configure with --enable-plugin-docs
	  configure gives a nice warning:
	  configure: WARNING: unrecognized options: --enable-plugin-docs
	  and indeed, I could not find anything in the configure.ac or the m4
	  macros that would allow enabling that option. Remove it then.

2010-03-24 23:04:43 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Do not remove tag from list twice
	  There was a but when parsing the tags that removed two tags
	  from the list when only one was parsed

2010-03-24 14:43:21 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Add some comments
	  Just adds some comments explaining some stuff about the
	  (de)serialization functions. Add myself to the copyright list too.

2010-03-24 10:18:13 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds _USER_RATING mapping for xmp
	  Adds a new mapping for _USER_RATING on xmp helper lib
	  and also adds tests for it

2010-03-23 09:32:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Add Elevation tag mapping
	  Adds a mapping to the _ELEVATION tag, this is a different
	  mapping as it has to be mapped into exif:GPSAltitude and
	  exif:GPSAltitudeRef at the same time. So we needed to refactor
	  a little more to be able to deserialize it properly.
	  Now, when parsing a xmp buffer into a taglist all tags are
	  added to a list before being parsed so that when one of the
	  altitude tags are found the deserialization function can search
	  for its complementary tag to do the correct parsing
	  Fixes #613690

2010-03-23 09:48:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Fix off by one
	  Avoid ignoring single char tags, like exif:GPSAltitudeRef
	  Fixes #613690

2010-03-22 15:18:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	* tests/check/libs/tag.c:
	  tag: xmp: Adds mappings for LATITUDE and LONGITUDE
	  Adds the mappings for those tags and tests
	  for tags serialization.
	  Fixes #613690

2010-03-22 22:03:09 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Refactor buffer parsing
	  When parsing the xmp buffer into the gst taglist store the
	  found tags into a list to be parsed only after finding all
	  tags on the buffer. This allows the parser function to search
	  this list for complimentary tags that should be parsed together
	  Fixes #613690

2010-03-20 11:17:38 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: Refactor mappings storage
	  This commit is only refactoring, no fetaures added.
	  Do not store tags in flexible arrays as it doesn't allow us
	  to use nested flexible arrays. This is going to be needed in the
	  following commits to map gst tags that are stored into
	  2 separate tags in xmp (Not that they are alternatives, but
	  they are complementary).
	  For example, GST_TAG_ELEVATION is represented in the exif
	  schema with 2 fields: the absolute altitude and an integer
	  to indicate if it is above or below sea level.
	  The previous mappings storage wouldn't allow us to
	  express it.
	  Also store a serialization and a deserialization function
	  for each xmp tag as some of them require some non-trivial
	  convertion to its string form.
	  Fixes #613690

2010-03-24 18:51:42 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 55cd514 to c1d07dd

2010-03-24 18:55:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: parse more info from the buffering query
	  Parse more info from the buffering query and log this as debug info.

2010-03-24 12:10:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptransport: ignore unparsable ranges
	  Ignore unparsable port ranges instead of erroring out.
	  Fixes #613591

2010-03-23 18:36:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  win32: Add new gst_rtsp_lower_trans_get_type() symbol to the symbol lists

2010-03-23 11:01:17 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add some more fourcc for MPEG-4 video

2010-03-22 09:15:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: require core git

2010-03-22 08:38:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft.pc.in:
	  pkgconfig: Add @LIBM@ to the FFT pkg-config files

2010-03-22 08:35:57 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-cdda-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-floatcast-uninstalled.pc.in:
	* pkgconfig/gstreamer-floatcast.pc.in:
	* pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	* pkgconfig/gstreamer-netbuffer-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	  pkgconfig: Fix include and library paths for the uninstalled pc files

2010-03-20 13:42:32 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	  gio: add cast to avoid compiler warning with old GLib versions
	  g_file_input_stream_query_info() had char * instead of const char *
	  as attribute argument before 2.20.
	  Fixes #613387, spotted by tetsuyayasuda@gmail.com

2010-03-20 12:55:36 +0000  Torsten Schönfeld <kaffeetisch@gmx.de>

	* gst-libs/gst/interfaces/xoverlay.c:
	  docs: add Since: tags to gst_x_overlay_handle_event() docs
	  Fixes #613403.

2010-03-19 22:33:58 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  Constify some strings in the API
	  Needed by plugins-good

2010-03-19 16:41:54 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Only set color-matrix and chroma-site for relevant formats
	  The color-matrix only makes sense for colorful formats, i.e. not Y800
	  and the chroma-site only for non-4:4:4(:4) formats.

2010-03-19 15:37:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: add QoS messages to the decoder
	  Post QoS messages when we drop a frame because of QoS.

2010-03-19 15:00:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: add GType for transport flags
	  Make a method to register the transport flags as a GType.

2010-03-19 01:00:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/Makefile.am:
	* ext/gio/Makefile.am:
	* ext/gnomevfs/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst/ffmpegcolorspace/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* sys/v4l/Makefile.am:
	* tests/examples/app/Makefile.am:
	* tests/examples/overlay/Makefile.am:
	* tests/icles/Makefile.am:
	  build: Makefile.am fixes
	  Mostly just add missing $(GST_BASE_CFLAGS), but also fix up order
	  of flags (see docs/random/moving-plugins).

2010-03-19 00:46:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/.gitignore:
	  .gitignore: ignore new unit test binary

2010-03-17 23:57:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure.ac: -Wmissing-prototypes and -Wnested-externs are not valid for C++
	  Fixes building Qt-based overlay examples in combination with -Werror.

2010-03-17 16:32:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure.ac: wrap overly long warning flag lines

2010-03-17 19:24:27 -0300  Reuben Dowle <reube.dowle@navico.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: Fix caps leak
	  Unref caps when peer doesn't accept caps
	  Fixes #613198

2010-03-17 08:13:59 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	  tests: capsfilter-renegotiation: Adds a new unit test
	  Adds a new test for checking that capsfilter 'caps' property
	  changes cause caps renegotiation on the pipeline.

2010-03-17 16:46:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_scanline.c:
	  videoscale: Use correct boundary checks for YUY2/UYVY
	  Fixes bug #613093.

2010-03-17 16:39:13 +0100  Peter Kjellerstedt <peter.kjellerstedt@axis.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  rtsp: Further clean up of gst_rtsp_strresult()
	  Since we no longer use an array of error messages, there is no reason
	  to clamp the error code, which allows us to simplify the code some more
	  and also to actually report the correct error code for unknown errors.

2010-03-17 15:41:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Remove useless cast
	  It's not necessary anymore after latest core change to GstValueArray.

2010-03-17 12:08:30 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	  Add more warning flags
	  The warnings are:
	  -Wcast-align
	  -Winit-self
	  -Wmissing-include-dirs
	  -Waddress
	  -Waggregate-return
	  -Wno-multichar
	  -Wnested-externs
	  No code needed to be fixed.

2010-03-17 11:14:29 +0100  Benjamin Otte <otte@redhat.com>

	* gst/audioconvert/gstfastrandom.h:
	  Fix for -Wold-style-definition
	  I didn't add the flag to configure because libvisual ships headers that
	  trigger this warning.

2010-03-17 10:53:21 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	* ext/pango/gstclockoverlay.h:
	* gst/subparse/mpl2parse.c:
	  Add -Wformat-nonliteral -Wformat-security
	  And fix the resulting compile failures.
	  I'm sorry about the patch necessary to gstclockoverlay.h but after
	  talking to Tim we decided we can live with it.

2010-03-17 10:51:57 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  rtsp: Refactor gst_rtsp_strresult
	  2 goals in the refactoring:
	  - Put the error messages closer to their enum values, so that it's easy
	  to see which error belongs to which value.
	  - Make gcc not complain with -Wformat-nonliteral

2010-03-17 10:47:07 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmp: Refactor code
	  I initially looked here because I wanted compiles to not fail with
	  -Wformat-nonliteral but ended up refactoring the code to make it look
	  nicer.
	  As I lack a large collection of XMP tagged files, I only did rough
	  testing of the code. The testsuite passes though.

2010-03-16 20:05:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* m4/Makefile.am:
	* m4/a52.m4:
	* m4/aalib.m4:
	* m4/as-arts.m4:
	* m4/as-ffmpeg.m4:
	* m4/as-liblame.m4:
	* m4/as-slurp-ffmpeg.m4:
	* m4/esd.m4:
	* m4/gconf-2.m4:
	* m4/glib.m4:
	* m4/gst-artsc.m4:
	* m4/gst-matroska.m4:
	* m4/gst-sdl.m4:
	* m4/gst-shout2.m4:
	* m4/gst-sid.m4:
	* m4/gtk.m4:
	* m4/libfame.m4:
	* m4/libmikmod.m4:
	  m4: remove some unused .m4 files

2010-03-16 18:31:15 +0100  Benjamin Otte <otte@redhat.com>

	* ext/alsa/gstalsaplugin.c:
	* ext/ogg/gstoggdemux.c:
	  More ENABLE_NLS fixes

2010-03-16 18:06:16 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/gettext.h:
	  Fix for ENABLE_NLS being undefined for -Wundef

2010-03-15 22:49:53 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	* ext/libvisual/visual.c:
	* ext/theora/gsttheoraenc.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/tag/tags.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	* gst/volume/gstvolume.c:
	* sys/v4l/gstv4lelement.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/gdpdepay.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2.c:
	* tests/check/elements/videorate.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/video.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/icles/stress-playbin.c:
	  Add -Wwrite-strings to configure
	  Fixes for the code included

2010-03-16 15:45:23 +0100  Benjamin Otte <otte@redhat.com>

	* ext/alsa/gstalsamixer.c:
	* ext/alsa/gstalsamixerelement.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/gnomevfs/gstgnomevfssink.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.h:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gststreamselector.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/v4l/gstv4ljpegsrc.c:
	* sys/v4l/gstv4lmjpegsink.c:
	* sys/v4l/gstv4lmjpegsrc.c:
	* sys/v4l/gstv4lsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/playbin2.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/libs/cddabasesrc.c:
	* tests/check/libs/pbutils.c:
	* tests/old/testsuite/alsa/formats.c:
	* tests/old/testsuite/alsa/sinesrc.c:
	  gst_element_class_set_details => gst_element_class_set_details_simple
	  Also change my email from the old university one to the current one.

2010-03-15 22:17:56 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	  Add -Wundef flag

2010-03-16 16:15:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: allow for more ipv6 addresses
	  Use hints in getaddrinfo() so that we can also resolve ipv6 addresses.

2010-03-11 14:52:09 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: arrange for a running ringbuffer/clock for _wait_eos
	  Fixes #612223.

2010-03-16 01:08:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  tests: fix videorate test
	  Fix up videorate test for latest videotestsrc changes: just check for
	  the important bits in the negotiated caps, not for exact equality with
	  our filter caps. Also don't leak the videorate element in the test.

2010-03-15 12:54:32 -0500  Rob Clark <rob@ti.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add mapping for On2 VP7 fourccs
	  Fixes #612968.

2010-03-15 12:54:01 -0500  Rob Clark <rob@ti.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add mapping for On2 VP62 fourcc
	  See #612968.

2010-03-15 23:46:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/multichannel.c:
	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/interfaces/propertyprobe.c:
	* gst-libs/gst/interfaces/tuner.c:
	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  docs: more helper libraries docs fixes
	  Quieten gtk-doc a bit more.

2010-03-15 23:47:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	  docs: add GstRTSPExtension to docs
	  Add minimal docs for GstRTSPExtension so people know it exists.

2010-03-15 18:45:13 +0000  David Hoyt <dhoyt@llnl.gov>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: use g_ascii_strncasecmp() instead of strncasecmp()
	  g_ascii_strncasecmp() is more portable and likely more robust as
	  well (with random binary data as input).
	  Fixes #612845.

2010-03-15 13:39:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  docs: fix typo in gst_tag_list_from_xmp_buffer() docs chunk

2010-03-15 13:32:58 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/navigation.c:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	  docs: fix up interfaces library docs to make gtk-doc happy

2010-03-15 13:24:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new libgstvideo API to documentation

2010-03-15 13:19:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstinterfaces.def:
	* win32/common/libgstvideo.def:
	  win32: add recently added API to .def files
	  Also add API markers to make life easier for the release manager:
	  API: gst_x_overlay_set_render_rectangle()
	  API: gst_video_parse_caps_color_matrix()
	  API: gst_video_parse_caps_chroma_site()

2010-03-15 13:14:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: use C comments instead of C++-style comments

2010-03-15 13:10:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: use g_value_set_static_string() for string constants

2010-03-15 14:26:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Avoid g_object_set() on NULL if a text sink is used
	  Fixes bug #611702.

2010-03-15 14:10:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Correctly escape brackets in DKS regex
	  Fixes bug #612783.

2010-03-15 11:36:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: make timeout usec more accurate
	  Adjust the returned usec from the elapsed time so it represents the remaining
	  timeout.

2010-03-15 11:41:35 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/videorate.c:
	  tests: update videorate test for videotestsrc changes
	  Add color-matrix to the caps we are comparing. Add logging og the caps in the
	  test.

2010-03-15 01:35:15 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add chroma-zone-plate pattern
	  pattern=chroma-zone-plate is pattern similar to zone-plate,
	  but in the chroma channels instead of luma.

2010-03-15 01:34:09 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoradec.c:
	  theoradec: add chroma-site to caps

2010-03-15 01:33:36 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: add chroma-site to caps

2010-03-15 01:31:20 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: add gst_video_parse_caps_chroma_site()

2010-03-14 19:10:16 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoradec.c:
	  theoradec: add color-matrix to caps

2010-03-14 16:17:46 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add color-matrix to template caps

2010-03-14 22:14:19 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-xoverlay.c:
	  tests: make Gtk+ test programs compile with -DGSEAL_ENABLE
	  Fixes #612552, at least for now.

2010-03-14 22:13:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	  build: add cruft alert for common/shave* leftovers to top-level Makefile.am

2010-03-14 13:11:53 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't drop zero-sized packets
	  Zero-sized packets have relevence to Theora.

2010-03-12 15:47:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Revert rounding behaviour changes when using controlled volume properties
	  Now the controlled and non-controlled code paths are all having
	  exactly the same rounding behaviour and the unit tests pass again.

2010-03-12 15:44:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Only allocate a mute value array if a control source exists for the mute property

2010-03-12 13:55:55 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From e272f71 to 55cd514

2010-03-10 10:50:32 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  tags: Add new mapping to XMP helpers
	  Adds geotagging mappings to XMP helpers
	  Fixes #609539

2010-03-11 20:16:44 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/interfaces/Makefile.am:
	  Don't have 2 include dirs
	  Seems to have been accidentally introduced in
	  7269bc26d0a4bf44bd77a039fb54777625ef5f39.

2010-03-11 16:35:10 +0100  Edward Hervey <bilboed@bilboed.com>

	* tests/icles/audio-trickplay.c:
	  tests: Fix another unitialized variable

2010-03-11 16:09:26 +0100  Edward Hervey <bilboed@bilboed.com>

	* tests/icles/audio-trickplay.c:
	  tests: Fix unitialized variable.

2010-03-11 15:38:18 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	* ext/ogg/gstoggdemux.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioquantize.h:
	* gst/audioconvert/gstchannelmix.h:
	* gst/playback/gstplaysink.c:
	  Add -Wredundant-decls to warning flags
	  ... and fix all the warnings that flag throws.

2010-03-11 13:32:14 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	* ext/ogg/Makefile.am:
	* ext/ogg/gstogg.c:
	* ext/ogg/gstogg.h:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggmux.h:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstogmparse.c:
	* ext/ogg/vorbis_parse.c:
	* ext/ogg/vorbis_parse.h:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.h:
	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/riff/riff.c:
	* gst-libs/gst/rtsp/gstrtspbase64.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/tag/lang.c:
	* gst/ffmpegcolorspace/Makefile.am:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.h:
	* gst/gdp/gstgdppay.h:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	* gst/videorate/gstvideorate.h:
	* tests/check/elements/appsink.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/libs/cddabasesrc.c:
	* tests/check/libs/mixer.c:
	* tests/check/libs/navigation.c:
	* tests/examples/gio/giosrc-mounting.c:
	  Add -Wmissing-declarations -Wmissing-prototypes to warning flags
	  Includes all the fixes necessary to make stuff compile again.

2010-03-11 12:49:02 +0100  Benjamin Otte <otte@redhat.com>

	* ext/gio/gstgiobasesink.c:
	  gio: Remove unused function

2010-03-11 11:14:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: make sure header buffer metadata is writable before modifying it
	  Fixes unit test failures with core git.

2010-03-11 12:18:00 +0100  Benjamin Otte <otte@redhat.com>

	* tests/check/elements/multifdsink.c:
	  check: Ref buffers after setting caps on them
	  Reffing makes metadata unwritable, so we need to set the caps before.

2010-03-11 12:04:32 +0100  Benjamin Otte <otte@redhat.com>

	* configure.ac:
	  Add WARNING_CXXFLAGS where ERROR_CXXFLAGS are
	  This matches the previous commit doing the same for CFLAGS in response
	  to the common/ module changes.

2010-03-11 12:04:37 +0100  Edward Hervey <bilboed@bilboed.com>

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

2010-03-11 10:38:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/test-xoverlay.c:
	  tests: don't use Gtk+ 2.18 API for no good reason
	  The rest of the code directly uses widget->allocation as well, so no point
	  in using the new API in other places.

2010-03-11 11:20:48 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From df8a7c8 to e272f71

2010-03-11 10:55:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/interfaces/xoverlay.c:
	  xvoverlay: correct version number in docs

2010-02-26 13:56:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/audio-trickplay.c:
	  tests: add a test for trickplay in audio synthesis graphs
	  Right now this mostly demonstatest what not works. That is seeking with
	  start-type = NONE to only update the rate and playing backwards. Also
	  it shows that non-flushing seeks tend to lockup adder. Separate unit tests
	  for the issues follow.

2010-02-08 17:20:35 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tag.h:
	* tests/check/libs/tag.c:
	* win32/common/libgsttag.def:
	  tags: add basic xmp metadata support
	  XMP metadata can be embedded in many media container formats. Implement own
	  parser and formatter that can be used to convert between an xpacket and a
	  GstTagList. Add unit tests.

2010-02-19 14:38:36 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/test-xoverlay.c:
	  example: add an example for xoverlay::set_render_rectangle()
	  This add a new example which animates a target recangle for the video.

2010-02-19 14:46:43 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimagesink: implement set_render_rectangle
	  Previously we hardcoded the target rectangle passes to Xv(Shm)PutImage. Extend
	  the implementation to use a full rectangle and don't assume 0,0 for top,left.

2010-02-17 15:00:13 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/xoverlay.c:
	* gst-libs/gst/interfaces/xoverlay.h:
	  xoverlay: add new vmethod ::set_render_rectangle()
	  Add set_render_rectangle() vmethod to the interface to better support windowless
	  toolkits (e.g. qt graphicsview or video on canvas in general). Right now we
	  always fill the widget to 100%. With the patch we can use a rectangular target
	  region. Fixes #610249.
	  API: GstXOverlay::set_render_rectangle()

2010-02-16 12:06:08 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: take new size from event thread and do not poll for every frame
	  We can update the geometry in ConfigureNotify (unless we disable event-
	  handling). If event handling is disabled, one should use _expose() to trigger a
	  redraw and update the geometry.

2010-03-10 21:51:59 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 9720a7d to df8a7c8

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 20:43:46 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 0b6e072 to 9720a7d

2010-03-10 16:09:45 +0100  Benjamin Otte <otte@redhat.com>

	* common:
	  Automatic update of common submodule
	  From 7cc5eb4 to 0b6e072

2010-03-10 14:36:34 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: do not cache FLUSH_START/_STOP events
	  ... and similarly so for serialized events.

2010-03-10 14:34:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: provide correct error message if configured audio/video sink fails

2010-03-10 10:22:47 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.h:
	  vorbisdec: remove unused field

2010-02-02 11:34:10 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/check/pipelines/vorbisdec.c:
	  tests: enable strict discontinuity checking on vorbisdec pipeline
	  Closes #423086.

2010-03-10 01:09:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 7aa65b5 to 7cc5eb4

2010-03-10 01:07:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	  docs: fix Returns: for gst_video_parse_caps_color_matrix()

2010-03-10 00:46:34 +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/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/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: update for changed string

2010-03-10 00:42:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  tests: fix typo in videorate unit test pipeline description
	  Two consecutive ! ! leave a 'Link without source' error in the debug log.

2010-03-10 00:41:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  tests: don't use deprecated functions in videorate unit test

2010-03-10 00:29:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32: add new API to libgstvideo.def

2010-03-09 15:39:55 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	  oggmux: Don't flush after every frame for theora

2010-03-09 21:26:58 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 44ecce7 to 7aa65b5

2010-03-09 13:05:23 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add color-matrix handling to caps

2010-01-30 22:55:01 -0800  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Add color-matrix to caps

2010-02-26 16:25:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* pkgconfig/Makefile.am:
	* tests/examples/overlay/Makefile.am:
	* tools/Makefile.am:
	  build: Make some more rules silent if requested

2010-02-26 15:40:49 +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-02-23 19:12:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Don't fail if there are subtitles and audio but no video
	  Change playbin2 to not error out if there are subtitles and audio
	  but no video. If visualizations are enabled the subtitles are rendered on top
	  of the visualization stream, otherwise the subtitles are not linked at all and
	  only the audio is played (and a warning message is posted).
	  If there are only subtitles but neither audio nor video an error message is
	  still posted.
	  Fixes bug #610866.

2010-02-17 19:18:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolume.h:
	  volume: If a controller is used, use sample accurate property values
	  Fixes bug #609801.

2010-03-09 19:17:04 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/video/video.c:
	  gstvideo: Fix typos in comments

2010-03-09 17:32:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Back to development

=== release 0.10.28 ===

2010-03-08 23:20:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.28

2010-03-08 23:19:57 +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/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/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

2010-03-08 21:57:03 +0100  Benjamin Otte <otte@redhat.com>

	* ext/theora/gsttheoraenc.c:
	  theora: Fix SIGFPE when using 0/1 framerate
	  libtheora crashes with a 0 framerate, so let's forbid it.
	  https://bugzilla.redhat.com/show_bug.cgi?id=571289

2010-03-08 14:50:25 +0000  David Schleef <ds@schleef.org>

	* ext/ogg/dirac_parse.c:
	  oggdemux: fix dirac header parsing
	  Fixes #611900.

2010-03-08 14:46:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/Makefile.am:
	  examples: make sure to dist qtgv-xoverlay.h header file
	  This time for real.
	  Fixes #610832.

2010-03-08 12:11:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basedepay: clarify some documentation

2010-03-08 11:25:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: return right number of bytes that we wrote

2010-03-08 11:20:51 +0100  Dake Gu <gudake@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: fix handling of x-server-ip-address
	  Fix handling of x-server-ip-address.

2010-03-02 11:25:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/design/draft-keyframe-force.txt:
	  docs: update keyframe force event
	  Add field to send all headers.

=== release 0.10.27 ===

2010-03-06 00:09:29 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.27

2010-03-06 00:08:23 +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/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/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

2010-03-05 15:58:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: first check for QtGui >= 4.6, only then for >= 4.0
	  If we first check for >= 4.0 the second check for >= 4.6 will just
	  short-cut since we are using the same prefix for the variables for
	  both checks, and they've already been set previously. So the examples
	  requiring >= 4.6 were built even in the >= 4.0 case.

2010-03-03 20:18:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.26.4 pre-release

2010-03-03 20:17:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/ja.po:
	  po: update translations

2010-03-03 20:15:44 +0000  Josep Torra Valles <n770galaxy@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: avoid g_object_set() on NULL pointers
	  There may not be an overlay element if a text-sink is set.
	  Fixes #611702.

2010-03-01 12:17:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: mark skeleton streams correctly
	  Mark skeleton streams because we need to ignore them for calculating the
	  duration of the stream.
	  Fixes #611227

2010-02-24 01:10:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* po/nl.po:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.26.3 pre-release

2010-02-23 16:57:53 +0100  Götz Waschk <waschk@mandriva.org>

	* tests/examples/overlay/Makefile.am:
	  examples: Dist header file for the Qt graphics view example
	  Fixes bug #610832.

2010-02-23 11:41:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: use the chain begin_time instead of our counter
	  We update the passed begintime argument to narrow our search region in the
	  binary search. This means that it does not always contain the chain begin time
	  after a couple of bisects. Use the real chain->begin_time to bring the
	  granuletime to the time in the chain instead.
	  Fixes #610005

2010-02-19 18:24:40 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* tests/check/elements/videorate.c:
	  videorate: tests: New unit tests for upstream caps nego
	  Adds unit tests that check videorate's upstream caps
	  negotiation works properly (put passthrough caps
	  first)
	  Fixes #608025

2010-01-27 15:07:47 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Improve upstream negotiation
	  Put peer pad caps preferred framerates first, indicating
	  they are videorate's first choices, removing an unnecessary
	  conversion.
	  Fixes #608025

2010-02-21 19:52:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  playbin2, playsink, subtitleoverlay: Set subtitle encoding properly
	  For this add subtitle encoding properties to playsink and subtitleoverlay
	  and update the values in the containing elements.
	  Also update the font description in textoverlay or the used renderer
	  element if it is changed during playback.
	  Fixes bug #610310.

2010-02-22 13:01:19 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/examples/overlay/qt-xoverlay.cpp:
	* tests/examples/overlay/qtgv-xoverlay.cpp:
	  examples: also add sink detection and set title to qt examples
	  Also set a title in the qt examples like it is now done in the gtk example.
	  Fix the newly added find_video_sink in the gtk example and add similar function
	  to the qt examples.

2010-02-19 14:40:43 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/overlay/.gitignore:
	  gitignore: ignore files in new example directroy

2010-02-17 14:59:33 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/Makefile.am:
	  make: fix copy and paste error in git rules (audio<->video)

2010-02-19 17:44:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Ghost the video sinkpad if a text sinkpad is available
	  Only don't ghost it if no visualizations are need and if
	  no text is needed and no textchain was created yet.
	  Fixes bug #610379.

2010-02-19 00:22:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.26.2 pre-release

2010-02-19 00:20:02 +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/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/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: update translation files

2010-02-19 00:17:51 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/.gitignore:
	  Ignore new overlay examples

2010-02-18 23:47:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/overlay/gtk-xoverlay.c:
	  examples: don't hard-code xvimagesink for Gtk+ GstXOverlay example
	  Try to find a working videosink, don't hardcode xvimagesink. Also
	  add some borders to window and give it a title so that it's clear
	  that this is really a Gtk+ window and not a window created by the
	  videosink.

2010-02-18 11:42:55 -0800  David Schleef <ds@schleef.org>

	* gst/tcp/gsttcp.c:
	  tcp(client/server)src: Fix handling of closed sockets
	  The peer closing the socket should cause an EOS, instead of
	  silently doing nothing.  This changes the behavior to be
	  more like fdsrc.  Fixes: #610386

2010-02-18 12:42:53 +0000  Patrick Radizi <patrick.radizi@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: make sure not to dereference NULL username or password
	  Fixes #610268.

2010-02-17 21:22:54 -0800  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoradec.c:
	  theoradec: Fix chroma copying for 4:2:2
	  Fix mixup of height/width, causing only half the chroma lines to
	  be copied when outputting buffers.  Fixes: #610329.

2010-02-16 15:43:26 +0200  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* gst-libs/gst/interfaces/xoverlay.c:
	* tests/examples/Makefile.am:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/overlay/gtk-xoverlay.c:
	* tests/examples/overlay/qt-xoverlay.cpp:
	* tests/examples/overlay/qtgv-xoverlay.cpp:
	* tests/examples/overlay/qtgv-xoverlay.h:
	  examples: add video overlay examples for gtk, qt and qt graphics view
	  Add simple videotestsrc ! xvimagesink examples using gtk and qt. This patch also
	  adds all boilerplate to configure for using c++. The qt based examples are
	  optional like their gtk counterparts.

2010-02-16 17:20:01 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/compiling.sgml:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: cleanup library docs
	  Correct name of included files. Remove files that are not used anymore. Add many
	  new api entries to their sections.

2010-02-15 11:11:04 +0200  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/test-colorkey.c:
	  test-colorkey: remove the XInitThreads()
	  We don't do this is any other example, this should be done for us in gdk it if
	  would be needed.

2010-02-16 10:09:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use same message string for missing elements as in playbin
	  Use the same translated message string for missing core elements as
	  playbin uses, which is a bit nicer and also indicates that there is
	  something wrong with the user's GStreamer installation (which arguably
	  is the case if elements like typefind or queue2 are missing).

2010-02-08 13:54:57 +0200  Kaj-Michael Lang <milang@tal.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Handle stm module format
	  Fixes #609314.

2010-02-15 12:10:10 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstivorbisdec.c:
	  ivorbisdec: set rank to SECONDARY

2010-02-15 12:09:53 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* configure.ac:
	* ext/Makefile.am:
	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstivorbisdec.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbisdec: also support ivorbis tremor decoder
	  ... which only needs a bit of refactoring and extracting to support
	  the minor difference in (i)vorbis interface.
	  Fixes #609063.

2010-02-03 14:37:43 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	  vorbisdec: reduce some hard-coding
	  ... such as assuming float all over, and base src caps on template caps.

2010-02-15 10:23:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin.c:
	  playbin: Fix the primary-decoder-missing test with USE_DECODEBIN2

2010-02-15 09:04:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggparse.c:
	  oggparse: Fix another format string compiler warning

2010-02-15 08:56:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix format string compiler warnings

2010-02-15 08:48:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Post a missing element message and an error message if no uridecodebin can be found

2010-02-15 08:46:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Post missing element messages if a core plugin is missing
	  And post a warning in cases where we can still continue to work
	  or an error when the missing element is fatal.

2010-02-15 08:28:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin2.c:
	  playbin2: Enable all unit tests
	  They're all working and valgrind clean now.

2010-02-15 08:26:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: First post a missing-plugin message, then emit the unkown-type signal
	  This makes sure that there *always* is a missing plugin message in the bus
	  before any errors or warning messages.

2010-02-15 08:20:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Missing decoder errors should be STREAM CODEC_NOT_FOUND
	  and not CORE MISSING_PLUGIN.

2010-02-15 08:18:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Free the subtitle URI

2010-02-15 08:06:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Post missing plugin messages if a required element can't be created
	  Especially if no suitable URI source can be found.

2010-02-15 06:50:29 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/.gitignore:
	  tests: Add decodebin2 test to .gitignore

2010-02-15 01:18:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Set ghostpad targets to NULL when freeing a decode chain
	  Otherwise the ghostpad will still be linked to the peer and there
	  will still be a reference kept, leading to nothing being unlinked
	  and destroyed until decodebin2 is finalized.
	  This fixes reuse of decodebin2 if a raw stream is connected to
	  its sinkpad.

2010-02-15 01:17:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/decodebin2.c:
	  decodebin2: Add simple unit test, mainly a copy of the decodebin unit test
	  The only difference between the two unit tests right now is,
	  that the decodebin2 test resets the element to READY before trying
	  to reuse it instead of NULL. decodebin2 guarantees to be reusable
	  without going back to NULL.

2010-02-15 00:11:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: theora PAR of 0:N, N:0 or 0:0 is allowed and maps to 1:1
	  See #609252.

2010-02-14 23:16:32 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 96dc793 to 44ecce7

2010-02-14 23:10:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	  playbin2: Enable playbin2 unit test
	  It now contains a single working unit test and can be enabled.
	  The other more useful unit tests still need fixing.

2010-02-14 22:16:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin.c:
	  playbin: Fix indention in the unit test

2010-02-13 01:08:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	  volume: Replace this variables by self

2010-02-12 19:43:13 +0100  Josep Torra Valles <n770galaxy@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: Reset the sink's state to NULL before unreffing it unless it's the same instance again
	  This makes sure that we don't destroy the last reference before the
	  element gets back to NULL state. Fixes assertion failures if a playbin2
	  instance is reused but different sinks are automatically chosen because
	  of different caps.

2010-02-12 18:00:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix Since tag

2010-02-12 14:19:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: treat JUNQ chunks like JUNK chunks

2010-02-12 14:29:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Update basesrc segment duration and post duration messages from the streaming thread

2010-02-11 14:10:02 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/tags.c:
	  tags: improve docs about determining the encoding

2010-02-11 14:09:05 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/tag/gstvorbistag.c:
	  comment: fix wrong header comment

2010-02-01 13:50:14 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: add a variant of the JUNK tag that several adobe products produce
	  JUNQ has same semantics as JUNK.

2010-02-01 19:01:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: add min-percent property
	  Emit need-data when the amount of data in the internal queue drops below
	  min-percent.
	  Fixes #608309

2010-02-01 18:56:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: cleanups
	  Avoid some typechecks.
	  Avoid dereferencing appsrc->priv all the time.

2010-02-01 18:55:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: cleanups
	  Avoid some typecasting.
	  Avoid dereferencing appsink->priv all the time.

2010-02-01 15:09:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: avoid some typecasts

2010-01-29 16:34:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: ignore \n and \r as the first line
	  Be more forgiving for bad servers and ignore \r and \n when we are looking for
	  the response/request line.
	  See #608417

2010-02-10 16:05:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fail gracefully on bad Content-Length headers
	  Be careful when allocating the amount of bytes specified in the Content-Length
	  because it can be an insanely huge value. Try to allocate the memory but fail
	  gracefully with a nice error when the allocation failed.

2010-02-10 10:12:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add conversions from all ARGB formats to AYUV and back

2010-02-09 17:39:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Update segment duration and post a duration message if the duration changes
	  Fixes bug #609423.

2010-02-11 10:56:17 +0100  Benjamin Otte <otte@redhat.com>

	* tests/examples/seek/Makefile.am:
	  build: link to libm in examples that use it
	  This fixes build failure in Fedora 13.

2010-02-11 01:11:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* MAINTAINERS:
	  Update MAINTAINERS, add myself

2010-02-11 23:57:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: back to development
	  Slushy freeze remains in effect.

=== release 0.10.26 ===

2010-02-10 20:17:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.26

2010-02-10 20:16:37 +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/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/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

2010-02-08 11:21:35 +0100  Benjamin M. Schwartz <bens@alum.mit.edu>

	* ext/theora/gsttheoradec.c:
	  theoradec: PARs of 0:x, x:0 and 0:0 are all allowed and map to 1:1
	  Fixes #609252.

2010-01-24 12:31:04 +0000  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: use the default granpos functions for kate streams
	  Set timestamps on kate packets. See bug #600929.

2010-02-05 01:18:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  0.10.25.3 pre-release

2010-02-04 18:52:59 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* po/bg.po:
	  po: update translations

2010-02-04 18:32:48 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  Revert "playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler"
	  This reverts commit 7335ce5d3e03c126a417a721571cb6f3af136ecf.
	  Support abusing the uri property to configure the next uri to play
	  outside of the about-to-finish handler for the time being after all.
	  We also shouldn't use thread private structures for this, since it
	  should be possible to block the thread that emitted about-to-finish
	  while the main thread sets the uri property. See #607226.

2010-02-02 10:18:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't leak allocated buffers
	  This can happen if the combined flow return is not OK although the
	  allocation succeeded or if the packet in question is a BOS and we're
	  not going to push headers.
	  Fixes bug #608699.

2010-02-01 11:44:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: clean up decodebin properties
	  When reusing a decodebin2 element, clear the properties we might have changed,
	  to their default values or else we might end up with old configuration.
	  Fixes #608484

2010-01-29 13:56:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: when no uri is set, post an error message
	  When no uri is set, don't just return STATE_CHANGE_FAILURE from the
	  state change function, but actually post an error message.

2010-01-30 15:18:13 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 15d47a6 to 96dc793

2010-01-28 17:12:34 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: don't hold object lock when calling peer elements
	  Do not hold the object lock while we call methods on peer elements as this can
	  lead to deadlocks.
	  Fixes #608179

2010-01-27 01:12:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  0.10.25.2 pre-release

2010-01-27 01:07:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/interfaces-enumtypes.h:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/video-enumtypes.c:
	  win32: update generated files for non-autotools win32 builds

2010-01-27 00:56:00 +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/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/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: update translation files

2010-01-27 00:41:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: add gratuitious FIXME for use of generic G_TYPE_POINTER type

2010-01-26 16:47:40 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't skip an element when getting the topology
	  Fixes #608167

2010-01-24 14:41:44 +0000  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: sparse streams aren't timed by end time, and their duration isn't implicit
	  Fixes timestamps and durations on Kate subtitle streams.
	  See http://www.xiph.org/ogg/doc/ogg-multiplex.html section 'start-time and
	  end-time positioning' for some more details, and bug #600929.

2010-01-23 20:15:08 +0000  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: properly set up the media type for kate streams
	  See #600929.

2010-01-25 18:57:52 +0100  Julien Moutte <julien@fluendo.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: relax caps template on sink pads
	  Allow any caps on sink pad templates as we could do passthrough with non raw
	  video caps.

2010-01-25 15:14:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: use right type for the serialno
	  Use a consistent type for the serialno to avoid problems when comparing between
	  signed and unsigned variants.
	  Fixes #607926

2010-01-25 14:00:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't push headers twice
	  Don't push the stream headers twice but only in the activation of a chain.
	  Fixes #607929

2010-01-25 13:18:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

2010-01-25 12:31:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: rename a variable
	  Rename the 'seekable' variable to 'pullmode'. We might be able to seek in push
	  mode too eventually.

2010-01-25 12:22:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  Revert "inputselector: Protect g_object_notify() with the object's mutex"
	  This reverts commit a37426c41c80fd21e5017fea01a786c05bcd9661, it's
	  causing deadlocks with playbin2.

2010-01-24 20:55:26 +0100  Kipp Cannon <kcannon@ligo.caltech.edu>

	* gst/playback/gstinputselector.c:
	  inputselector: Protect g_object_notify() with the object's mutex
	  This works around the thread unsafety of g_object_notify()
	  Fixes bug #607513.

2010-01-24 20:46:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add typefinder for ISO MP4 files
	  Fixes bug #607848.

2010-01-24 13:29:07 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix crash when freeing headers
	  Use _ogg_packet_free() instead of gst_mini_object_unref in one more
	  place now that the header list contains ogg packets and not buffers.
	  file: Stephen_Fry-Happy_Birthday_GNU-nq_600px_425kbit.ogv

2010-01-24 08:57:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Strip trailing \0 for subtitle OGM streams
	  Fixes bug #607870.

2010-01-23 22:09:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Correctly set DELTA_UNIT flag for OGM streams

2010-01-23 22:05:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't strip all 0-bytes from the end of OGM packets
	  This fixes broken packets pushed downstream by oggdemux for
	  MPEG4 streams for example.

2010-01-23 22:03:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Extract tags from OGM text streams and don't push them downstream

2010-01-23 14:46:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Store header/queued packets as ogg_packet and use normal peer chaining functions to pass them downstream

2010-01-23 15:25:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: optimise AC-3 typefinder a bit
	  Make AC-3 typefinder use the DataScanCtx stuff so we don't have to
	  do gst_type_find_peek() in the inner loop all the time. Also return
	  when we've suggested AC3 caps, instead of continuing with the loop.

2010-01-23 14:31:15 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  Revert "typefind: Reduce number of calls to gst_type_find_peek."
	  This reverts commit c661bfaa991c58f1fbd9fbc0dae90b8b2c27f92b.
	  This breaks AC-3 typefinding for all cases where the first frame
	  is at an offset > 0.

2010-01-23 15:35:05 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for Zip Block Motion Video

2010-01-23 15:34:54 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add mapping for Zip Block Motion Video

2010-01-23 15:26:37 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: YUNV is a fourcc which is also used for YUY2 raw video

2010-01-23 15:13:45 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: vp61 and VP61 are also valid On2 VP6 fourcc

2010-01-23 15:10:45 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add mapping for On2 VP5

2010-01-23 15:04:35 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add mapping for Sigma-Designs MPEG4
	  It's actually a xvid-compatible stream. both xviddec and ffmpeg handle it.

2010-01-23 14:35:28 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for LOCO Lossless codec

2010-01-23 14:35:16 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add mapping for LOCO Lossless codec

2010-01-23 14:08:39 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for YV12 / Uncompressed packed YVU 4:2:2

2010-01-23 13:50:26 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for Autodesk Animator codec

2010-01-23 13:50:09 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add mapping for Autodesk Animator Codec

2010-01-23 13:20:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: ...and set caps on queued packet buffers too

2010-01-23 13:19:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Set caps on header buffers

2010-01-22 16:23:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: handle raw sources about-to-finish signals
	  When we are dealing with a source that produces raw audio/video, we don't use a
	  decodebin2 to decode the data and we thus don't have the drained/about-to-finish
	  signal emited. To fix this, we add a padprobe on the source pads and emit the
	  drained signal ourselves. This then makes playbin2 emit the about-to-finish
	  signal for raw sources such as cdda://
	  Fixes #607116

2010-01-22 16:15:54 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: include stdio.h for sscanf

2010-01-22 01:49:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: add PNM typefinder
	  Add PNM typefinder, so we can remove the one that's in the PNM plugin
	  in -bad (which btw uses different/wrong media types that don't match
	  the ones used by gdkpixbufdec) and people don't make fun of us for
	  loading image decoders when typefinding and playing back audio files.

2010-01-21 19:31:23 +0100  Thijs Vermeir <thijsvermeir@gmail.com>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: rename performance category
	  rename the performance category to ffmpegcolorspace_performance
	  as there is already a global GST_CAT_PERFORMANCE in core

2010-01-21 17:32:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: keep track of added pads
	  Keep track of the pads we added and removed.
	  Remove some unused fields.
	  Don't add pads for which we don't have caps.

2010-01-21 17:31:13 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: don't call NULL setup functions
	  If we find a known mapper but it doesn't have a setup function, simply skip it
	  instead of crashing.

2010-01-21 17:30:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: avoid division by 0 on bad annodex streams

2010-01-21 13:47:01 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for y4m container

2010-01-19 14:31:34 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppayload: ptime/maxptime should be unsigned
	  https://bugzilla.gnome.org/show_bug.cgi?id=607403

2010-01-18 21:16:32 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppayload: ptime should be in nanoseconds
	  https://bugzilla.gnome.org/show_bug.cgi?id=607403

2010-01-20 00:53:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 14cec89 to 15d47a6

2010-01-19 13:33:06 -0800  David Schleef <ds@schleef.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: rewrite h.264 detection
	  Make detection simpler: check for NALs, check that they make
	  sense, and report how certain we are that it's a raw H.264 stream.
	  Fixes: #583376.

2010-01-18 14:33:30 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppayload: Reject empty caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=607353

2010-01-19 08:39:14 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: No need to subtract begin time
	  Last stop is already based on the chain start and there is no need
	  to subtract the chain start as it may lead to a negative overflow.
	  This was causing seeking issues when the target chain was not
	  the first one (that has chain start = 0)
	  Fixes #606382

2010-01-19 09:25:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	  audio: Use rounding scaling functions for GST_CLOCK_TIME_TO_FRAMES and _FRAMES_TO_CLOCK_TIME
	  Fixes bug #607381.

2010-01-18 15:22:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: granulepos is relative to its chain
	  When performing seeks, the granulepos should be offset by
	  its chain start time to avoid using wrong values to
	  update segment's last_stop. A sample file is indicated on
	  bug #606382

2010-01-18 17:57:16 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for MXF container format

2010-01-18 10:07:30 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: re-use iterator callback to avoid code duplication

2010-01-18 02:08:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: when looking for sink properties, make sure they have the right type
	  We don't want to end up setting values on elements where the property is of
	  a different type than we expect. Can't transform the value either, since we
	  can't really make assumptions about the scale and transform function.
	  Fixes crashes when using playbin2 with apexsink (#606949).

2010-01-18 09:30:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Only allow to set the URIs in states <= READY or from an about-to-finish signal handler
	  Changing the URIs in a state > READY results in unexpected behaviour,
	  i.e. the new URIs are only used after the current track has finished.
	  Fixes bug #607226.

2010-01-15 19:52:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: sprinkle some more locking
	  ... to avoid races and ensure some data structure consistency.
	  See also #574289.

2010-01-14 18:26:03 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: mind blocked pads when shutting down
	  Fix regression in shutdown deadlock handling now that the
	  target of a ghostpad is blocked instead of ghostpad itself.
	  See also #574293.

2010-01-14 13:36:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix disabling of subtitles if subtitles were used before
	  In this case the video still goes through the text chain and
	  subtitles are still going in there, in case subtitles are
	  enabled again. This makes sure that re-enabling subtitles
	  happens instantly.
	  Fixes hanging video when disabling subtitles, caused by an
	  unliked video pad.

2010-01-14 10:43:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix pad ref leak

2010-01-12 21:42:59 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* docs/plugins/Makefile.am:
	  docs: fix out-of-source build

2009-04-29 11:50:03 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/icles/stress-playbin.c:
	  stress-playbin: fix error return check

2010-01-14 10:10:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/Makefile.am:
	* ext/theora/gsttheora.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	  theora: Rename source files to have the same name as the headers

2010-01-14 10:07:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbis.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	  vorbis: Rename source files to have the same name as the headers

2010-01-14 10:05:35 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbiscommon.c:
	* ext/vorbis/gstvorbiscommon.h:
	* ext/vorbis/vorbisdec.c:
	* ext/vorbis/vorbisenc.c:
	  vorbis: Move channel layout definitions into a single separate file
	  ...instead of having two copies.

2010-01-14 08:19:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/vorbisdec.c:
	* ext/vorbis/vorbisenc.c:
	  vorbis: Add official 6.1 and 7.1 channel mappings
	  These are in the Vorbis spec since 2010-01-13. Fixes bug #606926.

2010-01-13 23:05:45 +0100  Benjamin Otte <otte@redhat.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  rtsp: Don't define h_error ourselves
	  It's included from netdb.h and that header might define it differently,
	  which can lead to build failures.

2010-01-13 17:36:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: mp4 video is not parsed

2010-01-13 12:49:20 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add aac stream-format to caps
	  Also add the aac stream-format field on the caps when
	  detecting it.

2010-01-13 09:39:54 +0100  Brijesh Singh <brijesh.ksingh@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix handling of the native audio/video flags
	  Fixes bug #606687.

2010-01-12 16:35:50 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix unitialized variable.
	  If the package isn't handled, gracefully return GST_FLOW_OK.

2010-01-10 23:50:02 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/xoverlay.c:
	  docs: flesh out GtkXOverlay docs some more and add example for Gtk+ >= 2.18
	  Explain why the whole bus sync handler mess is needed. Add section about
	  how to use GstXOverlay in connection with Gtk+ and mention the Gtk+ API
	  break issue and how to work around it (see #601809).

2010-01-10 21:18:04 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	  docs: minor netbuffer documentation fix

2010-01-10 20:41:53 +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/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/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: update translated strings
	  Queue2 moved into core, so remove its strings.

2010-01-08 16:57:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: push headers when activating chains
	  Keep a list of headers for each stream of a chain. When a chain is activated,
	  push the headers before pushing the data so that decoders can sync.
	  Fix seeking in chains, take the chain start time into account when comparing
	  timestamps.
	  See #606382

2010-01-07 15:26:57 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/lang-tables.dat:
	* gst-libs/gst/tag/lang.c:
	  tag: fix up disting of lang-tables.c more correctly
	  lang-tables.c is included by lang.c and not really a proper source
	  file that should be compiled into its own object, so rename it to
	  lang-tables.dat and put it into EXTRA_DIST instead to ensure it
	  gets disted.

2010-01-07 13:50:03 +0000  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	* gst-plugins-base.spec.in:
	  Add missing source file for tagger to Makefile and update spec file

2010-01-06 18:30:57 -0800  Mark Yen <mook@songbirdnest.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: handle 32 bit raw RGB video.

2010-01-06 13:57:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: decide flac header packet by content rather than count

2010-01-06 13:56:26 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: reset header packet count at bos page

2010-01-06 13:39:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiopayload: add support for buffer-lists

2010-01-06 11:33:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

2010-01-05 17:17:58 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Ignore zero framerate
	  https://bugzilla.gnome.org/show_bug.cgi?id=606163

2009-12-29 18:45:32 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  basertpaudiopayload: Respect ptime if it is given
	  If the ptime is given in the caps, respect it and force the minimum
	  and maximum sizes to be exactly the requested ptime.
	  https://bugzilla.gnome.org/show_bug.cgi?id=606050

2009-12-29 18:36:29 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  rtpbasepayload: Store ptime from caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=606050

2009-12-02 19:40:58 +0530  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppayload: Accept maxptime from caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=606050

2010-01-05 14:11:06 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggdemux: enhance flac packet duration calculation

2010-01-05 10:38:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

2010-01-04 09:49:25 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	* tests/icles/test-colorkey.c:
	  examples: use Gtk+-2.18 API conditionally
	  so the seek example and colorkey test work with older Gtk+ versions
	  as well.
	  Fixes #605960.

2009-12-29 00:53:53 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/test-colorkey.c:
	  tests: fix colorkey test up for Gtk+ >= 2.18
	  Make test-colorkey work with newer versions of Gtk+.
	  See #601809.

2009-12-29 00:40:27 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  examples: make seek example work with Gtk+ >= 2.18
	  Gtk+ broke API slightly with the introduction of
	  client-side windows in Gtk+ 2.18. Fix up seek
	  example to work with newer Gtk+ versions.
	  Fixes #601809.

2009-12-26 23:29:24 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/icles/stress-xoverlay.c:
	  tests: fix warning and memory leak in stress-overlay test
	  Not all messages have structures and we need to unref messages
	  when returning GST_BUS_DROP in the sync bus handler.

2009-12-26 18:46:50 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: correctly eat empty and dummy buffers

2009-12-24 19:56:55 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: be a lot smarter with buffer management
	  Detect EOS faster.
	  Try to reuse one of the input buffer as the output buffer. This usually works
	  and avoids an allocation and a memcpy.
	  Be smarter with GAP buffers so that they don't get mixed or cleared at all. Also
	  try to use a GAP buffer as the output buffer when all input buffers are GAP
	  buffers.

2009-12-24 16:30:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/Makefile.am:
	* gst/adder/gstadder.c:
	* tests/check/elements/adder.c:
	  adder: use collectpads clipping function
	  Install a clipping function in the collectpads and use the audio clipping helper
	  function to perform clipping to the segment boundaries.
	  Fixes #590265

2009-12-24 13:58:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: fix juvenile comment

2009-12-23 21:24:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix typo in debug message

2009-12-23 18:18:03 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: avoid some type checks

2009-12-23 17:08:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: avoid leaking selector request pads

2009-12-23 15:46:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: avoid leaking queue and typefind
	  Don't leak the queue and typefind elements that we might link after the
	  source element.

2009-12-23 15:43:52 +0100  Jonathan Matthew <jonathan@d14n.org>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: don't name the queue
	  There is no reason to name the queue.
	  Fixes #605219

2009-12-23 15:30:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtp.def:
	  defs: update defs with new symbols

2009-12-22 20:15:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtcpbuffer: add helper functions for SDES types
	  Add functions to convert SDES names to their types and back. Will be used later
	  to set SDES items using a GstStructure.
	  See #595265

2009-12-21 19:12:02 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 47cb23a to 14cec89

2009-12-21 18:45:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: add Since marker for the new tolerance property

2009-12-21 07:57:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/lang.c:
	  docs: use 'Returns: xyz' rather than 'Returns xyz' to make gtk-doc happy

2009-12-21 07:50:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  tests: don't use deprecated GLib API g_mapped_file_free
	  Fixes #605100.

2009-12-20 17:34:46 -0800  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theoraenc: Add encoder controls for libtheora 1.1
	  Added drop-frames, cap-overflow, cap-underflow, and rate-buffer.

2009-12-19 21:40:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: increase default drift tolerance to fix glitches with WMA
	  Increase default drift tolerance to 40ms to avoid glitches with decoders
	  or formats where there's a lot of timestamp jitter for some reason or
	  another (in this case: asf/wma), at least until we implement timestamp
	  smoothing.

2009-12-16 11:43:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: add some debugging

2009-12-15 18:41:38 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	  audiorate: add a tolerance property
	  It may not be uncommon for the input timestamps to experience some jitter
	  around the 'perfect time'.  As such, instead of regularly adding and dropping
	  samples, optionally allow for some tolerance in a more relaxed approach.
	  API: GstAudioRate:tolerance

2009-12-15 19:50:56 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* gst/audiorate/gstaudiorate.c:
	  audiorate: add documentation

2009-12-15 16:52:44 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/Makefile.am:
	* gst/audiorate/gstaudiorate.c:
	* gst/audiorate/gstaudiorate.h:
	  audiorate: use separate header file

2009-12-14 21:17:57 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: set DISCONT when resyncing (e.g. newsegment)

2009-12-14 18:47:27 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: also fill up segments if possible

2009-12-15 19:29:29 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: fix segment handling
	  Do not compare a media (buffer) time to a (bogus) running time
	  (or their offset equivalents).

2009-12-15 19:22:45 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: properly report truncated samples as dropped samples

2009-12-13 18:43:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/lang.c:
	  docs: mention that gst_tag_get_language_name() may return NULL

2009-12-13 18:42:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/libs/tag.c:
	  checks: some more testing for the new language code functions

2009-12-12 18:58:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixeroptions.c:
	* gst-libs/gst/interfaces/mixertrack.c:
	  docs: misc. mixer docs improvements

2009-12-12 18:16:39 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  docs: add short descriptions for API reference contents page

2009-12-12 17:43:26 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/lang-tables.c:
	* gst-libs/gst/tag/mklangtables.c:
	  tag: make internal language names table static

2009-12-12 17:41:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/mklangtables.c:
	  tag: don't use GLib 2.22 API
	  g_mapped_file_unref() was introduced in GLib 2.22, but we depend
	  only on GLib 2.18, so use g_mapped_file_free() when compiling
	  against older GLib versions until we bump the GLib dependency.

2009-12-11 23:59:54 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	* configure.ac:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/lang-tables.c:
	* gst-libs/gst/tag/lang.c:
	* gst-libs/gst/tag/mklangtables.c:
	* gst-libs/gst/tag/tag.h:
	* tests/check/libs/tag.c:
	* win32/common/libgsttag.def:
	  tag: add some utility functions for language codes and tags
	  Add some utility functions for language tags and ISO-639
	  codes. These are useful for both GUIs and elements. The
	  iso-codes package is used for language name translations
	  if available.
	  API: gst_tag_get_language_codes()
	  API: gst_tag_get_language_name()
	  API: gst_tag_get_language_code()
	  API: gst_tag_get_language_code_iso_639_1()
	  API: gst_tag_get_language_code_iso_639_2B()
	  API: gst_tag_get_language_code_iso_639_2T()

2009-12-11 12:02:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: ogm video has constant packet duration

2009-12-10 22:47:53 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggstream.c:
	  oggdemux: implement old fLaC mapping

2009-12-10 17:53:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gsttcpclientsrc.c:
	  tcpclientsrc: unset flushing state too
	  When unlocking, we set the flushing state on the fdset. Implement unlock_stop so
	  that we can use it to unset the flushing state again.
	  Fixes #577326

2009-12-10 16:09:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: remove redundant fields

2009-12-09 19:03:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/vorbisdec.c:
	  vorbisdec: adapt to new oggdemux
	  Remove all granulepos hacks and simply use the timestamps from the new oggdemux
	  like any other decoder.

2009-12-09 19:04:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: fix peer query

2009-12-09 17:24:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: fix query

2009-12-09 16:55:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: small cleanups

2009-12-09 16:38:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: use gst_pad_peer_query()

2009-12-09 12:10:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix video when subtitles disabled
	  When we have a source with subtitles but they were disabled with the flags,
	  still ghostpad the video pad instead of leaving it unlinked.

2009-12-09 09:47:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Only flush downstream on seeks for flushing seeks

2009-12-09 09:35:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Proxy buffer allocation on the video sinkpad to the srcpad

2009-12-08 17:30:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: update slider only 25 times a second
	  don't update the slider a 100 times a second, it's likely higher than the screen
	  framerate and just wastes cpu.

2009-12-08 17:23:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoradec.h:
	* ext/theora/theoradec.c:
	  theora: remove granulepos hacks
	  Remove the granulepos hacking now that oggdemux outputs timestamps like any
	  other demuxer.

2009-12-08 13:40:18 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix stream-changed message list iteration
	  When iterating the list and removing the current element, first
	  get the next element and then remove the current one and not
	  the other way around.

2009-12-07 18:49:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: improve keyframe seeking
	  Improve keyframe seeking.
	  Fix reverse playback.

2009-12-07 15:42:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: implement keyframe seeking
	  Implement keyframe seeking in oggdemux by doing the double seek trick. First
	  seek to the required position, then read pages for all streams to grab the
	  granulepos (to know the timing of the keyframe) of each stream, then seek back
	  to the first keyframe.

2009-12-07 09:13:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Some minor cleanup

2009-12-06 18:05:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Reset stream segments on FLUSH_STOP and don't adjust QoS events for non-time segments

2009-12-04 16:35:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix timestamps after seek
	  After a seek, discard all packets before the packet with the granulepos on it so
	  that the output buffers contain valid timestamps.
	  Reorder some code so that we check the timestamps before allocating and pushing
	  an output buffer.
	  Do more checks on valid packets in ogm mode.

2009-12-04 15:39:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add comment

2009-12-04 14:01:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't do math with invalid granulepos
	  When the current granulepos is unknown and set to -1, don't try to add durations
	  to it.

2009-12-04 13:14:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: guard against wrong granulepos
	  Clamp the initial granulepos to 0 instead of going negative for some badly muxed
	  ogg files.

2009-12-04 12:26:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: don't fail on bogus granulepos
	  Do some additional checks on the granulpos timestamp before using it for
	  calculating the duration because oggdemux generates wrong granulepos now.
	  Fixes seeking somewhat again.

2009-12-03 20:05:29 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: reimplement OGM support
	  OGM demuxing no longer requires helper elements.  It's done internally
	  in oggdemux.  Vorbis comments are still not handled because I don't
	  have anything to test with.

2009-12-03 17:02:11 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggstream.c:
	  oggdemux: fix for I-frame-only theora

2009-12-03 01:16:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: log when ogg mapper doesn't accept the setup header packet

2009-12-02 02:08:46 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: extract width, height and PAR from theora header and add to caps

2009-12-03 23:43:08 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: extract number of channels from FLAC, speex and vorbis headers
	  Because we can.

2009-12-03 22:14:34 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  build: fix build with debug logging disabled.

2009-12-03 21:07:49 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: more print fixes
	  gstoggstream.c:419: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘gint64’
	  gstoggdemux.c:2253: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’
	  gstoggdemux.c:2333: error: format ‘%lld’ expects type ‘long long int’, but argument 8 has type ‘GstClockTime’

2009-12-03 16:57:48 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	  ogg: Fixing some printf format strings
	  Fixes some printf format strings to make it build on mac.

2009-12-03 18:08:49 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstfactorylists.c:
	* gst/playback/gstfactorylists.h:
	* gst/playback/gstplaybin2.c:
	  playbin2: don't iterate the factory lists in non-debug mode
	  When debugging is disabled, we won't see anything printed anyway.

2009-12-02 23:55:55 -0800  David Schleef <ds@schleef.org>

	* gst/videoscale/vs_4tap.c:
	  Build fix for MSVC

2009-12-02 23:27:55 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/subparse/qttextparse.c:
	  build: add missing includes for sprintf and atoi

2009-12-01 16:42:42 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/qttextparse.c:
	  subparse: Add support for some tags of qttext
	  Currently supporting timescale, timestamps, font, size,
	  textColor, backColor, plain, bold and italic
	  Fixes #603357

2009-12-01 13:13:24 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/subparse/Makefile.am:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* gst/subparse/qttextparse.c:
	* gst/subparse/qttextparse.h:
	  subparse: add qttext support
	  Adds basic support for qttext subtitles, still lacks markup tags
	  to make it prettier, but the plain text already works.
	  Implemented according to:
	  http://www.apple.com/quicktime/tutorials/texttracks.html
	  http://www.apple.com/quicktime/tutorials/textdescriptors.html
	  Fixes #603357

2009-12-01 13:22:57 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: conditionally cleanup sami context
	  Only cleanup sami context if we are parsing sami subtitles,
	  otherwise we might have crashes.

2009-12-01 13:19:35 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Add missing caps to sink caps template
	  Some caps were missing from the sink caps template when
	  xml was disabled

2009-12-01 15:06:10 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 87bf428 to 47cb23a

2009-12-01 14:14:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From da4c75c to 87bf428

2009-11-30 10:22:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Fix some pad refcount issues
	  Fixes bug #603345.

2009-11-27 18:54:57 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From 53a2485 to da4c75c

2009-11-25 17:04:41 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: handle theora streams with 0 keyoffset

2009-11-25 16:53:26 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Handle unknown streams

2009-11-26 14:30:33 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  Revert "textoverlay: First draw outline text and then the real text"
	  This reverts commit 60aa09d28c1f9fd29b56876d7ac6c0366d6cef4d.
	  First drawing the real text and then the outline produces ugly
	  text in lower resolutions. The outline line width needs to be somehow
	  changed relative to the resolution. Fixes bug #602924.

2009-11-26 10:30:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Use G_DEFINE_ABSTRACT_TYPE_WITH_CODE
	  ...and fix code style a bit.

2009-11-26 10:31:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.h:
	  audiofilter: Add _CAST variants of the cast macros

2009-11-25 10:26:16 -0600  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: add adjustement when slaving
	  Our calibration against the pipeline clock is done with the adjusted
	  ringbuffer time, so take the adjustement into account. Fixes some audio dropouts
	  when reusing audio sinks after switching clocks and slaving methods in a
	  pipeline.

2009-11-25 16:17:13 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Prefer transforming alpha formats to alpha formats and the other way around
	  Fixes bug #602834 and #350748.

2009-11-25 00:46:55 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Reset last_granule during seeking
	  Fix case where we would reconstruct the wrong granulepos for
	  outgoing streams immediately after a seek.

2009-11-24 22:08:09 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Fix timestamp generation for theora
	  Timestamp generation was broken by the last commit for formats
	  with a non-zero granule shift.  Also keep track of the last keyframe
	  so that we can regenerate granulepos for theora.

2009-11-24 21:22:03 -0800  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	* ext/ogg/vorbis_parse.c:
	  oggdemux: Fix vorbis parsing
	  Add a granule to granulepos conversion function.  Fix the duration
	  function for vorbis.  Handle timestamps on header packets differently
	  and be more careful about calculating OFFSET and OFFSET_END.  After
	  this change, timestamps for vorbis don't exactly match up with the
	  timestamps that vorbisparse outputs, but it's unclear if vorbisparse
	  is actually correct and it would add a lot more code to make oggdemux
	  match vorbisparse.  Fixes #602790.

2009-11-19 19:28:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Transform QoS events to be meaningful for upstream elements
	  This is necessary because the sinks don't notice the group switches
	  and the decoders/demuxers have a different running time than the
	  sinks.
	  Fixes bug #537050.

2009-11-21 22:05:34 +0100  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  ogg: Fix generation of timestamps and durations
	  After changing some internal functions, I forgot to update
	  the code that puts the values on the buffers.

2009-08-29 10:51:48 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/Makefile.am:
	* ext/ogg/dirac_parse.c:
	* ext/ogg/dirac_parse.h:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	* ext/ogg/vorbis_parse.c:
	  ogg: Add ogg stream parsing
	  Adds code that parses headers of various formats encapsulated in
	  Ogg in order to calculate timestamps and durations of each buffer.
	  Removes the creation of helper decoder elements to do this calculation
	  via conversion queries.
	  Fixes: #344013, #568014.

2009-09-04 00:11:38 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't overwrite object properties

2009-11-21 17:54:49 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/theora/theoradec.c:
	  debug: also cast packet.packetno to gint64 in debug log
	  We do this already for granulepos to handle ogg_int64_t mismatches.

2009-11-21 17:47:26 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  debug: fix format string that was missing a var

2009-10-10 00:32:04 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* tests/check/elements/adder.c:
	  adder: make events succeed, if they succed on atleast one pad

2009-11-19 14:51:33 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: error when all streams have no buffers
	  In some cases (all buffers dropped by a parser) a decodebin2
	  chain might receive an EOS before it gets enough data to
	  expose a decoded pad. In the case that no streams can expose
	  a pad we should error out instead of hang.
	  Fixes #542758

2009-11-19 12:23:08 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix stupid bug introduced in last commit

2009-11-19 12:10:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Aggregate the stream-changed message by looking at the seqnum
	  Just counting how many messages were sent and how many were received
	  is not good enough because they might've been duplicated (e.g. by the
	  visualization audio tee). Comparing the sequence numbers should give
	  better results in that case.

2009-11-19 10:05:28 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Ignore async state changes of the uridecodebins
	  Otherwise the async state change from READY->PAUSED of the
	  uridecodebins will take playbin2 from PLAYING->PAUSED again
	  during gapless group switches.
	  Fixes bug #602000.

2009-11-19 10:30:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 0702fe1 to 53a2485

2009-11-18 14:50:28 -0300  Thiago Santos <thiago.sousa.santos@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: set to buffer less on no-more-pads
	  When a decodebin2 receives no-more-pads of a group it
	  can set that group's multiqueue buffering thresholds to
	  'playing' buffering method, avoiding that it buffers
	  too long and cause problems when using with queue2.
	  See the associated bug for details.
	  Fixes #600787

2009-11-18 17:09:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix initial calibration
	  When we are calibrating the internal clock against the external clock take into
	  account the time offset applied to our internal clock because we will subtract
	  that in the render_function again.

2009-11-18 09:22:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't handle DURATION queries during group switches
	  During a group switch return the cached duration of the old group
	  because the old group still didn't finish playback. If we have no
	  cached duration return FALSE.
	  Fixes bug #585969.

2009-11-15 19:36:21 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Post a stream-changed message after activating a group
	  This is useful to detect when playbin2 has really switched to the next
	  group after about-to-finish for example.
	  Fixes bug #584987.

2009-11-18 12:27:19 +0000  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/libgstvideo.def:
	  win32: Add new still-frame API to the defs
	  Add gst_video_event_new_still_frame() and
	  gst_video_event_parse_still_frame() functions to the win32 defs files

2009-11-18 12:37:44 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: fix 'uninitialized' compiler warning

2009-11-18 10:14:41 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump core requirement to 0.10.25.1
	  We depend on new API that's only in git so far.

2009-11-15 17:34:37 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video: Add functions to create/parse still frame events.
	  Add a new video event to mark the start or end of a still-frame
	  sequence, and a parser function to identify and extract info from
	  such events.
	  API: gst_video_event_new_still_frame()
	  API: gst_video_event_parse_still_frame()
	  Fixes: #601942

2009-11-17 16:39:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: make sure we always go to PAUSED async
	  Set the need_async_start flag before going to PAUSED so that we always post the
	  ASYNC_START message, even after reusing playsink.

2009-11-17 16:37:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: make sure we remain a sink
	  When we remove our elements, we could lose our sink flag. Make sure we remain a
	  sink by setting the flag again after removing elements.

2009-11-16 22:47:54 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: remove unused array

2009-11-16 09:57:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Use new double->fraction transformation function from core

2009-11-14 14:05:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Make subtitle error handling more robust and ignore late errors too
	  Make sure, to only "simulate" subtitle no-more-pads if it was still
	  pending and also handle errors in the subtitle pipeline as warnings
	  after the subtitles prerolled.
	  Don't set the suburidecodebin to READY after errors, handle_message
	  will usually be called from the streaming thread and doing that
	  from there is obviously not a good idea.

2009-11-14 13:21:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Handle errors from subtitle elements as warning and go into passthrough mode

2009-11-13 12:47:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't leak the GError and debug string when parsing error messages

2009-11-13 11:16:44 +0100  Sreerenj B <bsreerenj@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: avoid crashing on SIGPIPE
	  Use send() instead of write() so that we can pass the MSG_NOSIGNAL flags to
	  avoid crashing with SIGPIPE when the remote end is not listening to us anymore.
	  Fixes #601772

2009-11-11 17:35:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Improve subtitle passthrough in uridecodebin
	  Now the caps property isn't set anymore for the subtitle caps
	  but instead in the autoplug-continue signal it is detected
	  if the caps belong to a supported subtitle stream.
	  This makes automatic use of newly installed plugins.

2009-11-11 17:08:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Only recreate factory caps if necessary and cache them

2009-11-10 18:27:15 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Only update the factory list when the registry has changed
	  Also don't free the list every time we go to NULL.

2009-11-08 15:04:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Use gst_pad_get_caps_reffed()

2009-11-07 21:38:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2/playsink: Use new "silent" property instead of unlinking
	  This makes sure that subtitleoverlay still gets segment updates and
	  everything to pass on downstream. Without this segment problems happen.

2009-11-07 21:10:27 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Update segments after pushing the events downstream
	  This makes sure that we don't apply segments twice downstream. Also
	  always send our newsegment events downstream.

2009-11-07 21:09:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Add silent property to disable subtitles
	  This tries to disable subtitles in the overlay or renderer
	  and if that's not possible it goes into passthrough mode.

2009-11-07 11:46:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Set the video framerate on parsers if possible
	  Fixes bug #599649.

2009-11-07 11:31:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse: Make fps a GstFraction typed property and use it properly

2009-11-07 11:08:19 +0100  Iago Toral <itoral@igalia.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse: Add property for the video framerate

2009-11-06 12:51:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Handle external subtitles better
	  First of all, make sure that suburidecodebin never
	  errors out because of not-linked in case external subtitles
	  are used but then subtitles are disabled.
	  And then make sure that external subtitles always start from
	  the correct position and are not racing until EOS if they
	  get unselected and selected again.

2009-11-04 17:29:07 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Flush the subtitles before switching to a new subtitle stream
	  This makes sure that all currently shown subtitles disappear
	  and new ones can be shown as soon as possible.

2009-11-03 12:47:55 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Set subtitle caps as raw caps for the uridecodebins
	  This will make sure that no subparse is ever plugged and subtitleoverlay,
	  that subpicture streams are handled the same was as subtitles and that
	  subtitle renderers are used if available.
	  Fixes bugs #595123, #570753, #591662, #591706.

2009-11-03 12:33:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2/playsink: Remove everything related to subpicture streams
	  These will soon be handled the same way as subtitle streams.

2009-11-02 15:50:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Add a queue before subtitleoverlay
	  This will improve playback, and the same thing is done
	  for subpicture streams too.

2009-11-02 15:05:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use subtitleoverlay for subtitles

2009-11-02 07:43:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  subtitleoverlay: Add to the docs

2009-10-13 16:48:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Add new element for generic subtitle overlaying
	  This autopluggs the required elements for parsing and rendering
	  different subtitle formats on a video stream.
	  Fixes bug #600370.

2009-11-11 19:32:01 -0500  Olivier Crête <olivier.crete@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: Keep timestamp from incoming buffer if it is valid
	  Fixes bug #601627.

2009-11-11 14:00:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Update factories list on every access if the registry has changed
	  This makes application's simpler because the element doesn't need to
	  go to NULL first to make use of newly installed plugins.
	  Fixes bug #601480.

2009-11-10 18:13:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: When going from NULL->READY check if the registry has new features
	  This makes it possible to use newly installed plugins after going back
	  to NULL instead of requiring a new instance.
	  Fixes bug #599266.

2009-11-10 13:55:26 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Clear the EOS state on a seek.
	  Allow seeking back into the stream after it hits EOS.

2009-11-10 12:21:50 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/README:
	* gst/audioresample/arch.h:
	* gst/audioresample/fixed_arm4.h:
	* gst/audioresample/fixed_arm5e.h:
	* gst/audioresample/fixed_bfin.h:
	* gst/audioresample/fixed_debug.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample_sse.h:
	* gst/audioresample/speex_resampler.h:
	  audioresample: Update speex resampler to latest GIT

2009-11-10 00:48:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: assign chain->mute before using it
	  Fixes GObject warnings when starting totem.

2009-10-28 22:10:33 -0700  David Schleef <ds@schleef.org>

	* ext/theora/theoradec.c:
	  theora: Fix alignment of frames when converting
	  Fix logic inversion in calculating the offset in the theora
	  frame when copying to a GStreamer frame.

2009-11-09 19:58:20 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstfactorylists.c:
	  playback: Fix the order in strcmp that I broke in previous commit.

2009-11-09 19:16:21 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Reduce number of calls to gst_type_find_peek.
	  Shaves off a couple percents off typefinding

2009-11-09 17:49:51 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstfactorylists.c:
	  playback: Avoid expensive API calls in tight loop.
	  We know we're dealing with GstPluginFeature.

2009-11-09 18:11:42 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/cddabasesrc.c:
	  cddabasesrc: Add unit test for property settings
	  Also includes a regression test for bug #601104.

2009-11-09 18:04:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  cddabasesrc: Never return a negative track number in get_uri()

2009-11-09 18:03:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  cddabasesrc: Don't set the track to 1 every time a device is set
	  Fixes bug #601104.

2009-11-08 11:27:10 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: Remove useless variables and fix a uninitialized variable compiler warnings

2009-11-06 17:01:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Add property to disable/enable posting of stream-topology messages
	  Most people don't need this messages and generating them is quite
	  expensive.

2009-11-06 15:12:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Protect subtitle elements and subtitle encoding by a new mutex
	  Using the object lock here can and will lead to deadlocks because
	  of deep-notifies of property changes: the deep-notify handler will
	  get the parent of objects, which will take the object lock again.
	  Fixes bug #600479.

2009-11-06 13:13:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: Make sure that running_time->timestamp calculation never becomes negative

2009-11-06 13:25:05 +0200  Mart Raudsepp <leio@gentoo.org>

	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	  examples: Correct casting of g_signal* funcs first arguments
	  This completes the deprecated GTK API fix in commits 81a0a986 and
	  79adfa54 - unlike gtk_signal_connect and co, g_signal_connect and
	  co take a gpointer, not a GtkObject.

2009-11-06 12:25:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Improve all-raw-caps detection for pads

2009-11-06 12:19:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  basesrc: fix startup position in the ringbuffer
	  When we start and we need to produce the first sample, go to the next sample
	  that will be written into the ringbuffer instead of trying to go to sample 0.
	  We relied on rather small ringbuffer sizes to correctly go to the current
	  sample, which breaks whith large buffers.
	  Fixes #600945

2009-11-06 11:26:14 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: Use the start time (i.e. timestamp) as the last stop
	  Using the end time makes it impossible to replace buffers, which is
	  a big problem for subtitles that could have very long durations.

2009-11-06 12:08:19 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Synchronize video/text based on the running time
	  Instead of simply using the buffer timestamps.

2009-11-06 09:30:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Clip text buffers to the text segment and reset segments properly

2009-11-06 09:01:34 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Put the video segment into the instance struct instead of allocating it separately

2009-11-06 09:05:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Check if text timestamp/duration is valid before clipping

2009-11-05 23:33:42 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: printf format fix

2009-11-05 15:42:09 +0100  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst/gdp/gstgdpdepay.c:
	  gdpdepay: Clear adapter on flush and state change
	  Fixes #600469

2009-11-05 13:12:19 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: use _get_caps_reffed()

2009-11-05 13:00:27 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  pad: rename new api from _refed to _reffed.
	  Due to popular demand rename the new api as we still can.

2009-11-04 18:57:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin2: avoid copying caps
	  Use get_caps_refed() when we can.

2009-11-04 18:31:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: use new getcaps function to avoid copies
	  Use the gst_pad_get_caps_refed() to avoid some caps copy functions.

2009-11-04 17:50:11 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use faster element_link_pads
	  Use the faster gst_element_link_pads because we know for sure the sinkpad name
	  and we don't need to have the function search for a suitable pad anymore.

2009-11-04 16:16:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: make drift tolerance configurable
	  Add drift-tolerance property (defaulting to 20ms) to handle resync after clock
	  drift or timestamp drift instead of relying on the latency-time value for clock
	  drift and 500ms for timestamp drift.
	  Remove warning about discont timestamp and simply resync. The warning is in some
	  cases not correct and is triggered more frequently now that we lower the
	  tolerance value.

2009-11-04 10:52:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Return NOT_LINKED for unselected text pads from a demuxer
	  We want to return NOT_LINKED for unselected pads but only for pads
	  from the normal uridecodebin. This makes sure that subtitle streams
	  are not raced past audio/video from decodebin2's multiqueue.
	  For pads from suburidecodebin OK should always be returned, otherwise
	  it will most likely stop with an error.

2009-11-04 08:20:59 +0100  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstinputselector.c:
	  inputselector: also add inline to the proto to fix the build
	  Merged from gst-plugins-bad, e1e9be6dbe1bd0df0543f2a72dcf9cc6d644dd78.

2009-11-03 12:01:16 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Initialize caps property with the default raw caps

2009-11-03 11:48:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstrawcaps.h:
	  decodebin2: Use static caps for the default raw caps and put them into a separate header
	  This way we can use the same default raw caps everywhere.

2009-11-03 08:26:37 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: First draw outline text and then the real text
	  Improves the output a bit because no parts of the outline are
	  overwritten again.

2009-10-31 14:02:40 +0100  Josep Torra Valles <n770galaxy@gmail.com>

	* gst/playback/gstplaybin.c:
	  playbin: Make sure to keep a reference on the volume element
	  Fixes null pointer dereferences under certain circumstances.
	  Fixes bug #595401.

2009-10-31 09:47:54 +0100  Edward Hervey <bilboed@bilboed.com>

	* po/POTFILES.in:
	  po: queue2 has moved to core

2009-10-30 09:24:30 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Reset {mute,volume}-changed flags after setting the volume
	  These flags are there to make sure that the volume is set, if there
	  is no volume element yet.

2009-10-30 09:24:03 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: If notify::{volume,mute} is triggered by the volume element, update our internal state

2009-10-29 14:30:31 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Proxy notify::volume and notify::mute from the volume/mute elements (or sinks)
	  Fixes bug #600027.

2009-10-29 14:19:09 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Proxy notify::volume and notify::mute from the playsink to playbin2

2009-10-29 11:37:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/inspect/plugin-queue2.xml:
	  queue2: Remove inspect file

2009-10-29 11:29:46 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstqueue2.c:
	  queue2: Remove from gst-plugins-base
	  This is now in coreplugins.

2009-10-28 11:29:36 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  docs: include more indexes

2009-10-28 11:13:20 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  docs: turn entities into xi:includes
	  This is faster to process and easier to maintain. Its also less 80s.

2009-10-28 10:17:43 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: dump packets which we reject

2009-10-28 01:01:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/.gitignore:
	  .gitignore: ignore basetime unit test binary

2009-10-28 00:59:35 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst/adder/gstadder.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstqueue2.c:
	* gst/playback/gststreaminfo.c:
	* gst/playback/gststreamselector.c:
	* gst/subparse/gstssaparse.c:
	  Remove GST_DEBUG_FUNCPTR where they're pointless
	  There's not much point in using GST_DEBUG_FUNCPTR with GObject
	  virtual functions such as get_property, set_propery, finalize and
	  dispose, since they'll never be used by anyone anyway. Saves a
	  few bytes and possibly a sixteenth of a polar bear.

2009-10-27 15:23:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstqueue2.c:
	  queue2: add custom acceptcaps function

2009-10-27 15:22:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: implement low/high watermark property

2009-10-23 14:56:11 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: add checkbox to enable buffering

2009-10-23 14:54:47 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: don't use 2 buffering elements
	  Only use the multiqueue buffering when we don't have a stream (and thus are
	  using queue2 to do the buffering already).

2009-10-23 14:34:42 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	  playbin2: add flag to enable decodebin buffering
	  Add a flag that enables buffering in decodebin.

2009-10-23 14:32:29 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: buffering is implemented now

2009-10-23 14:30:52 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: buffering is implemented now

2009-10-23 14:09:17 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: configure use-buffering on multiqueue

2009-10-23 13:58:25 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use 0 for max buffer size

2009-10-23 13:53:21 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: set some reasonable defaults

2009-10-23 13:44:12 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: set buffering properties on decodebin2
	  Propagate the buffering properties on decodebin2 but only if we are not already
	  doing download buffering.

2009-10-23 11:52:09 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add use-buffering property
	  Add a use-buffering property that will perform buffering on the parsed or
	  demuxed media.

2009-10-23 11:31:47 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: refactor queue size configuration.
	  Refactor the queue size configuration into a new method.
	  Use the same queue values for buffering as for preroll.

2009-10-23 11:08:50 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: move error path down

2009-10-23 11:02:40 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: implement max queue size properties

2009-10-23 10:42:23 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: add properties for buffering
	  Add properties that can be used to configure the multiqueue buffers and
	  buffering methods

2009-10-24 13:19:08 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/examples/app/Makefile.am:
	* tests/examples/seek/Makefile.am:
	* tests/examples/v4l/Makefile.am:
	  examples: fix linking order.
	  the uninstalled wrapper would create a LD_LIBRARY_PATH with system-wide
	  path before the local ones... resulting in the example applications picking
	  up the system-wide libraries and not the (potentially modified) uninstalled
	  libraries

2009-10-24 13:08:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't destroy the suburidecodebin on errors
	  It can still be reused

2009-10-24 13:07:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: If setting the state of the suburidecodebin fails just warn, don't error out

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

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't set uridecodebin states to NULL before reusing them
	  This makes sure that the internal decodebin2 and everything else can
	  be reused without reinstantiation.

2009-10-18 17:28:22 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Store unused decodebin2 instances for further usage.
	  This allows faster re-use of uridecodebin.
	  https://bugzilla.gnome.org/show_bug.cgi?id=599471

2009-10-23 17:49:15 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoraparse.h:
	* ext/theora/theoraparse.c:
	  theora: Convert theoraparse to libtheora 1.0 API

2009-10-21 12:38:59 +0300  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  rtpaudiopayload: Only sent exact multiple of the frame size
	  Also align the maximum size with the frame size, not only the minimum

2009-10-22 09:12:03 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: move debug calculation into debug macro
	  Remove in_duration and move its calculation to
	  GST_LOG_OBJECT macro. This way it will only be calculated
	  if we have debug enabled.

2009-10-22 09:06:02 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Removing unused variable
	  The in_stop variable was never read. Removing it.

2009-10-22 08:40:01 -0300  Thiago Santos <thiagoss@embedded.ufcg.edu.br>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: be more accurate on offset math
	  Replace gst_util_uint64_scale_int for its rounding version
	  to improve accuracy and avoid inserting samples where
	  they aren't needed.
	  Fixes #499181

2009-10-22 10:17:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Optimize a bit more
	  ...and add a FIXME for bug #598695 and explain
	  what we should do once Pango supports user fonts.

2009-10-22 10:02:11 +0200  Iago Toral <itoral@igalia.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* tests/check/elements/subparse.c:
	  subparse: Add support for DKS subtitle format
	  Fixes bug #598936.

2009-10-22 09:31:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Do shading as first operation

2009-10-22 09:08:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Only use a single cairo surface for drawing
	  ... and comment/optimize what is going on here a bit better.

2009-10-21 16:24:29 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: set output caps before pushing
	  Set the output caps on the srcpad before pushing the buffer because else core
	  will do a rather expensive check to see if we can actually accept those caps on
	  the srcpad.

2009-10-21 15:58:11 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	  inputselector: install an acceptcaps function
	  Install a custom acceptcaps function instead of using the default expensive
	  check. We accept whatever downstream accepts so we pass along the acceptcaps
	  call to the downstream peer.

2009-10-21 20:35:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix typo in previous mxf typefinder change

2009-10-21 20:44:33 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: speed up mxf_type_find over 300 times for worst case scenarios
	  * memcmp is expensive and was being abused, reduce calling it by checking
	  the first byte.
	  * iterating one byte at at time over 64 kbites introduces a certain overhead,
	  therefore we now do it in chunks of 1024 bytes
	  And I do mean over 300 times. The average instruction call per mxf_type_find
	  was previously 785685 and it's now down to 2458 :)

2009-10-20 17:13:39 -0400  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstfactorylists.c:
	  decodebin2: avoid type checks

2009-10-20 09:00:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  gst/decodebin2: Ensure we get fixed caps for topology message
	  There are some corner cases (like with dvdemux amongst others) where
	  the caps won't be negotiated, but the pad has fixed caps.

2009-10-20 08:52:36 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  gst/decodebin2: Don't expose chains if we're shutting down.
	  This avoids adding flushing pads to ourself

2009-10-17 21:16:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* ext/pango/gsttextoverlay.c:
	  pango: bump pango requirement to stable version and remove ifdefs
	  Bump pango requirement from an ancient development version to an
	  ancient stable version.

2009-10-17 21:11:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/.gitignore:
	  .gitignore: update after files got renamed

2009-10-16 10:54:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppayload: small comment fix

2009-10-16 10:50:35 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtp: Correct timestamping of buffers when buffer_lists are used
	  The timestamping of buffers when buffer_lists are used failed if
	  a buffer did not have both a timestamp and an offset.

2009-10-16 10:56:56 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsp-marshal.list:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/video/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/tcp/Makefile.am:
	  build: fix previous commit to fully accomodate the glib-gen.mak changes
	  I also renamed glib_enum_prefix to glib_gen_prefix as we also use that for the
	  marshallers. Also rename the rtsp-marshal.list to work with the unified prefix.

2009-10-16 10:18:45 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/tcp/Makefile.am:
	  build: use gst-glib-gen.mak to fix the glib build rules. Fixes #598114
	  The build rules in glib-gen.mak were using pattern rules in a non save way.

2009-10-16 10:14:36 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From 85d1530 to 0702fe1

2009-09-10 11:39:18 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoradec.c:
	  theora: Make theoradec use gstvideo for image conversion
	  Vastly simplifies code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-10 09:36:31 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoradec.c:
	  theora: Don't always round to even width/height
	  Previously, the code always rounded to even sizes. Now it only ensures
	  that pic_x and pic_y are multiples of 2 if the output format requires
	  it.
	  Also inlcudes fixes to take pic_x/y into account properly when copying
	  the buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-10 00:00:44 +0200  Benjamin Otte <otte@gnome.org>

	* configure.ac:
	  theora: Don't check for theora.pc anymore
	  THe new APIs from theoradec and theoraenc are used now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-07-31 14:59:03 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoradec.h:
	* ext/theora/theoradec.c:
	  theora: Convert theoradec to libtheora 1.0 API
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 23:44:36 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/Makefile.am:
	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Port encoder to new Theora API
	  Includes ripping out the old buffer copy code to fill up to frame size.
	  This is not necesary with the new encoder.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 21:59:31 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Disable sharpness property
	  It's ignored by libtheora
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 21:57:08 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Disable noise-sensitivity property
	  It is ignored by libtheora
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 21:50:57 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Disable keyframe-mindistance property
	  It's ignored by the current Theora library
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 21:48:08 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Disable keyframe_threshold property
	  It's ignored by the current theora encoder
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-09 20:26:47 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Get rid of "quick" property
	  The proeprty is not used by libtheora at all
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-08 15:12:23 +0200  Benjamin Otte <otte@gnome.org>

	* configure.ac:
	* ext/theora/theoraenc.c:
	  theora: remove support for outdated granulepos hack
	  This is in preparation to switching to switching to the new Theora API
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-08 13:23:04 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Ignore border property
	  Always make the video use black as padding color.
	  The output will be identical to previous versions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-09-08 13:18:26 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theora: Ignore the center property, always set video to top left
	  This is not a necessary property, the output will be identical no matter
	  what.
	  https://bugzilla.gnome.org/show_bug.cgi?id=594729

2009-10-15 16:34:28 +0100  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-15 13:13:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Post a element message on the bus with the stream topology
	  Fixes bug #598533.

2009-10-15 13:01:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Store the "endcaps" of a chain
	  This are the caps that either resulted in a deadend if
	  no plugin for them could be found or raw caps.

2009-10-15 11:38:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Store for every chain, which pad resulted in its creation

2009-10-15 10:28:39 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/pipelines/basetime.c:
	  check: Don't fail the basetime test when no audiosrc is available
	  On OS/X the DEFAULT_AUDIOSRC is not going to be available, because
	  it isn't in gst-plugins-base. Just defer the test, instead of
	  failing it.

2009-10-14 10:41:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From a3e3ce4 to 85d1530

2009-10-14 08:36:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Use gst_object_has_ancestor() instead of our own implementation of it

2009-10-13 19:14:41 +0300  Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: fix timestamp comparission, Fixes #597407

2009-10-13 13:52:02 +0300  Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>

	* tests/check/Makefile.am:
	* tests/check/pipelines/basetime.c:
	  tests: new test for baseaudiosrc base_time comparison
	  This test reveals a bug in comparison operation between timestamp and
	  GstElement's base_time in GstBaseAudioSrc.

2009-10-08 19:55:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Don't stop completely on initialization errors from subtitle elements
	  Instead disable the subtitles and play the other parts of the stream.
	  Fixes bug #587704.

2009-10-13 16:50:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Ignore no-more-pads from non-demuxer elements
	  instead of printing an error that no corresponding group could
	  be found. no-more-pads from non-demuxer elements doesn't give
	  any additional information because there can only be a single srcpad.
	  Fixes bug #598288.

2009-10-12 21:30:15 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: track active conversion in perf log

2009-10-12 15:48:46 +0200  Patrick Radizi <patrick.radizi at axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: handle socket errors
	  gstrtspconnection.c:gst_rtsp_connection_receive() can hang when an error occured
	  on a socekt. Fix this problem by checking for error on 'other' socket after poll
	  return.
	  Fixes #596159

2009-10-06 14:08:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: whitespace fixes

2009-10-06 14:07:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: avoid confusing error

2009-10-09 22:00:45 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/vorbis/vorbisdec.c:
	* ext/vorbis/vorbisenc.c:
	  vorbis: fixes warings in macosx snow leopard

2009-10-09 18:52:12 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/theora/theoradec.c:
	* ext/theora/theoraparse.c:
	  theora: fixes warnings on macosx snow leopard

2009-10-09 16:56:29 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	  ogg: fixes warnings on macosx snow leopard

2009-10-09 16:19:17 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix a warning in macosx

2009-10-08 14:16:44 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/tag/tags.c:
	  tag: use BOM to recognize UTF-16/32 encoding and convert accordingly

2009-10-09 15:11:16 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/gst-plugins-base.supp:
	  check: Add valgrind suppressions for ALSA and fontconfig bits on Jaunty.

2009-10-09 15:32:45 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  audioconvert: change the format instead of cast as ensonic asked

2009-10-09 15:29:15 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: fixes warning: format not a string literal and no format arguments
	  redo of valid part of my previous revert.

2009-10-09 15:19:42 +0200  Josep Torra <n770galaxy@gmail.com>

	* common:
	* gst/audioconvert/gstchannelmix.c:
	  Revert "audioconvert: fixes warning: format not a string literal and no format arguments"
	  Revert this commit as unintentionally I've changed common.
	  This reverts commit 49ea0138223ec5f9e53780635cbcc70f33778667.

2009-10-09 14:28:42 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/gnomevfs/gstgnomevfssrc.c:
	  gnomevfssrc: fixes warnings in macosx
	  warning: format '%llu' expects type 'long long unsigned int', but argument 8 has type 'GnomeVFSFileOffset'
	  warning: format '%lld' expects type 'long long int', but argument 9 has type 'guint64'

2009-10-09 14:23:36 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/videorate/gstvideorate.c:
	  videorate: fix warning in macosx

2009-10-09 14:20:47 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: fix warning in macosx

2009-10-09 14:14:15 +0200  Josep Torra <n770galaxy@gmail.com>

	* common:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: fixes warning: format not a string literal and no format arguments

2009-10-09 14:07:24 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	  audio: fix warnings building on macosx

2009-10-08 18:08:22 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: chwck formats just once per _chain()

2009-10-08 17:49:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: add perf-log-category and log suboptimal operation
	  Log if we use an intermediate colorspace for conversion.

2009-10-08 10:59:36 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 19fa4f3 to a3e3ce4

2009-10-08 00:17:21 +0100  Jan Schmidt <jan.schmidt@sun.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Fix type-punning warning

2009-09-26 12:56:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Chains with an exposed endpad are complete too
	  This allows partial group changes, i.e. demuxer2 in the example below
	  goes EOS but has a next group and audio2 stays the same.
	  /-- >demuxer2---->video
	  demuxer---             \--->audio1
	  \--->audio2

2009-09-26 12:47:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Use the iterate internal links function instead of string magic to get multiqueue srcpads

2009-09-24 14:56:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Don't post missing plugin messages twice
	  decodebin2 already posts them after emitting the unknown-type signal,
	  there's no need to post another one.

2009-09-26 12:17:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Rewrite autoplugging and how groups of pads are exposed
	  This now keeps track of everything that is going on, creates
	  a tree of chains and groups to allow "demuxer after demuxer" scenarios
	  and allows chained Oggs with multiple streams (needs oggdemux or playbin2 fixes).
	  Also document everything in detail and give a general overview of what
	  decodebin2 is doing at the top of the sources.
	  Fixes bug #596183, #563828 and #591677.

2009-10-07 17:45:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	  ximagesink: only start event thread if needed
	  The event thread is doing 20 wakeups per second to poll the events. If one
	  runs ximagesink with handle-events=false and handle-expose=false then we can
	  avoid the extra thread.

2009-10-07 16:56:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/theoraenc.c:
	  theoraenc: Make the default quality property 48.
	  This guarantees that people who use theoraenc without modifying any
	  properties will end up with a reasonably good quality output.
	  48 is also the default of the encoder_example application shipped with
	  libtheora.

2009-10-07 11:48:37 +0200  Benjamin Otte <otte@gnome.org>

	* tests/check/libs/video.c:
	  tests/check/libs/video.c: Update strides for Y41B

2009-10-07 10:32:17 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: we can use GLib 2.18 API unconditionally now

2009-10-07 10:13:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump GLib requirement to 2.18
	  Bump required GLib version as per the release planning docs.

2009-10-05 00:33:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/tuner.c:
	  docs: clarify GstTuner docs in two places

2009-09-25 15:32:18 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/v4l/gstv4lelement.c:
	  v4l: fix compiler warning
	  Fix 'variable may be used uninitialized' compiler warning (which is
	  true in theory, but can't actually ever happen, since we always
	  call the function with check=FALSE).
	  Fixes #596313.

2009-10-07 11:56:35 +0300  Stefan Kost <ensonic@users.sf.net>

	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/ogg/gstogmparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/mpl2parse.c:
	* gst/subparse/tmplayerparse.c:
	  build: sprintf, sscanf need stdio.h

2009-09-15 15:26:06 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: only start event thread if needed
	  The event thread is doing 20 wakeups per second to poll the events. If one runs
	  xvimagesink with handle-events=false and handle-expose=false then we can avoid
	  the extra thread.

2009-10-07 09:58:27 +0200  Benjamin Otte <otte@gnome.org>

	* gst-libs/gst/video/video.h:
	  Update Since tags for NV12/NV21
	  They are added in 0.10.26 now, not 0.10.25

2009-09-23 15:31:50 +0200  Benjamin Otte <otte@gnome.org>

	* gst/videotestsrc/videotestsrc.c:
	  [videotestsrc] Make checkers-8 pattern create 8x8 instead of 16x16 tiles

2009-09-23 11:03:57 +0200  Benjamin Otte <otte@gnome.org>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  [ffmpegcolorspace] Fix NV12 and NV21 with odd width and height

2009-09-23 10:25:02 +0200  Benjamin Otte <otte@gnome.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  Add NV12 and NV21 formats

2009-09-21 18:49:42 +0200  Benjamin Otte <otte@gnome.org>

	* gst-libs/gst/video/video.c:
	  [video] Fix Y41B
	  Chroma components should be aligned on 4byte boundaries.
	  https://bugzilla.gnome.org/show_bug.cgi?id=595849

2009-09-21 18:49:06 +0200  Benjamin Otte <otte@gnome.org>

	* gst/videotestsrc/videotestsrc.c:
	  [videotestsrc] Fix Y41B
	  Chroma components should be aligned on 4byte boundaries.
	  https://bugzilla.gnome.org/show_bug.cgi?id=595849

2009-10-07 07:28:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/interfaces/streamvolume.c:
	  streamvolume: Define cbrt() if it's not available
	  Fixes build on Win32, bug #597537.

2009-09-24 16:05:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstfactorylists.c:
	  factorylist: Use gst_caps_can_intersect() instead of _intersect()
	  This is faster and results in less allocations.

2009-09-26 12:10:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't set the external ghostpads blocked but only their targets
	  Pad blocks should never be done on external pads as outside elements
	  might want to use their own pad blocks on them and this will lead to
	  conflicts and deadlocks.

2009-09-26 12:04:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Only use the object lock for protecting the subtitle elements
	  Using the decodebin lock will result in deadlocks if the subtitle encoding
	  is accessed from a pad-added handler.

2009-09-26 18:11:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Improve debugging of pad blocks

2009-09-23 16:07:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2/playsink: Use gst_object_ref_sink() instead of calling both separately

2009-10-06 19:59:11 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  configure: Add an 'else' to pangocairo check
	  Otherwise it exits if it fails.

2009-10-06 19:35:50 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add pattern with out-of-gamut colors
	  Adds a pattern with out-of-gamut colors in a checkerboard
	  pattern with in-gamut neighbors.  Useful for checking YCbCr->RGB
	  color matrixing.  Correct matrixing and clamping will cause the
	  checkerboard pattern to be invisible.

2009-10-06 19:17:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use CLOSE_SOCKET() instead of close()
	  Use CLOSE_SOCKET instead of directly calling close() because it does the right
	  thing for windows.
	  Fixes #597539

2009-10-01 14:19:41 +0200  Robert Swain <robert swain gmail com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: fix printf variable type
	  Change printf variable type from %lu to %" G_GUINT64_FORMAT " as it
	  should be for guint64.
	  Fixes #596981

2009-09-30 23:22:35 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  ffmpegcolorspace: Use the ffmpegcolorspace debug category
	  Move gstffmpegcodecmap debug to the ffmpegcolorspace category

2009-09-22 11:58:26 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/gdp/gstgdppay.c:
	  gdppay: Don't repeat tags buffers for every new segment
	  Only send a tag buffer when one is received, not after every new segment
	  event/update.

2009-09-28 20:25:35 -0700  David Schleef <ds@schleef.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: detect 'ftypqt  ' as video/quicktime

2009-10-06 19:47:00 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  back to development -> 0.10.25.1

=== release 0.10.25 ===

2009-10-05 13:56:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	  Release 0.10.25

2009-10-05 13:49:10 +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/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-01 17:17: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/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:
	  0.10.24.4 pre-release

2009-10-01 10:37:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	  pango: Unpremultiply Cairo's ARGB to match GStreamers ARGB

2009-09-28 22:06:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: make the lock recursive for now
	  Fixes #583255

2009-09-28 21:54:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix the vis property getter

2009-09-30 18:06:56 +0100  Christian F.K. Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Add missing file to spec file

2009-09-17 16:57:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* tests/check/libs/cddabasesrc.c:
	  cddabasesrc: Fix string leaks in the unit test and a leak in cddabasesrc

2009-09-17 23:42:52 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* tests/check/libs/cddabasesrc.c:
	  cddabasesrc: ignore URI fragments that look like device paths
	  Rhythmbox uses cdda:// URIs of the form cdda://track#device, which
	  worked before the fix for bug #321532.
	  Also adds a check for negative track numbers and some unit tests for URI
	  parsing.
	  Fixes bug #595454.

2009-09-17 01:20:45 +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/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/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:
	  0.10.24.3 pre-release

2009-09-15 15:23:49 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: don't ever return NULL in list of strings.

2009-09-14 12:18:33 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  playsink: Expose mute,volume,vis-plugin and font-desc properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=594623

2009-09-09 12:42:04 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  GstPlaySink: Expose 'reconfigure' as an action signal.

2009-09-09 11:17:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaysink.c:
	  GstPlaySink: Expose flags as a gobject property.

2009-09-08 11:35:20 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplayback.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playback: Register playsink as an element.
	  This allows using playsink from outside the playback plugin.
	  Add code to be able to request the sink pads using standard GStreamer API.
	  TODO : expose GObject properties/signals.

2009-09-12 14:55:06 +0300  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs.types:
	  docs: add new gst_stream_volume_get_type to types file
	  This is needs to get Gobject features to show up in the docs.

2009-09-12 15:48:11 -0700  David Schleef <ds@schleef.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix duration calculation for truncated files
	  If the last page of a stream has a granulepos of -1, that is,
	  it doesn't complete a packet, we need to continue to search
	  for the last granulepos.

2009-09-12 14:01:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Build pkgconfig before all libraries and set PKG_CONFIG_PATH
	  This way g-ir-scanner can find the gstreamer-*-0.10 pkg-config files.

2009-09-12 02:23:07 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ext/theora/theoraenc.c:
	  theoraenc: Fix a string leak in _getcaps()

2009-09-11 23:49:11 +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/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:
	  0.10.24.2 pre-release

2009-09-11 21:44:18 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/audioresample.c:
	  check: Improve audioresample test
	  Make the audioresample test work with CK_FORK=no, and
	  turn a g_print into a GST_INFO.

2009-09-11 22:09:06 +0200  Benjamin Otte <otte@gnome.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix crashes with even widths
	  The fix for green lines introduced by commit
	  35fdfcc6258c66ba462a4330a35deffb0f2b501d caused invalid memory accesses
	  for even widths. This patch fixes it.

2009-09-11 15:11:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Implement GstStreamVolume interface

2009-09-11 15:04:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/volume/gstvolume.c:
	* gst/volume/gstvolume.h:
	* tests/check/Makefile.am:
	* tests/check/elements/volume.c:
	  volume: Implement GstStreamVolume interface

2009-09-11 14:54:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/interfaces/streamvolume.c:
	* gst-libs/gst/interfaces/streamvolume.h:
	* gst/playback/Makefile.am:
	* win32/common/libgstinterfaces.def:
	  interfaces: API: Add GstStreamVolume interface
	  Fixes bug #567660.

2009-09-11 12:20:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: properly fix the HTTP manual mode
	  When we're not parsing HTTP, return EPARSE when we get an HTTP
	  message.

2009-09-11 10:16:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/mixertrack.h:
	  mixertrack: add READONLY and WRITEONLY flags
	  Should really have been READABLE and WRITABLE, but those are hard to
	  add whilst maintaining backwards compatibility. See #343615.
	  API: GST_MIXER_TRACK_READONLY
	  API: GST_MIXER_TRACK_WRITEONLY

2009-09-11 10:02:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: fix build against core that has debugging disabled
	  The macro is called GST_DISABLE_GST_DEBUG, not GST_DISABLE_DEBUG.

2009-09-11 07:38:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Add Since marker for the new skip-to-first property

2009-09-11 07:36:10 +0200  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: Make videorate work with a live source
	  Add a property that makes videorate skip to the first buffer it
	  receives instead of padding the stream from segment start to the
	  first real buffer.
	  Fixes bug #567928.

2009-09-11 07:20:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/fft/gstfft.h:
	* gst-libs/gst/fft/gstfftf32.h:
	* gst-libs/gst/fft/gstfftf64.h:
	* gst-libs/gst/fft/gstffts16.h:
	* gst-libs/gst/fft/gstffts32.h:
	  fft: Mark one function as const and add notes that the structs should be private in 0.11

2009-09-10 22:28:19 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: add human readable format names when logging
	  Add string array with human readable names for format and type to be used in log
	  statements.

2009-09-10 18:19:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppay: don't print RTP timestamps as clocktime
	  Don't try to print the RTP timestamp as a GstClockTime, it's just a guint32.
	  Fixes #594757

2009-09-10 16:55:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin.c:
	* gst/playback/gstplaybin2.c:
	  playbin(2): Document that the volume property uses a linear scale
	  Fixes bug #571610.

2009-09-10 14:04:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't return EPARSE
	  Don't blindly return EPARSE when http mode is disabled.
	  Restore old http mode after temporarily setting it to TRUE.

2009-09-10 12:38:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: add ugly backward compat hack
	  Check for pulsesink < 0.10.17 because it includes code that is now included in
	  baseaudiosink. Disable that code in baseaudiosink to be compatible with the
	  older version.

2009-09-10 10:56:29 +0200  Benjamin Otte <otte@gnome.org>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Handle YVU9/YUV9 conversion with odd widths
	  A green border could be visible when converting to Y444 or RGB, because
	  the last chroma samples weren't copied correctly

2009-09-10 10:43:37 +0200  Benjamin Otte <otte@gnome.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix YVU9 and YUV9
	  - Buffer sizes were computed different from ffmpegcolorspace
	  - Green bar on right size for widths not divisable by 4

2009-09-10 10:08:28 +0200  Benjamin Otte <otte@gnome.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix image for odd widths in some formats
	  videotestsrc rounds chroma down. This causes it to omit the last chroma
	  value completely for odd widths when the chroma is downsampled.
	  This patch special cases the last pixel to not be rounded down.

2009-09-10 10:02:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Handle kate and cmml as sparse streams too

2009-09-10 10:00:16 +0200  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: Better handling of sparse streams by sending segment updates
	  Fixes bug #397419.

2009-09-10 09:43:28 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gsturidecodebin.c:
	  docs: tell a biit more about uri-decodebin and buffering

2009-09-09 18:24:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: take clock time in setcaps
	  Take the time of the clock so that the last_time field is set. This is important
	  for sinks that restart their internal ringbuffer after a caps change and need to
	  know the last know position.

2009-09-09 18:24:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: add some more debug

2009-09-09 16:44:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/theoraenc.c:
	  theoraenc: Print a debug message with supported formats

2009-09-07 17:29:38 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Check supported input formats in getcaps function
	  We want to fail early when an older libtheora release is used that does
	  not support Y444 or Y42B formats, so use a getcaps function that does
	  this.

2009-09-04 21:37:04 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Implement support in theoraenc for Y444 and Y42B
	  Fixes bug #594165.

2009-09-04 20:23:52 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Refactor the buffer copy code

2009-09-04 16:59:49 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Split yuv_buffer creation into its own function

2009-09-04 16:49:08 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Split out buffer resize in its own function

2009-09-04 14:06:09 +0200  Benjamin Otte <otte@gnome.org>

	* ext/theora/theoraenc.c:
	  theora: Add assertions that functions don't fail
	  Some functions in libtheora can return an error, but that error cannot
	  ever happen inside theoraenc. In those cases assert that it doesn't.

2009-09-09 16:21:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: make stop state configurable
	  Make it easy to experiment with different stop states (NULL and READY)

2009-09-09 16:19:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: correct for clock reset
	  When going to NULL, we reset the ringbuffer so that it starts beck from 0. We
	  also make sure that the clock is updated with the elapsed time so that it
	  alsways increments even when the ringbuffer goes back to 0. When this happened
	  we need to adjust the sample position for the reset ringbuffer.
	  Fixes #594136

2009-09-09 16:17:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.h:
	  baseaudiosink: whitespace fixes

2009-09-09 16:16:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: add more debug

2009-09-09 10:25:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/mixer.h:
	  whitespace fixes

2009-09-08 17:59:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/gstvideosink.h:
	  videosink: add "show-preroll-frame" property
	  Add a property to disable rendering of video frames during preroll. This
	  will only work for videosinks that use the new ::show_frame() vfunc instead
	  of overriding basesink's preroll and render vfuncs directly.
	  API: GstVideoSink:show-preroll-frame

2009-09-08 17:43:26 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink, xvimagesink: use new GstVideoSink::show_frame() vfunc

2009-09-08 18:19:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/gstvideosink.h:
	  video: add GstVideoSinkClass::show_frame()
	  Add ::show_frame() vfunc which maps to basesink's ::preroll and ::render
	  vfuncs and add some gtk-doc chunks.
	  API: GstVideoSinkClass::show_frame()

2009-09-08 16:00:47 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: don't do stuff inside g_return_val_if_fail() statements
	  Or it will all fall apart if someone compiles with -DG_DISABLE_ASSERT.

2009-08-31 20:24:22 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: Fix compiler warning with MSVC
	  Fixes bug #594275.

2009-08-31 20:31:56 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	  basertpdepayload: fix event forwarding

2009-08-31 20:36:37 +0200  Havard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: add missing break in handling of GST_RTCP_TYPE_PSFB
	  Fixes #594258

2009-09-08 13:02:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  fix whitespace

2009-09-08 12:59:20 +0200  Håvard Graff <havard.graff@tandberg.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: improve slave skew resync
	  The old one did the mistake of not actually advancing the ringbuffer, it just
	  adjusted the segbase, introducing the whole lenght of the ringbuffer as an
	  extra delay in the pipeline.
	  Also make sure that the resync can never go back in time, producing the same
	  timestamps that has already been produced, as this can cause severe problems
	  for sinks and other synching mechanisms.
	  Fixes #594256

2009-09-07 17:13:12 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: disable typefinder for headerless flac
	  Disable headerless flac typefinder as long as it happily typefinds anything
	  including /dev/urandom as flac and as long as it's not particularly useful
	  given that such streams don't really exist in the wild.
	  Also fix up some comments so that gtk-doc doesn't complain about them.

2009-09-06 15:21:43 +0300  René Stadler <mail@renestadler.de>

	* sys/ximage/ximagesink.c:
	  ximagesink: fix small memory leak when setting window title

2009-09-06 01:42:42 +0300  René Stadler <mail@renestadler.de>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix small memory leak when setting window title

2009-09-05 13:55:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* .gitignore:
	  introspection: Add *.gir and *.typelib to .gitignore

2009-09-05 13:46:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introduction: Fix out-of-tree build

2009-09-05 13:13:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: Fix introspection build by ordering sources/headers in dependency order

2009-09-05 13:09:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Remove debug echo

2009-09-05 13:08:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Fix build of introspection data by using dependency order for the headers/sources

2009-09-05 12:31:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Strip Gst prefix from all types/functions

2009-09-05 11:49:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/netbuffer/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Fix build if gir-repository is not installed

2009-09-05 11:37:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	  video: Add gobject-introspection support

2009-09-05 11:35:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/Makefile.am:
	  tag: Add gobject-introspection support

2009-09-05 11:34:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/sdp/Makefile.am:
	  sdp: Add gobject-introspection support

2009-09-05 11:31:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/interfaces/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	  libs: Add nodist headers and sources to the introspection files

2009-09-05 11:28:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: Add gobject-introspection support

2009-09-05 11:25:42 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtp/Makefile.am:
	  rtp: Add gobject-introspection support

2009-09-05 11:23:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/Makefile.am:
	  riff: Add gobject-introspection support

2009-09-05 11:20:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: Add gobject-introspection support

2009-09-05 11:17:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/netbuffer/Makefile.am:
	  netbuffer: Add gobject-introspection support

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

	* gst-libs/gst/interfaces/Makefile.am:
	  interfaces: Add gobject-introspection support

2009-09-05 11:04:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/fft/Makefile.am:
	  fft: Add gobject-introspection support

2009-09-05 11:01:44 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/Makefile.am:
	  cdda: Add gobject-introspection support
	  This is disabled for now until gobject-introspection is fixed

2009-09-05 10:50:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Add gobject-introspection support

2009-09-05 10:40:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* gst-libs/gst/app/Makefile.am:
	  app: Add gobject-introspection support

2009-09-05 10:20:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 00a859e to 19fa4f3

2009-09-04 15:48:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix midi typefinding
	  We already have a audio/midi typefinder so don't override it with the midi in
	  RIFF typefinder or else we fail to detect plain midi files.

2009-09-04 11:29:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: do buffering for more uris
	  Add ssh://, ftp://, sftp://, myth:// to the list of uris that require
	  buffering.
	  Fixes #594020

2009-09-04 07:36:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add typefinder for Midi inside RIFF
	  This is a standard Midi file format that should be supported by
	  all Midi decoders and also has the mimetype audio/mid according to
	  the Midi specification homepage.
	  Fixes bug #594094.

2009-09-03 18:53:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: add some debugging

2009-09-03 17:53:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: handle gaps
	  Add various conversion functions between time<->bytes<->rtptime that will be
	  used later on.
	  Refactor the min/max packet length code so that it can be used for both
	  sample/frame based payloaders. Cache the returned values.
	  code cleanups.
	  When we discover a DISCONT buffer, make the outgoing RTP timestamps have the
	  same gap as the GStreamer timestamps gap.

2009-09-03 14:13:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: fix frame duration calculations
	  Fix the calculation of the frame duration and rtp timestamps.
	  Add some debugging

2009-09-03 14:13:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  rtppay: add some debugging

2009-09-02 19:49:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: use offsets for RTP timestamps
	  Have a custom sample/frame function to generate an offset that the base class
	  will use for generating RTP timestamps. This results in perfect RTP timestamps
	  on the output buffers.
	  Refactor setting metadata on output buffers.
	  Add some more functionality to _flush().
	  Handle DISCONT on the input buffers and set the marker bit and DISCONT flag on
	  the next outgoing buffer.
	  Flush the pending data on EOS.

2009-09-02 13:13:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: move function around

2009-09-02 13:12:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: fix sample duration calculation

2009-09-02 12:24:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppay: more refactoring
	  Unify the sample/frame buffer handling code by making the functions plugable.

2009-09-02 12:03:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  audiortppayload: refactor some more
	  Refactor getting the packet min/max size and alignment code.
	  Refactor converting bytes to time.
	  change some variable to something shorter.

2009-09-02 10:46:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	* win32/common/libgstrtp.def:
	  audiortppayload: refactor and cleanup
	  Always use the adapter when we need to fragment the incomming buffer. Use more
	  modern adapter functions to avoid malloc and memcpy. The overall result is that
	  the code looks cleaner while it should be equally fast and in some case avoid a
	  memcpy and malloc.
	  Use the adapter timestamping functions for more precise timestamps in case of
	  weird disconts.
	  Cache some values instead of recalculating them.
	  Add gst_base_rtp_audio_payload_flush() to flush a certain amount of bytes from
	  the internal adapter.
	  API: GstBaseRTPAudioPayload::gst_base_rtp_audio_payload_flush()

2009-09-03 16:56:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	  Update common

2009-09-03 11:29:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppay: add property to disable perfect RTP time
	  Add a property to disable the generation of perfect RTP timestamps. By default
	  it is active.
	  API: GstBaseRTPPayload::perfect-rtptime

2009-09-02 19:47:26 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  basertppay: allow subclasses to influence RTP time
	  Allow subclasses to use the OFFSET field on RTP buffers to influence the way in
	  which RTP timestamps are generated. Usually timestamps are created from the
	  GStreamer timestamps on the buffer, which could result in imperfect RTP
	  timestamps.

2009-09-02 19:44:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppay: add macro to cast

2009-09-01 18:26:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiopayload: code cleanups

2009-09-01 18:08:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  audiortppayload: don't check adapter
	  the adapter is never NULL so we don't need to check it.
	  Use _scale functions to avoid overflows.

2009-09-03 00:14:02 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* gst/typefind/Makefile.am:
	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: move gio-based xdg mime typefinder from -bad to -base
	  Its purposes is mainly to avoid false positives (e.g. mp3 typefinder
	  reporting a 20% probability and somesuch). Won't be registered if
	  the gio plugin has been disabled via ./configure --disable-gio.

2009-09-01 15:06:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: GstAdapter is not a GstObject and should be freed with g_object_unref

2009-09-01 15:02:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	  v4lsrc: fix timestamping for when we do not have a clock yet
	  Should fix #559049.

2009-09-01 14:30:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	  v4lsrc: don't log not-yet-initialised integer value

2009-09-01 14:28:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* sys/v4l/v4lsrc_calls.c:
	  v4lsrc: avoid unnecessary run-time type checks in custom buffer finalize
	  And reflow code to be more indent friendly.

2009-09-01 10:39:52 +0200  Jonas Holmberg <jonas.holmberg@axis.com>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppayload: Make instance init faster by not reading /dev/urandom 3 times
	  ... which is the default seed when creating a new GRand. Because
	  GLib in older versions used buffered IO this would take a lot of time.
	  Instead use the global GRand for getting random numbers and keep the
	  three instance GRand for backward compatibility with a simple seed.
	  Fixes bug #593284.

2009-08-31 22:48:01 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: improve caps filter functionality. Fixes #590146.
	  Also use the capsfilter if there is no src-peer as the caps constrain what
	  we can do. Don't create any_caps as a default, as we check for NULL to skip the
	  filtering. This is a (small) performance regression as we always intersect
	  otherwise.

2009-08-31 11:10:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Post missing plugin messages before any error messages

2009-08-28 19:06:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  cddabasesrc: safely handle the indexes

2009-08-28 19:06:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  def: add new rtsp symbols

2009-08-28 14:08:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.h:
	  basertppayload: whitespace fixes.

2009-08-27 18:59:49 +0200  Marc-André Lureau <mlureau@flumotion.com>

	* gst/gdp/gstgdppay.c:
	  Bug 593035 - set IN_CAPS for streamheader buffer

2009-08-26 16:56:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	* gst/playback/gststreamselector.c:
	  playbin: The internally linked pad of the selector might be NULL in some cases

2009-08-26 16:45:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	* gst/playback/gststreamselector.c:
	  playbin: Fix iterate internal linked pads functions for the stream selectors
	  This now used the new gst_iterator_new_single() function and as a side effect
	  fixes bug #592864.

2009-08-26 09:08:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	  riff: Add support for AVF files
	  AVF is valid RIFF but has AVF0 has first fourcc instead of RIFF.
	  Fixes bug #593117.

2009-08-26 09:08:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Detect AVF files as RIFF files too
	  AVF is valid RIFF but has AVF0 as first fourcc instead of RIFF.
	  Partially fixes bug #593117.

2009-08-21 11:51:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  audioresample: Add unit test for checking for timestamp drifts
	  This also checks for perfect timestamping and offsetting.

2009-08-21 10:11:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Fix drain processing
	  In case we have to convert internally don't process output length input samples
	  but history length input samples.

2009-08-21 10:02:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/audioresample.c:
	  audioresample: Improve debugging a bit in the unit test

2009-08-21 10:00:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: On the first buffer we need discont handling
	  Otherwise we won't get upstream timestamps and everything and all
	  output buffers would have -1 timestamps.

2009-08-21 08:23:39 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	* gst/subparse/gstsubparse.c:
	  subparse: Remove dependency on regex.h as it's not used anyway
	  Fixes bug #592544.

2009-08-21 06:58:31 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Fix buffer overflow when pushing the drain

2009-08-21 06:57:58 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audioresample: Fix timestamp drift
	  Fixes bug #591934.

2009-08-25 23:44:50 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst/rawparse/Makefile.am:
	  resindvd, rawparse: fix LDFLAGS for gst-plugins-base libs
	  Fixes #593063.

2009-08-24 11:34:35 -0700  David Schleef <ds@schleef.org>

	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextrender.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gststreamselector.c:
	* gst/subparse/gstsubparse.c:
	* sys/v4l/gstv4lmjpegsink.c:
	* sys/v4l/gstv4lmjpegsrc.c:
	* sys/v4l/gstv4lsrc.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 15:06:28 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix refcounting of _get_sink()
	  g_value_set_object() increases the refcount of the sink, which is not needed
	  because the object should already be refcounted. Make sure this is always the
	  case and use g_value_take_object().
	  Fixes: #592884

2009-08-24 14:39:16 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  rtsp: Mark Transport as supporting multiple values.

2009-08-24 13:58:17 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: Added missing Since tags.

2009-08-24 13:27:55 +0200  Eero Nurkkala <ext-eero.nurkkala at nokia.com>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: Improve audiosink startup performance
	  When we start the ringbuffer, immediatly continue processing samples if the
	  writer prepared some for us.
	  Fixes #545807

2009-08-17 11:53:43 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Added new API for sending using GstRTSPWatch.
	  The new API to send messages using GstRTSPWatch will first try to send the
	  message immediately. Then, if that failed (or the message was not sent
	  fully), it will queue the remaining message for later delivery. This avoids
	  unnecessary context switches, and makes it possible to keep track of
	  whether the connection is blocked (the unblocking of the connection is
	  indicated by the reception of the message_sent signal).
	  This also deprecates the old API (gst_rtsp_watch_queue_data() and
	  gst_rtsp_watch_queue_message().)
	  API: gst_rtsp_watch_write_data()
	  API: gst_rtsp_watch_send_message()

2009-08-17 11:46:32 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Made gst_rtsp_watch_queue_data() thread safe.

2009-06-17 15:37:53 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Added gst_rtsp_connection_set_http_mode().
	  With gst_rtsp_connection_set_http_mode() it is possible to tell the
	  connection whether to allow HTTP messages to be supported. By enabling HTTP
	  support the automatic HTTP tunnel support will also be disabled.
	  API: gst_rtsp_connection_set_http_mode()

2009-06-16 19:35:23 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Allow gst_rtsp_connection_do_tunnel() to just setup decoding context.
	  If the second connection passed to gst_rtsp_connection_do_tunnel() is NULL
	  then just setup the base64 decoding context for the first connection.

2009-06-16 19:04:54 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Write as much as possible in gst_rtsp_source_dispatch().
	  Try to write as much as possible if there are multiple messages queued.

2009-06-16 18:38:02 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Add error_full callback to GstRTSPWatchFuncs.
	  The error_full callback is similar to the error callback, but allows for
	  better error handling. For read errors a partial message is provided to
	  help an RTSP server generate a more correct error response, and for write
	  errors the write queue id of the failed message is returned.

2009-08-17 18:29:17 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Made read_line() support LWS.
	  Rewrote read_line() to support LWS (Line White Space), the method used by
	  RTSP (and HTTP) to break long lines. Also added support for \r and \n as
	  line endings (in addition to the official \r\n).

2009-08-20 14:12:50 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: Do not split headers which should not be split.
	  From RFC 2068 section 4.2: "Multiple message-header fields with the same
	  field-name may be present in a message if and only if the entire
	  field-value for that header field is defined as a comma-separated list
	  [i.e., #(values)]." This means that we should not split other headers which
	  may contain a comma, e.g., Range and Date.

2009-08-20 14:12:09 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Parse WWW-Authenticate headers correctly.
	  Due to the odd syntax for WWW-Authenticate (and Proxy-Authenticate) which
	  allows commas both to separate between multiple challenges, and within the
	  challenges themself, we need to take some extra care to split these headers
	  correctly.

2009-06-17 21:46:27 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Improve parse_line().
	  Make parse_line() handle keys with multiple values on one line correctly.

2009-06-17 23:15:23 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Rewrote setup_tunneling().
	  Rewrote setup_tunneling() to use normal GstRTSPMessages instead of hard
	  coded strings and duplicates of the message parsing code.

2009-08-24 10:20:16 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: Rewrote gen_tunnel_reply().
	  Rewrote gen_tunnel_reply() to generate a normal GstRTSPMessage rather
	  than a hard coded string.

2009-08-24 10:19:35 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Ignore the Content-Length for POST requests.
	  The Content-Length for POST requests with an x-sessioncookie header should
	  be ignored as the length is bogus and only there to fool proxies.

2009-06-17 20:52:48 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Normalize lines (remove extra whitespace) before parsing.

2009-06-10 13:11:31 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Made parse_string() return a result.
	  This will catch parsing errors when a too long string is received.

2009-06-10 11:43:31 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Improved parsing of messages.
	  Do not abort message parsing as soon as there is an error. Instead parse
	  as much as possible to allow a server to return as meaningful an error as
	  possible.

2009-06-09 17:54:20 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: Added support for HTTP messages

2009-06-09 16:22:17 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Added gst_rtsp_connection_create_from_fd().
	  API: gst_rtsp_connection_create_from_fd()

2009-06-09 15:27:17 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Add initial buffer support.
	  The initial buffer contains data for a connection which should be used
	  before starting to actually read anything from the socket.

2009-08-24 13:15:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: don't block in paused
	  When we are asked to unlock we should either leave the render function or call
	  the wait_preroll method to release the stream lock.
	  Fixes #592657

2009-08-24 13:06:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: fix includes for appsrc/appsink

2009-08-24 11:24:27 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: Add support for the Authentication-Info header.
	  The Authentication-Info header is defined in RFC 2617 (Digest Access
	  Authentication).

2009-08-20 13:11:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* tests/check/pipelines/oggmux.c:
	  oggmux: don't drop the streamheader field from the output caps
	  Revert previous 'fix' for bug #588717 and fix it properly, whilst
	  maintaining the streamheader field on the output caps. Also make
	  sure we don't leak header buffers we couldn't push when downstream
	  is unlinked. Add unit test for the presence of the streamheader
	  field on the output caps and for the issue from bug #588717.

2009-08-18 21:45:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	* gst/playback/gststreamselector.c:
	  streamselector/inputselector: Use iterate internal links instead of deprecated get internal links

2009-08-19 09:31:51 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Avoid duplicated headers.
	  Remove any existing Session and Date headers before adding new ones
	  when sending a request. This may happen if the user of this code reuses
	  a request (rtspsrc does this when resending after authorization fails).

2009-08-18 16:49:58 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Corrected the HTTP digest authorization computation.
	  Do not use sizeof() on an array passed as an argument to a function and
	  expect to get anything but the size of a pointer. As a result only the
	  first 4 (or 8) bytes of the response buffer were initialized to 0 in
	  auth_digest_compute_response() which caused it to return a string which
	  was not NUL-terminated...

2009-08-18 11:15:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Also send SEEK events directly to a subpicture sink

2009-08-18 08:39:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: If a custom text sink is used, send events to it too
	  Before, SEEK events would be sent to the video sink, which wouldn't
	  be linked in any way to the subtitle part of the pipeline and
	  subparse would never see the SEEK event. This would then seek
	  the audio/video but the subtitles would continue from the old
	  position instead.
	  Fixes bug #591664.

2009-08-18 08:20:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Make missing plugins emit a warning message, not an error message
	  The problem with an error message is, that it will stop playback completely
	  while it could be that only a audio decoder plugin is missing and the video
	  could be played with the available plugins.
	  See bug #591677.

2009-08-13 17:42:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Post a correct error message for unknown types
	  Before we had STREAM/WRONG_TYPE but it's really CORE/MISSING_PLUGIN
	  because a plugin is missing and nothing else is wrong.
	  Also make it an error instead of a warning.
	  Really fixes bug #591677.

2009-08-13 15:48:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Post a missing plugin message additional to the error message on unknown types
	  Fixes bug #591677.

2009-08-13 10:59:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* 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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.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:
	  playbin2: fix error message string
	  Fixes #591577.

2009-08-05 15:38:32 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: align API doc of gst_riff_parse_chunk with reality

2009-08-05 15:36:30 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: avoid assertion failure on empty/NULL caps

2009-08-12 12:09:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Also detect SVG by the <svg> starting tag
	  Not all SVG images have the DOCTYPE specified.

2009-08-10 20:18:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: don't use GLib-2.18 function
	  g_checksum_reset() was added only in GLib 2.18, but we still require
	  only 2.16, so work around that if we only have 2.16. Fixes #591357.

2009-08-10 15:40:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/pipelines/streamheader.c:
	  streamheader: Fix caps leak in the vorbisenc unit test

2009-08-10 14:14:30 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/pipelines/streamheader.c:
	  checks: fix stream header unit test hanging in gst_task_cleanup_all()
	  Set pipelines to NULL state and unref when done.

2009-08-10 10:17:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/md5.c:
	* gst-libs/gst/rtsp/md5.h:
	  rtsp: Use GLib's GChecksum instead of our own MD5 implementation

2009-08-10 03:46:39 +0300  Mart Raudsepp <leio@gentoo.org>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: Fix doc blurb typo for gst_navigation_send_key_event

2009-08-09 12:13:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Allow . instead of , as millisecond delimiter in srt subtitles
	  Fixes bug #591207.

2009-08-08 17:51:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gststreamselector.c:
	  Revert inlines that cause compiler warnings and are not needed anyway

2009-08-08 15:54:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/interfaces/propertyprobe.c:
	* gst-libs/gst/riff/riff-media.c:
	* gst-libs/gst/rtp/gstbasertpdepayload.c:
	* gst-libs/gst/video/gstvideofilter.c:
	* gst-libs/gst/video/gstvideosink.c:
	  gst-libs: Remove dead assignments and resulting unused variables.

2009-08-08 15:54:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/alsa/gstalsadeviceprobe.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gsttextrender.c:
	* ext/vorbis/vorbisenc.c:
	  ext: Remove dead assignments and resulting unused variables.

2009-08-08 15:54:02 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstfactorylists.c:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gststreamselector.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_image.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  gst: Remove dead assignments and resulting unused variables

2009-08-08 07:59:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/rawparse/Makefile.am:
	  videoparse: Use libgstvideo for everything instead of our own calculations
	  Also make RGB usage easier by providing xRGB, RGBx, etc. formats
	  instead of requiring to set red_mask and friends.

2009-08-07 13:05:42 +0200  Josep Torra <n770galaxy@gmail.com>

	* docs/design/draft-va.txt:
	  docs: add draft for generic introduction of video acceleration APIs idea

2009-08-07 08:53:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/theora/gsttheoradec.h:
	* ext/theora/theoradec.c:
	  Revert "theora: Convert theoradec to libtheora 1.0 API"
	  This reverts commit f1e142ac9dcfb754d85357b9077d5aee48559dd9.
	  Temporarily revert until we have a workaround for debian/ubuntu
	  packaging failure (see http://bugs.debian.org/528710).

2009-08-07 09:32:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add typefinders for many game sound console formats supported by gme
	  These are AY, GBS, GYM, KSS, SAP and VGM. SPC and NSF already had typefinders.

2009-07-16 11:29:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix warning when we're not linked downstream and error out properly
	  Fix caps warning when there's no element linked downstream, and pass
	  not-linked flow return value correctly up the chain, so we error out
	  correctly. Fixes #588717.

2009-07-31 14:59:03 -0700  David Schleef <ds@schleef.org>

	* ext/theora/gsttheoradec.h:
	* ext/theora/theoradec.c:
	  theora: Convert theoradec to libtheora 1.0 API

2009-08-06 20:47:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Fix blitting of text over the output buffer and cairo painting

2009-08-06 09:13:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Fix endianness problems (i.e. make it work again on big endian architectures)

2009-07-31 14:27:28 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/icles/test-colorkey.c:
	  colorkey-test: fix xsync error

2009-07-06 23:06:50 +0300  Siarhei Siamashka <siarhei.siamashka@nokia.com>

	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: support for direct conversion from uyvy422 to rgb formats

2009-07-14 12:33:29 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaysink.c:
	  playbin2: smarter sink selection. Fixes #588523
	  Don't do fallbacks if application specified a sink element. When doing the
	  fallback use configured default elements instead of hardcoded linux only
	  elements. Improve error messages accordingly.

2009-08-06 12:18:36 +0200  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstqueue2.c:
	  queue2: post error message when pausing task if so appropriate
	  If a downstream element returns an error while upstream has already
	  put all data into queue2 (including EOS), upstream will no longer
	  chain into queue2, so it is up to queue2 to perform some
	  EOS handling / message posting in such cases.  See #589991.

2009-08-06 12:58:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: change default slave method
	  Set the default slave method to the much better skew slaving algortihm.

2009-08-06 12:01:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: make buffer writable
	  Make the input buffer writable before changing its contents.

2009-08-06 09:55:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: fix postscript typefinder probability
	  Two bytes for a rare format hardly warrants MAXIMUM typefinding
	  probability, POSSIBLE seems more appropriate.

2009-08-04 14:55:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  pango: Send queries from the srcpad directly to the video sinkpad

2009-08-04 14:32:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: Implement POSITION query

2009-08-04 14:29:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	  subparse: Implement SEEKING query

2009-08-04 14:14:53 +0200  John Millikin <jmillikin@gmail.com>

	* configure.ac:
	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	  tag: Add support for ALBUM_ARTIST tag in vorbiscomments and ID3v2 tags
	  Require latest core for this.
	  Fixes bug #590430.

2009-08-04 12:46:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  pango: Add support for xRGB and BGRx formats

2009-08-04 12:22:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  pango: Fix endianness issues from the pangocairo switch
	  cairo's ARGB is in native endianness, i.e. ARGB on big endian architectures
	  and BGRA on little endian architectures.

2009-08-04 12:11:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  pango: Re-add shading support which was dropped by a previous patch

2009-08-04 11:58:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* ext/pango/gsttextoverlay.c:
	  pango: Check if pangocairo supports vertical rendering and fix properties

2009-08-04 11:45:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Use PROP_X instead of ARG_X consistently

2009-08-04 11:42:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	  pango: Some minor cleanup

2009-08-04 11:36:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  pango: Check for pangocairo instead of pangoft2

2009-08-04 11:35:10 +0200  Young-Ho Cha <ganadist@chollian.net>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttextrender.h:
	  pango: Use pango-cairo instead of pango-ft2
	  pango-cairo will always use the native font rendering backend
	  of the platform and provides better results.
	  Fixes bug #340887.

2009-08-04 10:35:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add SVG typefinder

2009-08-04 10:29:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add postscript typefinder

2009-07-30 15:08:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Use static caps again for MPEG4 typefinding

2009-07-30 15:05:28 +0200  Arnout Vandecappelle <arnout@mind.be>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Implement better & more flexible MPEG4 typefinding
	  This detects more MPEG4 streams as MPEG4.
	  Fixes bug #556537.

2009-07-30 14:04:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	  cddabasesrc: Allow to specify the device name in the URI
	  The allowed URI scheme is now:
	  cdda://(device#)?track
	  Also allow every combination of uppercase and lowercase
	  characters for the protocol part.
	  Fixes bug #321532.

2009-07-30 12:37:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Restrict width/height to 2^15 - 1
	  Otherwise integer overflows will happen, resulting in segmentation faults.
	  Fixes bug #590243.

2009-07-29 14:55:04 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Fix indention of template header

2009-07-29 14:10:35 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Clarify documentation about caps and linkage
	  Fixes bug #589095.

2009-07-29 07:42:05 +0200  Benjamin Gaignard <benjamin@gaignard.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Fix typefinding of SDP files
	  Fixes bug #589574.

2009-07-28 20:50:06 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Take the output offsets from the input if possible
	  Fixes bug #588915.

2009-07-28 15:54:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Make sure to allocate enough memory for the temporary buffer
	  and fix scaling of odd-height interlaced video.

2009-07-28 15:18:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Fix interlaced scaling for I420
	  ...and some other minor mistakes in the previous change.

2009-07-28 14:12:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.h:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Include interlacing information in the AVPicture
	  This later allows to handle interlaced AVPicture different than
	  progressive ones which is needed for horizontally subsampled YUV
	  formats, see bug #589242.

2009-07-28 13:55:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: Add support for interlaced content
	  videoscale is not mixing content of two seperate fields anymore
	  and does scaling on every field separately.
	  Fixes bug #588761.

2009-08-06 01:44:24 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  back to development -> 0.10.24.1

2009-08-05 02:03:44 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-plugins-base.doap:
	  Add 0.10.24 release to the doap file

=== release 0.10.24 ===

2009-08-05 00:56:58 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  Release 0.10.24

2009-08-05 00:38: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/de.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/lv.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-08-01 17:26:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	* tests/check/gst/typefindfunctions.c:
	  typefinding: fix detection of fLaC id packet in broken flac-in-ogg
	  There are flac-in-ogg files without the usual flac packet framing
	  and these files just have a 4-byte fLaC ID packet as first packet.
	  We need to recognise the type just from these four bytes if we
	  want oggdemux to recognise these streams correctly.

2009-07-30 14:40:50 +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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.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:
	  0.10.24.5 pre-release

2009-07-29 14:15:53 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Don't assert on slightly different caps
	  Plugins should not assert on incompatible caps, caps negotiation will
	  fail anyway.

2009-07-30 13:42:21 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: reset pending flush-stop flag in state_changed. (mostly) Fixes #590146.

2009-07-30 09:28:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump Gtk+ requirement of GUI examples from 2.12 to 2.14
	  The gio mount example needs GtkMountOperation, which is new in 2.14.

2009-07-27 10:29:27 +0100  Balachandran C <balachandran_c@rediffmail.com>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: set alsasrc->handle back to NULL when closing device
	  Fixes crashes in gst_alsa_find_device_name() when probing or
	  reading the device-name property (e.g. when doing a dot-file
	  dump). Fixes #589797.

2009-07-24 19:26:40 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gststreamselector.c:
	  playbin: rename GType of stream selector pad to avoid clash with input-selector from -bad
	  Rename the GType of the pads of playbin's internal stream selector
	  element so they don't use the same type name as input-selector's
	  pads. Fixes #589622.

2009-07-24 13:39: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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/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:
	  0.10.23.4 pre-release

2009-07-24 13:46:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/v4l/.gitignore:
	  ignores: Ignore v4l probing example binary

2009-07-24 09:35:38 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: recognise Kate spu subtitles as well
	  Recognise spu-subtitles, SUB and K-SPU as valid categories for
	  Kate subtitles as well.

2009-07-24 00:42:16 +0300  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From fedaaee to 94f95e3

2009-07-22 14:21:43 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update spec file with latest changes

2009-07-20 17:28:20 +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/de.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/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/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/video-enumtypes.c:
	  0.10.23.3 pre-release

2009-07-20 12:51:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: call send_event directly
	  We can't call gst_element_send_event() from a streaming thread as it gets the
	  state lock. Instead call the send_event method directly until we have a nice API
	  for this in basesrc.
	  Fixes #588746

2009-07-03 04:42:24 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: Add stream-status messages
	  Fixes #587695

2009-07-03 04:41:05 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: Add stream-status messages
	  See #587695

2009-07-20 10:53:11 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/adder/gstadder.c:
	  gstadder: Don't forget to free pending events on flush/dispose.
	  Fixes #588747

2009-07-12 10:08:12 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/elements/adder.c:
	  tests/adder: Add stream consistency checking. Fixes #588748

2009-07-12 10:07:34 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Make sure tags are properly serialized. Fixes #588746
	  We do this by letting the basesrc base class handle the tags.

2009-07-13 09:28:54 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Collect incoming tag events and send them after newsegment. Fixes #588747

2009-07-16 09:32:46 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: Check for empty tag strings. Fixes #588724

2009-07-14 17:03:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstqueue2.c:
	  queue2: fix leak and improve buffering
	  Keep track of the max requested position and compare this to the write position
	  in the temp file to get the current amount of buffered data.
	  Fix memleak of all incomming buffers.
	  Fixes #588551

2009-07-15 17:40:14 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/Makefile.am:
	* gst/playback/gstinputselector.c:
	* gst/playback/gstinputselector.h:
	* gst/playback/gstplay-marshal.list:
	* gst/playback/gstplaybin2.c:
	  playbin2: use private copy of input-selector
	  We shouldn't really depend on elements from -bad for stream
	  selection in playbin2, so use a private copy of input-selector
	  until the selector plugin is ready to be moved to -base or -good.
	  Fixes #586356.

2009-07-15 17:26:32 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstinputselector.c:
	* gst/playback/gstinputselector.h:
	  playback: add private copy of the input-selector from gst-plugins-bad
	  Not hooked up yet though. See #586356.

2009-07-14 19:00:36 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* tests/examples/v4l/Makefile.am:
	  examples: fix v4l probe example build
	  Fixes bug #588550.

2009-07-14 19:00:10 +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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.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/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  0.10.23.2 pre-release

2009-07-14 16:24:10 +0100  Jan Schmidt <thaytan@noraisin.net>

	* po/LINGUAS:
	* po/tr.po:
	  Add Turkish translations

2009-07-14 15:31:13 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/adder.c:
	  adder: One more attempt to fix the adder test
	  Give up and discard and recreate the alsasrc after checking it can
	  be opened, due to some strange crash inside alsa when we don't.

2009-07-14 15:06:41 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/adder.c:
	  adder: Perform get_state() in the unit test
	  Wait for the alsasrc to return to NULL after setting it to PAUSED for
	  testing, otherwise it leads to segfaults later on.

2009-07-14 14:39:32 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/adder.c:
	  adder: Don't fail when alsasrc is unavailable
	  Make the liveadder test succeed silently when it can't be completed
	  either because alsasrc is unavailable, or because the device is
	  inaccessible.

2009-07-13 22:51:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: use subtitle/x-kate for Kate subtitle streams and application/x-kate for the rest
	  Differentiate subtitle streams and lyrics/cracktastic/complex streams via
	  the category string in the headers. This seems like a useful distinction
	  to make, and also seems more future-proof. See #525743.

2009-02-21 13:18:10 +0000  Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: add Kate caps to the list of accepted types
	  See #525743.

2009-07-13 21:56:46 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: treat uri-schemas incasesensitive
	  Treat uri-schemas incasesensitive. This is mandated in rfc2396 section 3.1.
	  Fixes not showing buffering messages e.g. for HTTP://...

2009-07-13 21:54:47 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: simplify docs
	  Make short-desc short - its used in the toc. Strip uneeded markup.

2009-07-13 18:31:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/libgstnetbuffer.def:
	* win32/common/libgstvideo.def:
	  win32: Fix exports
	  Remove methods from video base classes that have moved to -bad.
	  Add gst_netaddress_to_string

2009-07-13 17:56:58 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/examples/gio/.gitignore:
	  ignores: ignore the giosrc-mounting example binary

2009-07-13 17:54:40 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/interfaces/navigation.c:
	  navigation: Add some partial documentation
	  Add a general documentation blurb for the GstNavigation functionality.
	  Still lacks some example code and detail on how to implement it.

2009-07-13 17:52:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for Siren codec and make two descriptions non-translatable

2009-07-13 12:23:20 -0400  Olivier Crête <olivier.crete@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5845b63 to fedaaee

2009-07-13 18:21:49 +0200  Elliott Sales de Andrade <quantum.analyst at gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  riff: add siren to the RIFF parser
	  Add siren7 caps to the RIFF parser.

2009-07-13 14:55:59 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/v4l/Makefile.am:
	* tests/examples/v4l/probe.c:
	  v4lsrc: add a simple test case for device probing

2009-07-03 11:38:01 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* configure.ac:
	* sys/v4l/Makefile.am:
	* sys/v4l/gstv4lelement.c:
	  v4lsrc: optional support for device probing with gudev
	  Enumerate v4l devices using gudev if available.
	  Fixes bug #583640.

2009-07-10 23:24:36 +0100  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: add since tags to docs

2009-07-10 21:29:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: don't automatically start pipeline in DB
	  Keep the pipeline paused when we detect download buffering. The user has to
	  manually start the pipeline for now because we can't estimate when the buffering
	  will finish or when we have underrun.

2009-07-10 21:01:39 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstqueue2.c:
	  queue2: flush differently, avoiding deadlocks
	  Don't flush the file by closing and opening it but instead use g_freopen. This
	  avoids a deadlock in shutdown because we emit the temp-location property change
	  with the wrong lock held.

2009-07-10 20:25:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: add a checkbox for progressive download

2009-07-10 20:24:14 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Fix template construction
	  Fix the construction of the temporary filename construction as the application
	  name can be NULL and we don't want a separator between the prgname and the
	  template.

2009-07-10 20:04:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	  playbin2: add support for progressive download
	  Add a new playbin2 flag (initially disabled) to enable progressive download
	  buffering in uridecodebin.

2009-07-10 19:59:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add download property
	  Add a download property that will attempt to configure queue2 into progressive
	  download buffering.
	  Make sure we only enable download buffering for quicktime and flv formats.

2009-07-10 19:49:46 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstqueue2.c:
	  queue2: add temp-template property
	  Add a new temp-template property so that queue2 can securely allocate a
	  temporary filename. Deprecate the temp-location property for setting the
	  location but still use it to notify the allocated temp file.

2009-07-10 20:06:28 +0100  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: add a caps-property to avoid to need to plug a capsfilter afterwards
	  Adder can only handle one common format accross the pads. Thus one needed to add
	  a capsfilter afterwards and manage the caps. Now one can simply set the caps on
	  the property.

2009-07-10 18:59:05 +0100  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: skip live-seek text if we have no audiosrc, add new test
	  The seek-test needs a real audiosrc. Also add a test that checks that adder is
	  reusable. Finaly handle warnings as warnings to fix a assertion.

2009-07-10 19:16:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosink.c:
	  gio: Also post a "not-mounted" message from giosink

2009-07-10 17:15:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/gio/giosrc-mounting.c:
	  gio: Remove workaround for playbin2 bug in the sample application
	  The playbin2 bug was #588078.

2009-07-10 17:08:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: Make it possible for READY->PAUSED to succeed after it failed the first time
	  If READY->PAUSED failed in the source element we would've swapped
	  the current and next group already. To allow READY->PAUSED to succeed
	  after the first failure we have to swap the current and next group
	  back again. This also ensure that we're again in the same state
	  as before the failed state change and not at the next group.
	  This was especially a problem for playbin2 pipelines that use the
	  new mounting support in giosrc as the source would fail for READY->PAUSED
	  the first time, the application mounts the location and then tries
	  to go READY->PAUSED again (and this time it would succeed).
	  Fixes bug #588078.

2009-07-10 11:42:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* tests/examples/Makefile.am:
	* tests/examples/gio/Makefile.am:
	* tests/examples/gio/giosrc-mounting.c:
	  gio: Add example application that shows how to handle the "not-mounted" message

2009-07-10 11:24:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  gio: Remove the experimental status from the GIO plugin
	  Fixes bug #510417.

2009-07-10 11:24:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosrc.c:
	  gio: Add documentation for the new "not-mounted" and "file-exists" messages

2009-07-09 13:45:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	  gio: Make sure that we have the correct stream position when starting

2009-07-08 17:24:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	  gio: Make sure to flush the output stream if it shouldn't be closed
	  Otherwise there might still be unwritten data after the element
	  has stopped.

2009-07-08 17:19:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesink.h:
	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiobasesrc.h:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosrc.c:
	  gio: Don't close the GIO streams for the giostream{src,sink} elements
	  This makes it possible to do something useful with the streams
	  after the element has stopped. Fixes bug #587896.

2009-07-08 17:19:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/pipelines/gio.c:
	  gio: Try to reuse the pipeline with the same stream objects

2009-07-08 17:02:54 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	  gio: Improve the error message if a stream is already closed before usage

2009-07-08 16:55:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosink.c:
	  gio: Post a custom file-exists message on the bus if the file already exists
	  An application can handle this message, remove the file in question
	  and restart the pipeline again without showing an error.
	  This fixes bug #529300.

2009-07-08 16:54:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosrc.c:
	  gio: Use OPEN_READ instead of NOT_FOUND if a location is not mounted

2009-07-08 16:50:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosink.c:
	  gio: Use OPEN_WRITE instead of OPEN_READ as error category in giosink

2009-07-08 15:52:35 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiosrc.c:
	  gio: Post a custom "not-mounted" message on the bus
	  This allows applications to mount the GFile if possible and restart
	  the pipeline instead of simply giving an error.

2009-07-08 15:08:32 +0200  Philip Jägenstedt <philipj@opera.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: Fix compilation when debugging is disabled
	  Fixes bug #587980.

2009-07-07 20:23:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesink.h:
	* ext/gio/gstgiobasesrc.h:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosink.h:
	* ext/gio/gstgiostreamsink.c:
	* ext/gio/gstgiostreamsink.h:
	  gio: Add vfunc for requesting the stream for the sinks too

2009-07-07 20:21:36 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesink.h:
	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosrc.c:
	* ext/gio/gstgiostreamsink.c:
	* ext/gio/gstgiostreamsrc.c:
	  gio: Some more random cleanup

2009-07-07 20:20:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgio.c:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiobasesrc.h:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosrc.c:
	* ext/gio/gstgiosrc.h:
	* ext/gio/gstgiostreamsink.c:
	* ext/gio/gstgiostreamsrc.c:
	* ext/gio/gstgiostreamsrc.h:
	  gio: Update my mail address and copyright

2009-07-07 20:18:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiobasesrc.h:
	* ext/gio/gstgiosrc.c:
	* ext/gio/gstgiostreamsrc.c:
	* ext/gio/gstgiostreamsrc.h:
	  gio: General clean up and simplification
	  The GInputStreams are now requested by a vfunc from
	  the subclasses instead of relying that the subclass
	  sets it until it's needed.
	  This might also fix bug #587896.

2009-07-06 22:31:12 +0100  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: keep sending newsegments after seeking
	  Adder sends with timestamps from 0 upwards. After seeking we need to send
	  new-segments to get correct positions-queries.

2009-07-06 20:44:00 +0100  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: make test more robust
	  Add audioconverts to the live-seeking test to make it negotiate.

2009-06-30 17:19:50 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: use core performance log category

2009-07-05 21:29:40 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/adder/gstadder.c:
	  adder: Call set_flushing(TRUE) for flushing seeks *when* the streaming is stopped.
	  This ensures that collectpads' cookie is properly updated so that when the streaming
	  threads will restart and be checking for the flushing status of all pads there will
	  be no inconsistent state.

2009-07-05 18:01:38 +0200  Hans-Peter Nilsson <hp@gcc.gnu.org>

	* ext/pango/gstclockoverlay.c:
	  pango: Call tzset() before localtime_r()
	  POSIX and your local friendly ctime(3) manual entry says that localtime_r isn't
	  required to set the state variables that define the current timezone.  Indeed,
	  glibc (at least 2.9) doesn't do this for subsequent calls.  The effect is that
	  if the system timezone is changed for a running program between two calls to
	  gst_clock_overlay_render_time, it won't be noticed.  For glibc, changing the
	  timezone equals /etc/localtime being modified.
	  Fixes bug #587676.

2009-07-01 17:33:14 -0700  David Schleef <ds@schleef.org>

	* ext/Makefile.am:
	  build: remove spurious schroedinger reference

2009-07-01 10:25:43 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	* ext/Makefile.am:
	* ext/schroedinger/Makefile.am:
	* ext/schroedinger/gstschro.c:
	* ext/schroedinger/gstschrodec.c:
	* ext/schroedinger/gstschroenc.c:
	* ext/schroedinger/gstschroparse.c:
	* ext/schroedinger/gstschroutils.c:
	* ext/schroedinger/gstschroutils.h:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstbasevideocodec.c:
	* gst-libs/gst/video/gstbasevideocodec.h:
	* gst-libs/gst/video/gstbasevideodecoder.c:
	* gst-libs/gst/video/gstbasevideodecoder.h:
	* gst-libs/gst/video/gstbasevideoencoder.c:
	* gst-libs/gst/video/gstbasevideoencoder.h:
	* gst-libs/gst/video/gstbasevideoparse.c:
	* gst-libs/gst/video/gstbasevideoparse.h:
	* gst-libs/gst/video/gstbasevideoutils.c:
	* gst-libs/gst/video/gstbasevideoutils.h:
	  basevideo: send basevideo back to remedial school
	  Move basevideo classes and schroedinger plugin to -bad.

2009-07-01 12:54:21 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netaddress: add constant for max len

2009-07-01 12:48:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	  netbuffer: add gst_netaddress_to_string
	  Add function to serialize a net address to a string.
	  API: GstNetAddress::gst_netaddress_to_string()

2009-06-30 18:44:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: make fd:// uri use buffering too
	  fd:// usually operate in push mode only and are thus suitable for buffering.

2009-06-30 14:46:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	* gst/volume/gstvolume.c:
	  volume: include "1.0=100%" in property description

2009-06-30 14:45:51 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaysink.c:
	  playsink: remove unused property defs

2009-06-29 17:11:50 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/multichannel.c:
	  multichannel: rewrite the new doc comment a bit
	  Its part of the audio lib.

2009-06-29 14:34:02 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaysink.c:
	  playsink: Avoid a segfault when the video sink fails to start
	  Don't attempt to display the subpictures and segfault when the
	  video sink failed to start (and hence the videochain is NULL).

2009-06-29 15:14:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	  ringbuffer: add vmethod to clear the ringbuffer
	  Add a vmethod so that subclasses can be notified when they should clear the data
	  in the ringbuffer.

2009-06-29 14:00:14 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Fix the fourcc caps property for VC-1/WMVA
	  The caps property for carrying fourccs is 'format', not 'fourcc'

2009-06-29 12:20:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: include in.h for FreeBSD compat
	  Fixes #586920

2009-06-29 12:20:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstapp.def:
	  defs: add defs for new appsink buffer-list method

2009-06-29 12:14:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: add docs and signals
	  Add docs for the new callback.
	  Add signals for the new buffer-list support.

2009-06-29 10:24:36 +0200  Branko Subasic <branko@lnxbranko2.se.axis.com>

	* tests/check/elements/appsink.c:
	  Added unit tests for buffer list support in appsink.

2009-06-17 11:12:08 +0200  Branko Subasic <branko@lnxbranko2.se.axis.com>

	* gst-libs/gst/app/gstappsink.c:
	  Added buffer list support.

2009-06-17 09:23:11 +0200  Branko Subasic <branko@lnxbranko2.se.axis.com>

	* gst-libs/gst/app/gstappsink.h:
	  Added buffer list support.

2009-06-29 09:36:27 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Include winsock2.h after defining WINVER.
	  Similar to bug #587080.

2009-06-29 09:31:40 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Moved a comment.

2009-06-27 23:23:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/multichannel.c:
	  docs: add basic section docs for multichannel and relocate the ones for audio
	  Add section docs for multichannel, so that it has a short desc in the toc too.
	  Move the section docs in adio up, so that the follow the copyright like
	  elsewhere.

2009-06-26 21:11:45 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/v4l/gstv4lelement.c:
	* sys/v4l/gstv4lsrc.c:
	  v4l: open/close device in ready.
	  Simillar change like in v4l2src. This allows probing feature in paused, where
	  streaming is noit yet started.

2009-06-10 17:05:22 +0300  René Stadler <rene.stadler@nokia.com>

	* gst/playback/gstplaysink.c:
	  playbin2: fix initial volume handling also when reusing the element
	  This is a follow-up to commit 452988, making it work correctly when the audio
	  chain is reused.

2009-06-26 21:48:58 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Define WINVER before including any win headers
	  Fixes bug #587080.

2009-06-27 00:50:54 +0300  René Stadler <mail@renestadler.de>

	* gst-libs/gst/riff/riff-read.c:
	  riff: prevent crash if rounded up tag size exceeds data size
	  When rounding up `tsize' exceeds the remaining buffer size, `size' underflows
	  and an invalid read past the buffer data follows.

2009-06-26 15:17:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstbasevideocodec.c:
	  basevideocodec: By default don't allow caps changes on the srcpad
	  This fixed playback of Dirac files with schrodec when upstream wants
	  a different width/height, basevideocodec accepts this and then
	  pushes buffers with new caps but content of the old caps.
	  In the best case this will just result in wrong unit size and a
	  failure in basestransform elements.

2009-06-26 14:11:21 +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-06-26 13:41:38 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From f810030 to 5845b63

2009-06-26 13:14:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstscreenshot.c:
	  screenshot: don't leak message

2009-06-25 12:04:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: lower the h264 typefinder's probability
	  A NEARLY_CERTAIN is absolutely not warranted given the kind
	  of things it checks for. Even a LIKELY is probably not entirely
	  appropriate.

2009-06-24 15:13:56 +0100  Jan Schmidt <jan.schmidt@sun.com>

	* common:
	  Automatic update of common submodule
	  From f3bb51b to f810030

2009-06-24 09:48:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for multipart
	  So we get slightly nicer error messages when multipartdemux is missing.

2009-06-23 18:07:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: only unflush when we flushed before
	  Ass suggested by Stefan Kost:
	  Keep track of when the sinkpad was set to flushing and unflush the pad when an
	  upstream flushing seek failed.

2009-06-23 15:10:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix leak when the source fails to change state

2009-06-23 12:40:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/subparse/gstssaparse.c:
	  ssaparse: avoid leaking all buffers

2009-06-22 22:18:03 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  adder: test seek handling in adder
	  This tests seeking on an adder that has a normal and a live source connected.
	  Wheter the current behavior is the desired one needs to be discussed still
	  (see #586033)

2009-06-22 16:17:10 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: pass the xwindow along to not look at the yet unset var.
	  When we call this from xwindow_new, x(v)imagesink->xwindow is not yet set.

2009-06-22 11:40:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  x(v)imagesink: catch tags and show title in own window
	  Refactor the code that sets the window title. Catch tag-events and use title
	  metadata for the window title.

2009-06-21 19:42:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Name gaussian noise "gaussian-noise" instead of just "gaussian"
	  Also make all the function arrays constant.

2009-06-21 12:27:37 +0200  Kipp Cannon <kcannon@ligo.caltech.edu>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: Add support for generating gaussian white noise
	  This patch adds support for stationary white Gaussian noise.
	  The Box-Muller algorithm is used to generate pairs of independent
	  normally-distributed random numbers.
	  Fixes bug #586519.

2009-06-20 23:46:28 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Fix NV12 and NV21 transformations
	  Fix some stride problems, fix the nv12 to nv21 direct transformation,
	  and implement a direct conversion to yuv444 to save CPU.

2009-06-20 22:36:21 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix NV12 painting for odd strides/heights

2009-06-19 22:16:43 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	  cdparanoia: run-time license is LGPL now that we require cdparanoia 0.10.2
	  cdparanoia has an LGPL v2.1 license since 0.10.1 and we now require 0.10.2.
	  Finally fixes #531035.

2009-06-19 21:25:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	  cdparanoia: try to guess a good cache size if it's set to -1
	  Try to guess from the paranoia-mode setting whether playback or
	  ripping is wanted, and use a smaller cache size if we're likely
	  to be doing playback, to avoid a long startup delay. Since this
	  was the value used in older cdparanoia versions, it should be
	  fine in any case. See #586331.

2009-06-19 11:27:40 +1000  Jonathan Matthew <jonathan@d14n.org>

	* configure.ac:
	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	  cdparanoia: expose cache size setting
	  This setting was added in cdparanoia 10.2.  The default value is good
	  for audio extraction, but lower values (previous versions of cdparanoia
	  used 150) are better for realtime playback.
	  Fixes #586331.

2009-06-19 17:43:03 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Make build of schro plugin conditional

2009-06-19 15:52:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	* win32/common/libgstrtp.def:
	  basertppayload: add support for bufferlists
	  Based on patch from Ognyan Tonchev.
	  See #585559

2009-06-19 15:33:04 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: use new convenience functions
	  New core convenience functions makes the list getters and setters trivial.
	  Maybe even too trivial...

2009-06-18 19:07:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtp.def:
	  defs: add new symbol to win32 defs file
	  Based on patches by Ognyan Tonchev.
	  See #585559

2009-06-18 19:04:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: cleanups, add _list_get_seq() too
	  Clean up the docs a little.
	  Add missing _list_get_seq method.
	  Add new symbols to the docs

2009-06-18 18:47:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* win32/common/libgstrtp.def:
	  rtp: cleanups
	  Add Since tags to docs
	  Move some code around
	  Add win32 symbols

2009-06-18 17:46:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtp: add bufferlist support

2009-06-18 18:03:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: pass data to macros instead of GstBuffer

2009-06-18 17:42:10 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/libgstrtsp.def:
	  win32: Add gst_rtsp_watch_queue_data() to the exports
	  Fix the tests by exporting the new symbol from the win32 dlls

2009-06-18 18:13:22 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: appname might be NULL
	  Don't set title if appname is unknown.

2009-06-18 17:58:06 +0300  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: set window title from application name

2009-06-09 19:14:00 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: Made the parsing of the RTSP URL scheme more generic.

2009-06-15 13:58:26 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Added gst_rtsp_watch_queue_data().
	  gst_rtsp_watch_queue_data() is similar to gst_rtsp_watch_queue_message()
	  but allows for queuing any data block for writing (much like
	  gst_rtsp_connection_write() vs. gst_rtsp_connection_send().)
	  API: gst_rtsp_watch_queue_data()

2009-06-09 16:37:09 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Only extract the session ID from RTSP responses.

2009-06-09 19:06:57 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: Added support for parsing IPv6 addresses in RTSP URLs.

2009-06-09 14:31:18 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Use getaddrinfo() to support both IPv4 and IPv6.

2009-06-17 15:37:53 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Improved base64 decoding in fill_bytes().
	  The base64 decoding in fill_bytes() expected the size of the read data to
	  be evenly divisible by four (which is true for the base64 encoded data
	  itself). This did not, however, take whitespace (especially line breaks)
	  into account and would fail the decoding if any whitespace was present.

2009-06-17 14:00:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audiosrc: fix get_offset
	  When we need to jump to the most recently captured sample, jump to where the
	  next sample will be written instead of to some old data.
	  Fixes #581460

2009-06-17 13:18:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: free the ringbuffer when going to NULL
	  Unparent and free the ringbuffer when going to NULL, like we do with the
	  audiosrc element. We can do this now because we correctly manage the time
	  jumping back to 0.

2009-06-17 13:17:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: correctly handle short read/writes

2009-05-05 15:37:54 +0300  René Stadler <rene.stadler@nokia.com>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: add some extra logging for buffer timestamps

2009-06-17 11:22:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: more seeking fixes.
	  When a seek failed upstream, make sure the adder sinkpad is set unflushing again
	  so that streaming can continue.
	  We only have a pending segment when we flushed.
	  Set the flush_stop_pending flag inside the appropriate locks and before we
	  attempt to perform the upstream seek.
	  Add some more comments.
	  Use the right lock to protect the flags in flush_stop.
	  See #585708

2009-06-17 07:24:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Free iterator after removing all groups

2009-06-16 19:38:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Add a default get_unit_size function
	  This returns the correct values for all formats that are handled by
	  GstVideoFormat and makes all the custom get_unit_size functions in
	  many elements unnecessary.

2009-06-16 18:57:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: add Timestamp header field
	  fixes #585994

2009-06-16 18:15:06 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: set smarter target state on uridecodebin
	  Set the target state of the newly added uridecodebins to somthing else that
	  PAUSED so that we keep their state in sync with the playsink state.
	  Fixes #585268

2009-06-16 18:13:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: set the sink flag on the element

2009-06-16 18:09:43 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add debug message

2009-06-16 14:05:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosink, audiosrc: do the class_ref()s in the right class_init functions
	  Spotted by Philip Jägenstedt. Hopefully fixes #585970 for real.

2009-06-15 15:39:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosink,audiosrc: ref the audio ring buffer class and type in class_init
	  Hack around thread-safety issues in GObject and our racy _get_type()
	  functions (we could easily fix the _get_type() functions, but we still
	  need to hack around the GObject class races until we require a newer
	  GLib version, I think).

2009-06-15 12:57:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audiosrc: return FALSE when receiving a SEEK event
	  When receiving a seek event, return FALSE as we don't implement seeking.

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

	* tests/examples/seek/seek.c:
	  Don't use deprecated GTK API
	  Fixes bug #585758.

2009-06-15 11:40:00 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: send flush_stop when seeking failed
	  At least do the fix to sent the flush_stop when seeking failed to ensure we
	  keep no pads flushing. before it was send when the seeking worked which is just
	  plain wrong and was not the intention.

2009-06-12 15:17:14 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Use a more consistent naming of GstRTSPRec variables.

2009-06-12 15:11:05 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Call message_sent() callback for all sent messages.
	  Previously the messages_sent() callback was only called for messages
	  which had a CSeq, which excluded all data messages. Instead of using the
	  CSeq as ID, use a simple index counter.

2009-06-14 22:13:41 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/theora/theoradec.c:
	* ext/vorbis/vorbisdec.c:
	  oggdemux: post/send tags with the container-format tag
	  For this to work properly, theoradec and vorbisdec need to put
	  tag events received from upstream into the pending_events list
	  so they get pushed out after any newsegment event, not before.

2009-06-14 20:30:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	* tests/old/examples/seek/cdplayer.c:
	  Don't use deprecated GTK API
	  Fixes bug #585758.

2009-06-12 16:31:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/adder/gstadder.c:
	  adder: send flush-stop earlier
	  When no flush-stop has been sent by upstream, we have to send one ourselves to
	  continue playback. Do this as soon as the collect function is called instead of
	  after we possibly pushed segment events (that got then flushed out)

2009-06-12 13:55:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: add shuttle controls

2009-06-12 13:55:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/stepping2.c:
	  example: fix compile

2009-06-12 13:52:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/Makefile.am:
	  examples: build the stepping2 example

2009-06-12 13:52:02 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: update for new step API

2009-06-12 13:22:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do reverse seeks more accurate
	  For reverse seeking with the accurate flag set, try to be more precise by
	  seeking a little bit after the requested position.

2009-06-11 22:32:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/ogg/gstogmparse.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstssaparse.h:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse, ogmparse: post tags with GST_TAG_SUBTITLE_CODEC
	  Make subtitle parsers post a taglist with codec tags, so the application
	  knows what kind of subtitle a subtitle stream is. Fixes #576552.

2009-06-11 19:12:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	  ringbuffer: handle border cases in resampler

2009-06-11 13:28:20 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	* docs/libs/Makefile.am:
	* docs/plugins/Makefile.am:
	  docs: Update common. Use upload-doc.mak instead of upload.mak

2009-06-11 12:39:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  docs: fix typo

2009-06-11 12:17:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: reset accum when dropping samples
	  When we are resampling and we drop samples because we paused, reset the accum
	  counter because it's now invalid.

2009-06-11 11:16:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/video/gstbasevideodecoder.h:
	  docs: Fix a couple of warnings from the docs build.

2009-06-10 21:36:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/testchannels.c:
	  Don't include config.h multiple times when build audio testchannel app.
	  Fixes build problem on win32 (#585075).

2009-06-10 16:56:51 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin2/uridecodebin: Fix connection-speed propagation
	  uridecodebin expects the passed connection-speed value in kbps, so we
	  need to divide the value stored in bps by 1000. Also, lower the upper
	  limit on the properties to the value that we can actually store in our
	  internal guint (which is plenty high enough)

2009-06-10 14:37:36 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* tests/check/elements/subparse.c:
	  subparse: recognise more subrip timestamp variants
	  Be even less restrictive in what we accept for .srt timestamps when
	  typefinding and parsing subrip subtitles and add a unit test for
	  the 'new' format. Fixes #585197.

2009-06-09 22:00:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: add some more docs

2009-06-09 18:24:55 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: Avoid a compiler warning.

2009-06-09 18:23:28 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: Updated documentation for GstRTSPResult.
	  Moved GST_RTSP_ELAST to be last in the documentation to match the actual
	  enum values.

2009-05-20 17:30:23 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* autogen.sh:
	  autogen: remove -Wno-portability from here
	  as it is in configure.ac now.

2009-06-09 16:28:20 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Plug a memory leak.
	  Free memory related to any partially read and/or written RTSP messages.

2009-06-09 12:09:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: no need to cause discont when clipping
	  Remove the discont-when-clipping hack now that basesink provides us with
	  correctly clipped samples when stepping.

2009-06-08 17:26:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: don't align when we clip
	  Don't align samples when they were clipped. Not entirely correct but better than
	  nothing for now.

2009-06-08 16:41:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/.gitignore:
	* tests/examples/seek/stepping2.c:
	  examples: add stepping example in PLAYING
	  Add stepping example in PLAYING, audio is a bit distorted because basesink does
	  not provide good clipping info yet.

2009-06-08 10:25:00 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for hdv/aux-* formats.

2009-06-07 22:20:33 +0400  LRN <lrn1986@gmail.com>

	* ext/schroedinger/Makefile.am:
	  Added libgstbase to schro's LIBADD
	  Fixes #585079

2009-06-06 02:15:05 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gstid3tag.c:
	  libgsttag: don't extract genres from empty ID3v1 tags
	  If we don't have any other info, don't try to interpret the
	  genre field. In particular we don't want to interpret a genre
	  of 0 as 'Blues' if no other fields are set and the entire tag
	  is just empty.

2009-06-05 18:13:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: make sure varargs are of right type
	  Explicitly cast the variables to g_object_set to their right types.

2009-06-05 16:49:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: increase stream probing queues
	  When we are probing for streams, we want to set the queue size in such a way
	  that we can scan a maximum amount of data without consuming too much memory.
	  Therefore, remove the time limit on the queue and only stop scanning after 2MB
	  of data.
	  See #584104.

2009-06-05 14:06:17 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Fixed a typo.

2009-06-05 14:05:54 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Remove an unused variable.

2009-06-05 13:59:14 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Removed duplicate initialization of conn->writefd.

2009-06-05 13:55:08 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Use #defined status codes.

2009-06-05 13:53:29 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Correct gen_tunnel_reply().
	  Prevent gen_tunnel_reply() from generating an incomplete response
	  in case an error response code is given.

2009-06-05 10:57:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  configure: remove AC_C_INLINE which is not needed and causes problems with MSVC
	  See #584835. Also update win32 files while we're at it.

2009-06-04 08:57:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: API: Add {audio,video,text}-tags-changed signals
	  Fixes bug #584686.

2009-06-03 20:42:39 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: don't put invalid bitrate values into the taglist
	  Bitrates are stored as 32-bit signed integers in the vorbis
	  identification headers, but seem to be read incorrectly,
	  namely as unsigned 32-bit integers, into the vorbis structure
	  members which are of type long, which makes our check for
	  values <= 0 fail with files that put -1 in there for unset
	  values.

2009-06-03 15:52:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/.gitignore:
	  ignore: add new stepping app to ignore

2009-06-03 15:31:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/Makefile.am:
	* tests/examples/seek/stepping.c:
	  examples: add stepping example.
	  Add an example of using playbin2 and frame stepping to simulate variable rate
	  playback based on a sine wave.

2009-06-03 12:45:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.h:
	  playbin2: also set custom text and subp sinks
	  Set the custom subpicture and text sinks along with the custom audio and video
	  sinks when needed.
	  Fix a little docs blurb too.

2009-06-02 12:10:39 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: add G_LIKELY because we can

2009-06-02 09:53:05 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Fix caps for ogg typefinder.

2009-05-29 11:10:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: remove some cruft from -sections.txt file

2009-06-01 11:31:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* tests/examples/seek/seek.c:
	  add framestepping to playbin2 and seek

2009-06-01 09:59:22 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Avoid compiler warnings with -Wextra.

2009-06-01 09:58:27 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: Include gst/gstconfig.h to make sure GST_PADDING is defined.

2009-06-01 09:43:04 +0200  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Remove an unused variable.

2009-05-30 14:17:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add a lot more conversions from/to 16 bit grayscale

2009-05-29 00:09:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaybin2.c:
	  playbin2: Have playbin recognise PGS subpicture streams
	  Recognise PGS subpicture streams and connect them to the SPU pad
	  in playsink. Unfortunately this fails badly with negotiation errors
	  if the SPU is not recent enough to support the stream. I'm not sure
	  how to add format negotiation in yet.

2009-05-21 23:11:29 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin/uridecodebin: Recognise subpicture/x-pgs pads and output them.

2009-05-28 20:37:59 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix volume handling for audio sinks without "volume" property
	  When using an audio sink without a "volume" property, volume control
	  would only work for the first song. For the next song, we'd try to
	  re-use the existing audio chain, but inadvertently set chain->volume
	  to NULL instead of to the existing volume element.

2009-05-28 17:05:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: cosmetic change to avoid unnecessary line breaks
	  Looks nicer and works around gst-indent silliness.

2009-05-28 17:21:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: don't lose the ref to the volume element
	  Only release the ref to the volume element when it is controled by a sink. For
	  software volume we never have to fear that it will change.

2009-05-28 15:21:42 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2: actually use configured audio/video sinks
	  playbin2 inadvertently used autoaudiosink and autovideosink up to now,
	  since it would overwrite the sinks configured via the "audio-sink"
	  and "video-sink" properties with the stream-specific group sinks when
	  configuring the outputs. Those are usually NULL however, so that would
	  overwrite the configured sinks with NULL which makes playbin2 then
	  default to the auto sinks. Fix this by keeping a reference to each
	  configured sink in playbin2 and setting up the right sinks depending
	  on whether there is a stream-specific sink or not.
	  Fixes #584020.

2009-05-27 17:37:38 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/seek/seek.c:
	  seek: add volume label and sync with sink volume
	  Look at the volume and have the pulsemixer open at same time. Unfortunately
	  playbin2 does not emit notify on volume right, so this polls for now.

2009-05-27 18:12:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: remove leftover elements
	  Remove all of the elements inside decodebin2 when goint to READY and NULL.
	  Makes decodebin2 reusable.
	  Fixes #583750

2009-05-27 15:36:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2; release refs to volume/mute properties
	  Release the refs to the volume and mute property elemens before setting the
	  child elements to READY or NULL.
	  Fixes #583318

2009-05-27 12:10:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/gdp/gstgdppay.c:
	  gdppay: set caps on outgoing buffers
	  Set caps on outgoing buffers because NULL caps confuse basetransform.
	  Fixes #583867

2009-05-27 11:08:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	  netbuffer: also note the order of IP4 addresses
	  IP4 addresses are also stored in network byte order. Make a note of this in the
	  docs.

2009-05-26 22:43:34 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* ext/theora/theoraparse.c:
	  theoraparse: fix assertions in make_granulepos when using the new theora granulepos mapping. Fixes #583903.

2009-05-26 11:13:35 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Revert "rtspconnection: don't use GLib-2.16 API, we require only 2.14"
	  This reverts commit 418760cf740332c12c3fd9cf3244af134fa9534b.
	  We now require GLib 2.16.

2009-05-26 15:18:09 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Update common

2009-05-26 15:37:18 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/netbuffer/gstnetbuffer.c:
	  netbuffer: document that the port is network order
	  Document the fact that we store the port number in network order in
	  GstNetAddress and that the caller should byteswap appropriately.

2009-05-26 15:23:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	  videoscale: Add support for 16 bit grayscale in native endianness

2009-05-26 14:58:28 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Add support for 16 bit grayscale in little/big endian

2009-05-26 14:38:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add support for 16 bit grayscale in native endianness

2009-01-21 12:33:59 +0100  Andy Wingo <wingo@oblong.net>

	  add can-activate-pull property to baseaudiosink
	  * gst-libs/gst/audio/gstbaseaudiosink.c: Add can-activate-pull property
	  to baseaudiosink.

2009-05-26 13:14:07 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix boundary case for seeking.
	  When we have exactly 0 bytes left to search, make sure we stop instead of going
	  into an infinite loop.

2009-05-26 11:11:03 +0200  Bastien Nocera <hadess at hadess.net>

	* gst-libs/gst/cdda/Makefile.am:
	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/cdda/sha1.c:
	* gst-libs/gst/cdda/sha1.h:
	  cddabasesrc: Remove copy of sha1 digest
	  Remove our copy of sha1 digest now that we depend on glib 2.16.
	  Fixes #536313

2009-05-25 17:54:01 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* gst-plugins-base.spec.in:
	  Update spec file

2009-05-23 00:33:04 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/gstbasevideodecoder.c:
	* gst-libs/gst/video/gstbasevideoparse.c:
	* gst-libs/gst/video/gstbasevideoutils.c:
	* gst-libs/gst/video/gstbasevideoutils.h:
	* win32/common/libgstvideo.def:
	  video: don't expose internal gst_adapter_get_buffer() helper function
	  If it's really needed it should go into GstAdapter in core.

2009-05-22 21:29:51 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/gstbasevideodecoder.c:
	  basevideo: Fix memleak

2009-05-22 21:27:58 -0700  David Schleef <ds@schleef.org>

	* ext/schroedinger/gstschrodec.c:
	* ext/schroedinger/gstschroparse.c:
	  schro: Fix usage of adapter_masked_scan_uint32
	  Because *somebody* changed the API without telling me.

2009-05-22 21:25:06 -0700  David Schleef <ds@schleef.org>

	* ext/schroedinger/gstschro.c:
	  schro: Change package name to GST_PACKAGE_NAME

2009-05-22 17:34:10 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/gstbasevideoencoder.c:
	  basevideo: Add preset interface to encoder

2009-05-22 17:31:14 -0700  David Schleef <ds@schleef.org>

	* gst/audioresample/gstaudioresample.c:
	  Run liboil benchmark multiple times
	  The statistics function requires multiple runs, otherwise
	  it causes a divide by zero error.

2009-05-22 19:36:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* m4/gst-fionread.m4:
	  m4: fix 'suspicious cache value' warning for gst-fionread.m4
	  .. here as well (should really be moved to common, but I'm too lazy).

2009-05-22 17:41:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: detect and report errors better
	  Check the return values of a couple more libvorbis functions and post an error
	  when something is wrong instead of continuing and crashing.

2009-05-22 15:49:14 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaysink.c:
	  playbin2: fix initial volume and mute handling
	  Use two flags to remember volume/mute changes at times when we don't have the
	  audiochain yet (e.g. construction). Only set values when they were actualy
	  changed. This makes pulseaudio's stream restore functional.

2009-05-22 10:19:51 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From d3a8fab to 888e0a2

2009-05-22 09:03:22 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/libgstvideo.def:
	  win32: Remove gst_adapter_masked_scan_uint32 from the exports

2009-05-21 10:48:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: improve debug message

2009-05-19 18:10:55 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  gstid3tag: Don't extract a track number unless present.
	  In ID3v1, a track number is present only if byte 125 is null AND
	  byte 126 is non-null. If the track number is not present, don't add
	  a track number tag with value 0.

2009-05-20 00:48:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstbasevideoutils.c:
	* gst-libs/gst/video/gstbasevideoutils.h:
	  videoutils: remove adapter methods
	  Remove adapter methods now that they are in core.

2009-05-20 00:42:29 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  defs: add new symbols

2009-05-19 17:47:34 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  autogen: pass -Wno-portability to automake to suppress warnings
	  GNU make is needed.

2009-05-19 02:28:20 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/.gitignore:
	  gitignore: remove bogus *.sgml wildcard - these files are tracked in git

2009-05-19 18:41:58 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gsttcpclientsrc.c:
	  tcpclientsrc: this is not a live source
	  Don't mark us as a live source because we are not.

2009-05-19 18:41:02 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: only send flush_stop when seek failed
	  This is still not the ultimate fix. Added some comment to explain the troubles.

2009-05-19 17:17:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  audiosink: return the return value of wait_preroll
	  Return the value that _wait_preroll() returned instead of always WRONG_STATE.

2009-05-19 16:45:56 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: send flush_stop to match flush_start
	  Adder was relying that something else sends a flush stop. When using adder with
	  a livesource it was not getting a flush_stop and thus all pads downstream where
	  keept flushing. Mark a pending flush_stop and send it when we are working on
	  the new segment back in the streaming thread.

2009-05-19 16:02:44 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/seek/seek.c:
	  seek: ui improvements
	  Repaint the window black on expose, as this looks nicer when resizing or using
	  the expander. Also show time after slider, as this saves a whole line (nice on
	  small displays).

2009-04-29 18:36:17 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstdecodebin.c:
	  decodebin: use iterators instead of list
	  The list api is deprecated. Use threadsafe iterators instead.

2009-05-19 15:35:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: configure caps on decodebin2
	  Implement the caps property by setting the configured caps on new decodebin2
	  objects.
	  Fixes #582749

2009-05-19 15:34:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: avoid some _caps_ref in some cases
	  Only mess with the caps refcount when we configure different caps.

2009-05-19 15:27:12 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: fix potential caps leak
	  Free the user-configured caps in finalize.

2009-05-19 15:20:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: add queue after cdda://
	  Add a queue2 after the raw output pads of certain sources such as those for uris
	  like cdda://
	  No tuning of the queue is done yet as the defaults seem to work fine for me.
	  Fixes #582528

2009-05-19 12:45:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't loop when at EOS
	  When we try to read the last page, don't try to read past the upper boundary, as
	  this might cause endless loops.
	  See #582942

2009-05-19 11:20:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Don't drain remaining buffers after a flush.
	  If we were resetted (due to a flush), we can not drain the remaining
	  buffers since they would be pushed before a valid new newsegment event.

2009-05-18 22:29:07 -0700  Michael Smith <msmith@syncword.(none)>

	* ext/theora/theoradec.c:
	  theoradec: for 4:2:2, use Y42B (planar) rather than a packed format.

2009-05-19 01:13:34 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: add more logging and return value checking

2009-05-19 01:11:45 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: handle the return value from iterator_fold

2009-05-19 01:03:44 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: use the pad in logging as objects
	  Helps to differenciate between source and sinks pads.

2009-04-21 22:54:19 +0300  Stefan Kost <ensonic@users.sf.net>

	* tests/examples/seek/seek.c:
	  seek: use parser for mp3 and rename variable

2009-05-18 11:08:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: add playbin2 options in expander
	  Add the playbin2 stream selection options inside an expander to preserve some
	  space on screen.

2009-02-10 15:29:10 -0800  David Schleef <ds@schleef.org>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add support for v210 and v216 formats

2009-05-15 16:21:15 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/gstbasevideocodec.c:
	* gst-libs/gst/video/gstbasevideodecoder.c:
	* gst-libs/gst/video/gstbasevideoencoder.c:
	* gst-libs/gst/video/gstbasevideoparse.c:
	  video: remove // comments

2009-05-15 16:18:18 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add Y444, v210, v216 formats

2009-05-15 16:12:37 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	* ext/Makefile.am:
	* ext/schroedinger/Makefile.am:
	* ext/schroedinger/gstschro.c:
	* ext/schroedinger/gstschrodec.c:
	* ext/schroedinger/gstschroenc.c:
	* ext/schroedinger/gstschroparse.c:
	* ext/schroedinger/gstschroutils.c:
	* ext/schroedinger/gstschroutils.h:
	  schro: Move schro plugin from Schroedinger
	  Previous history is in Schroedinger.  Depends on, and is an example
	  of using, GstBaseVideo* base classes.
	  Code was reindented, and an #ifdef HAVE_ENCODER removed.

2009-05-15 10:23:08 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstbasevideocodec.c:
	* gst-libs/gst/video/gstbasevideocodec.h:
	* gst-libs/gst/video/gstbasevideodecoder.c:
	* gst-libs/gst/video/gstbasevideodecoder.h:
	* gst-libs/gst/video/gstbasevideoencoder.c:
	* gst-libs/gst/video/gstbasevideoencoder.h:
	* gst-libs/gst/video/gstbasevideoparse.c:
	* gst-libs/gst/video/gstbasevideoparse.h:
	* gst-libs/gst/video/gstbasevideoutils.c:
	* gst-libs/gst/video/gstbasevideoutils.h:
	  video: Copy BaseVideo classes from Schroedinger

2009-05-15 23:05:45 +0200  Arnout Vandecappelle <arnout@mind.be>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: add num-fds property
	  multifdsink::num-fds

2009-05-15 20:36:29 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add descriptions for 3GP, JPEG 2000 and Motion JPEG 2000

2009-05-14 11:44:27 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/vorbisenc.c:
	  vorbisenc: Implement Preset interface

2009-05-14 11:43:07 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/theoraenc.c:
	  theoraenc: Implement Preset interface

2009-05-14 11:41:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Implement Preset interface

2009-05-14 21:37:22 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaysink.c:
	  playbin2: Fix cdda:// playback
	  Don't send async-start when the playsink has already been configured
	  before changing state.

2009-05-14 01:31:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: require core CVS for gst_adapter_prev_timestamp()
	  which is used in the libvisual plugin.

2009-04-22 18:34:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* AUTHORS:
	  AUTHORS: fix my email

2009-04-22 18:35:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: make our internal time monotonic
	  Make the internal time increase monotonically.

2009-05-13 19:27:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: remove next_ts variable
	  We can remove the next_ts variable as we don't use it anymore.

2009-05-13 19:24:15 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/libvisual/visual.c:
	  visual: use new adapter timestamp code
	  Use the new adapter timestamp tracking code to make things easier and produce
	  vastly better output timestamps.

2009-05-13 01:35:07 +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/de.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/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:
	  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 23:51:08 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/.gitignore:
	* tests/check/elements/audioresample.c:
	  tests: fix audioresample unit test on big endian architectures
	  Don't hardcode endianness=1234 in the filtercaps, it will cause
	  pad link failures which will result in the test timing out.

2009-05-12 17:18:37 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: fix broken enum nick - it should have a hyphen
	  The enum nick should be 'sine-table', not 'sine table'. Technically this is
	  an API/ABI change I guess, but anyone who was using this and didn't report
	  it deserves this.

2009-05-01 01:04:48 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: seek to the requested byte offset, not the expected byte offset

2009-05-01 01:03:06 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: support more than just one channel

2009-05-12 15:52:41 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/propertyprobe.h:
	  propertyprobe: Fix typo in the docs

2009-05-12 12:17:55 +0100  Christian Schaller <christian.schaller@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	* ext/theora/theora.c:
	* ext/vorbis/vorbis.c:
	  Add ranks to the Oggmuxer, Vorbis encoder and Theora encoder

2009-04-30 16:37:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: handle invalid timestamps better
	  Handle buffers with -1 timestamps better by keeping track of the en time of the
	  previous buffer and assuming the -1 timestamp buffer goes right after the
	  previous one.
	  when we have two buffers that are equally good, output the oldest buffer once to
	  minimize latency.
	  don't try to calculate latency when the input framerate is unknown.

2009-04-28 11:37:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: small debug statement in DISCONT

2009-04-28 11:24:19 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: fix abuse of ogg API, handle broken oggs
	  When we feed the ogg sync layer, we need to feed it contiguous data even if the
	  sync layer did not consume all of it yet. This makes sure that it always finds
	  the next page even for more corrupted files. Use a different read_offset for
	  this purpose. since we now keep track of the sync layer, we don't have to reset
	  after finding a start of a page.
	  Add some more debug info for the error paths.
	  Only reset the sync layer when we perform a seek operation.
	  Avoid failure when the next chain has no bos pages but instead simply ignore it.
	  when we receive unknown page serial numbers mid stream, don't fail but post a
	  warning and hope that we get back on track later.
	  Fixes #579642

2009-04-30 16:41:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: make subpictures a raw output format
	  Subpictures are a raw format, we want those pads exposed so that playbin2 can do
	  the subpicture mixing.

2009-04-27 10:15:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	  rtpdepay: add some more comments

2009-04-17 10:54:31 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: make sure values are ever increasing

2009-05-05 17:17:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: make fallback identity silent
	  Set the signal-handoffs to FALSE and silent to TRUE for the fallback identity
	  element so that it consumes less CPU.

2009-04-17 10:57:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin2: handle custom audiosinks differently
	  Keep track of the autoplugged custom sinks and configure them in the playsink
	  element when we have collected all streams.
	  Also make sure that we only select one custom sink.
	  When unreffing the internal sink, we don't need to change the state to NULL.

2009-05-12 10:36:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: unify custom sink get/set functions
	  Use one function to set/get all of the different sink types.
	  cleanup up the subpicture chain too.
	  Allow setting a custom subpicture sink.

2009-05-11 18:29:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/tunernorm.h:
	  interfaces: Seperate some more struct definitions from typedefs

2009-05-11 15:48:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/videoorientation.h:
	* gst-libs/gst/interfaces/xoverlay.h:
	  interfaces: Seperate some more struct definitions from typedefs

2009-05-10 17:28:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* win32/common/libgstinterfaces.def:
	  Add new functions to win32 exports

2009-05-10 17:28:05 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  Add new functions to the docs

2009-05-10 17:25:58 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/mixer.c:
	* gst-libs/gst/interfaces/mixer.h:
	  interfaces: API: Add gst_mixer_get_mixer_type()
	  This is a convenience function that returns the mixer_type
	  of the interface struct.

2009-05-10 17:25:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.c:
	  interfaces: Add docs for gst_color_balance_get_balance_type()

2009-05-10 11:17:19 +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-07 17:38:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Correctly initialize the background for ARGB too

2009-05-07 16:59:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	* ext/pango/gsttextrender.h:
	  textrender: Use libgstvideo functions to create caps
	  Also check if downstream wants ARGB always when we get
	  new caps.

2009-05-07 16:52:02 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Don't always use ARGB if downstream supports it but take it's preference

2009-05-07 16:48:08 +0200  Kapil Agrawal <kapil@mediamagictechnologies.com>

	* ext/pango/gsttextrender.c:
	* ext/pango/gsttextrender.h:
	  textrender: Add support for ARGB and alignment properties
	  Fixes bug #581571.

2009-05-07 16:42:20 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextrender.c:
	  textrender: Add ; after GST_BOILERPLATE to fix indention

2009-05-07 15:10:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Use text/uri-list as mimetype instead of ---> for URI lists

2009-05-07 14:59:36 +0200  Arnout Vandecappelle <arnout@mind.be>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: made mp3_type_find less aggressive
	  mp3_type_find could suggest already when only a single valid header
	  was found, if it ran out of data before the end of the next frame.
	  Therefore, ignore the last found frame if it was incomplete.
	  Fixes bug #579692.

2009-05-07 14:48:29 +0200  John Millikin <jmillikin@gmail.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Store cover art in vorbiscomments
	  Fixes bug #513373.

2009-05-07 06:14:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/colorbalance.h:
	  interfaces: API: Add gst_color_balance_get_balance_type()
	  This is a convenience function that returns the balance_type
	  of the interface struct.

2009-05-06 17:59:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/colorbalancechannel.h:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/tunerchannel.h:
	  interfaces: Separate struct definitions from typedefs

2009-05-06 14:03:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	  Fix libdir for uninstalled gstreamer-app library

2009-05-12 01:59:01 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for APE tag caps

2009-05-12 01:35:27 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump core requirement to last release
	  as that's more likely to be true than that we need
	  only 0.21.1.

2009-05-12 01:21:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* common:
	* configure.ac:
	  configure: rename CVS -> git in a couple of places

2009-05-12 01:17:53 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: bump GLib requirement to GLib >= 2.16
	  as per the New Regime (see wiki).

2009-05-01 00:09:15 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: cache events from upstream and re-send them once we have a source pad
	  Makes sure tags don't get dropped when we have multiple tag demuxers in a row.
	  Fixes #580318.

2009-05-07 14:07:44 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: support UYVY raw 4:2:2 in riff.

2009-05-11 21:20:07 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  Back to development -> 0.10.23.1

2009-04-27 22:42:55 -0700  Michael Smith <msmith@syncword.(none)>

	* ext/theora/theoradec.c:
	  theoradec: fix buffer overrun on 422 decode.

2009-04-27 21:39:01 -0700  Michael Smith <msmith@syncword.(none)>

	* ext/theora/theoradec.c:
	  theoradec: 444 support.

2009-04-27 21:30:04 -0700  Michael Smith <msmith@syncword.(none)>

	* ext/theora/theoradec.c:
	  theoradec: handle 422 images (as YUY2).

2009-04-27 21:01:51 -0700  Michael Smith <msmith@syncword.(none)>

	* ext/theora/gsttheoradec.h:
	* ext/theora/theoradec.c:
	  theoradec: rearrange code in preparation for 422 and 444 support.

=== release 0.10.23 ===

2009-05-10 23:57:01 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	  Release 0.10.23

2009-05-10 23:56:05 +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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.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

2009-05-08 20:32:20 +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/de.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/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/_stdint.h:
	* win32/common/config.h:
	  0.10.22.6 pre-release

2009-05-08 13:09:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix resume after pause
	  Don't ignore the state change of the children, they might be doing an ASYNC
	  state change.

2009-05-08 11:05:41 +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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.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:
	  0.10.22.5 pre-release

2009-05-07 22:01:01 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gsttcp-marshal.list:
	  multifdsink: fix signature of the add-full signal
	  The second parameter is a GstSyncMethod enum, not a boolean.

2009-05-07 15:19:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: initialize variable too

2009-05-07 14:28:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: make playsink go ASYNC to PAUSED
	  Make playsink go async to the PAUSED state instead of relying on uridecodebin
	  for async behaviour in playbin. This solves some problems (mainly with DVD)
	  where the pipeline would go to PLAYING before preroll completed, failing to
	  select the audiosink clock.
	  Fixes #581727

2009-05-06 16:09:52 +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/de.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/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/_stdint.h:
	* win32/common/config.h:
	  0.10.22.4 pre-release

2009-05-06 13:19:34 +0100  Zaheer Merali <zaheerabbas@merali.org>

	* ext/theora/theoraenc.c:
	* ext/vorbis/vorbisenc.c:
	  vorbisenc, theoraenc: Ensure gp is computed consistently + clip to segment
	  With vorbisenc, compute the granulepos with running time and clip incoming
	  buffers to segment.
	  With theoraenc, drop out of segment buffers.

2009-05-01 16:47:53 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Fix buffer size transformations
	  When calculating the input/output buffer sizes in the transform_size function,
	  take the number of channels into account, so we don't end up calculating
	  a buffer size that only contains a partial number of audio frames.
	  Also, when going from output size to input size, round down rather than
	  up, so as to calculate the minimum number of samples that *might* yield
	  a buffer of the intended destination size.
	  Fixes: #580470 and #580952

2009-04-29 16:45:27 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ext/vorbis/gstvorbisenc.h:
	* ext/vorbis/vorbisenc.c:
	  vorbisenc: Ensure output buffers fall within the segment
	  Add the start position of the first segment to the running time
	  used to generate buffer timestamps in vorbisenc. This avoids generating
	  buffers which fall outside the initial segment. The element segment
	  handling requires more extensive fixing, but this at least prevents
	  regressions. Fixes: #580020

2009-04-29 11:18:42 +0200  Andy Wingo <wingo@oblong.net>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  Revert "add can-activate-pull property to baseaudiosink"
	  This reverts commit c4074a2ee4f1e6cac734a145bf675bbb16fac985.

2009-04-29 11:18:33 +0200  Andy Wingo <wingo@oblong.net>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  Revert "[baseaudiosink] add docs for can-activate-pull"
	  This reverts commit 416ce16f26b39c76ab35e1ef6a75dc41ec69f75b.

2009-04-28 18:48:33 +0200  Andy Wingo <wingo@oblong.net>

	  [baseaudiosink] add docs for can-activate-pull
	  * gst-libs/gst/audio/gstbaseaudiosink.c: Add documentation for
	  can-activate-pull.

2009-01-21 12:33:59 +0100  Andy Wingo <wingo@oblong.net>

	  add can-activate-pull property to baseaudiosink
	  * gst-libs/gst/audio/gstbaseaudiosink.c: Add can-activate-pull property
	  to baseaudiosink.

2009-04-28 11:32:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	  videorate: clear discont on duplicated buffers
	  When videorate duplicates a buffer with a DISCONT flag, it copies the discont on
	  the first pushed buffer but fails to clear it for subsequent buffers. This
	  causes theoraenc!oggmux and possibly other elements to consider this a discont
	  stream.
	  Fix videorate to produce discont as the first buffer and after a flushing seek.
	  Fixes #580271.

2009-04-24 18:13:00 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/Makefile.am:
	  check: Disable the playbin2 for this release, as it is a bit racy.
	  Disable the test, as per the discussion in #580120. Needs re-enabling
	  after the release, when playbin2 is fixed.

2009-04-23 08:41:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't reduce max-size-time of exposed groups. Fixes #579912
	  The 2s limit is way too small for a lot of files (which have an interleave
	  in time of between 3 and 5s). Instead, leave it to the initial 5s value
	  and reduce the other limits (allowing us to stay memory-efficient).

2009-04-21 21:06:59 +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/de.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/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/_stdint.h:
	* win32/common/config.h:
	  0.10.22.3 pre-release

2009-04-21 20:41:23 +0100  René Stadler <mail@renestadler.de>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Fix unused variable in compilation with --disable-gst-debug
	  Fixes: #579668

2009-04-21 22:12:28 +0100  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From b3941ea to 6ab11d1

2009-04-21 20:57:34 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybasebin.c:
	  playbin: only use raw_decoding_mode when it's true
	  First check the pad caps if they are raw before setting the raw_decoding_mode to
	  TRUE. Fixes playback of transport streams and other streams that require large
	  queues.
	  Fixes #579734

2009-04-19 18:15:28 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/cdda/gstcddabasesrc.c:
	* tests/check/libs/cddabasesrc.c:
	  cddabasesrc: fix posting of discid tags after MERGE_MODE_REPLACE_ALL changes in core
	  Don't use REPLACE_ALL merge mode when that's not really what we want,
	  as now that REPLACE_ALL actually does what it's supposed to do in
	  core, we drop tags we wanted to keep, such as the various disc id
	  tags. Add unit test for this as well. Fixes #579463.

2009-04-17 10:34:54 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: don't use GLib-2.16 API, we require only 2.14
	  Fixes #579267.

2009-04-17 10:55:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: don't unparent the ringbuffer
	  when going to NULL, don't unparent the ringbuffer because we don't support going
	  back to 0 very well yet.
	  Fixes #579203

2009-04-17 10:53:10 +0200  Olivier Crete <tester at tester.ca>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  RTCP: don't fail when retrieving invalid PT
	  We can't meaningfully assert on valid packet types so just return the type as it
	  is. Update the comments to reflect this.
	  Fixes #579192.

2009-04-16 12:12:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  app: add trivial cast macros
	  Add trivial cast macros for appsrc and appsink. Mark them as being since 0.10.23
	  and add the macros to the standard macros in the docs.
	  Fixes #579130

2009-04-16 12:09:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  pkgconfig: add the app/ directory to Libs
	  Add the appsrc/appsink directory to the Libs in the uninstalled
	  pkgconfig file so that one can build against it.
	  Fixes #579129

2009-04-15 22:59:31 +0100  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  0.10.22.2 pre-release

2009-04-15 22:56:15 +0100  Jan Schmidt <thaytan@noraisin.net>

	* ChangeLog:
	  ChangeLog: regenerate changelog with the gen-changelog script

2009-04-16 00:41:13 +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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.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:
	  po: Update po files from TP

2009-04-16 00:40:59 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/interfaces-enumtypes.h:
	* win32/common/video-enumtypes.c:
	  win32: Update win32 build files

2009-04-16 00:31:55 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/libs/video.c:
	  check: Add GST_VIDEO_FORMAT_YVYU to the test so it passes.

2009-04-16 00:31:00 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/playbin2.c:
	  check: Fix the input uri in playbin2 test.
	  Don't try and use a random file in wim's home directory as a test input

2009-04-15 15:35:59 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.h:
	  video: Fix typo in the docs

2009-04-15 14:53:47 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add support for YVYU YUV colorspace

2009-04-15 00:17:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* gst-libs/gst/fft/gstfft.c:
	  docs: fix hyperlink and move fft attribution to the right place

2009-04-15 00:02:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  log: use G_GUINT64_FORMAT instead of llu

2009-04-14 18:31:52 +0200  Josep Torra <n770galaxy at gmail.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  RTSP: add missing headers for WMS RTSP
	  Add missing headers related to Windows Media RTSP extension.
	  Fixes #578942

2009-04-14 18:16:37 +0200  Olivier Crete <tester at tester.ca>

	* docs/design/draft-keyframe-force.txt:
	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theoraenc: implement upstream keyframe force
	  Implement handling of upstream keyframe forcing.
	  Update the design documents too.
	  Fixes #578656

2009-04-14 17:31:31 +0200  Olivier Crete <tester at tester.ca>

	* ext/theora/theoraenc.c:
	  theoraenc: factor out keyframe forcing
	  See #578656

2009-04-14 17:01:51 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* AUTHORS:
	* gst-libs/gst/fft/gstfft.c:
	  Give credit to Mark Borgerding (kissfft author)
	  and add myself to AUTHORS as well. Fixes #575638.

2009-04-14 17:04:06 +0200  Jan Urbanski <j.urbanski at students.mimuw.edu.pl>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	  multifdsink: add property to resend streamheaders
	  Adds a new property in multifdsink, resend-streamheader.
	  If this property is false, the multifdsink will not send the streamheader if
	  there's already one set for a particular client.
	  There are some formats in which every stream needs to start with a certain
	  blob, but you can't inject this blob at leisure. If the producer wants to
	  change the blob in question and sets in as the streamheader on the outgoing
	  buffers' caps, new clients of multifdsink will get the new streamheader, but
	  old clients will break, because they'll see the blob in the middle of the
	  stream.
	  The property is true by default, so existing code will not see any difference.
	  Fixes #578118.

2009-04-14 16:53:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	  multifdsink: add property to handle client write
	  Add a property to disable listening to client writes. This property is usefull
	  when other code will deal with reading from the client socket.
	  API: GstMultiFdSink::handle-read property

2009-04-14 16:45:20 +0200  Johann Prieur <johann.prieur at gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* win32/common/libgstrtp.def:
	  RTCP: add beginnings of Feedback messages
	  Add the beginnings of parsing and constructing Feedback messages.
	  Fixes #577610.

2009-04-14 13:51:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: clear the target
	  Clear the target of our ghostpads before we remove the pad from the element.
	  This to make sure that the internal pad is not left linked to whatever pad we
	  were ghosted to. This should only be a problem when we leak the ghostpads.
	  Also release our subpicture pads.
	  Fixes #577288.

2009-04-14 12:10:30 +0100  Hannes Bistry <hannesb@gmx.net>

	* sys/ximage/ximagesink.c:
	  ximagesink: fix mouse pointer offsets in navigation event if window is smaller than the image
	  Fixes #570768.

2009-04-14 13:16:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  baseaudiosrc: adjust the internal timestamp
	  Adjust the internal timestamp before comparing it against the adjusted clock
	  time.
	  Fixes #578506

2009-04-14 13:12:59 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: use new clock time methods
	  Use the unadjusted internal clock times to calculate the internal/external
	  offset when calibrating the clock.
	  When going to NULL, unparent and free the ringbuffer, like we do in the source
	  element.
	  See #578506

2009-04-14 13:08:52 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudioclock.h:
	* win32/common/libgstaudio.def:
	  audioclock: add methods for the internal offset
	  Add two methods for getting the unadjusted time of the clock and one for
	  adjusting an internal time. We will need these methods for correctly handling
	  the time after a gst_audio_clock_reset().
	  Add a debug category and some debug lines to the audio clock.
	  API: gst_audio_clock_get_time()
	  API: gst_audio_clock_adjust()
	  API: GST_AUDIO_CLOCK_CAST()

2009-04-14 11:34:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix up the debugs and warnings
	  Use _OBJECT variants because we can. Go over some log statements and put them in
	  the right category.
	  Fixes #567740.

2009-04-12 22:26:33 +0200  Luca Ognibene <luca.ognibene at gmail.com>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: fix error in sync-method
	  Multifdsink did not handle sync-method=latest-keyframe correctly when the
	  soft-limit is set to -1 (unlimited).
	  Fixes #578583.

2009-04-10 21:49:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: use the internal clock time
	  We can't assume that the internal clock time is the same as the function we
	  installed on our provided clock because somebody might have changed it.

2009-04-10 14:12:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: handle clock-lost messages
	  When we receive a clock-lost message we need to pause and play to select a new
	  clock.

2009-04-10 13:44:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin2.c:
	  check: add a unit test for playbin2
	  Add unit test for playbin2 and include the refcount test in #577794.

2009-04-10 13:42:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix refcounting of visualisations
	  See #577794.

2009-04-10 13:27:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: fix refcounting of custom elements
	  Sink the custom sinks, let other elements we create be sunken by the bin we add
	  them to.
	  Fixes #577794.

2009-04-10 12:27:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/appsink.c:
	  check: fix appsink test
	  Fix the appsink test now that the method signature changed.

2009-04-10 12:26:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: handle missing input-selector
	  Gracefully degrade and disable stream selection when input-selector is
	  missing.

2009-04-09 23:46:17 +0200  Martin Samuelsson <martin.samuelsson at axis.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: make callbacks return GstFlowReturn
	  Make the new_buffer and new_preroll callbacks return a GstFlowReturn so that
	  errors can be reported properly.
	  Fixes #577827.

2009-04-09 18:04:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.h:
	  ringbuffer: allow for custom commit functions
	  Allow subclasses to override the commit method.

2009-04-08 18:04:22 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  baseaudiosink: fix a small glitch after pause
	  After we pause the stream and interrupt the writeout to the ringbuffer, also adjust
	  the amount of output samples we consumed. We can't do this reliably with the
	  current API when we are doing trick modes but we can do the right thing for
	  normal playback.

2009-04-08 16:43:27 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaysink.c:
	  playbin2: better error message on sink failure
	  If we could create the sinks, but the don't work, don't send the missing plugin
	  message and report that the state-changed failed.

2009-04-07 22:38:29 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: don't leak pad-template
	  gst_element_class_add_pad_template() does not take ownership.

2009-04-04 21:18:38 +0300  Felipe Contreras <felipe.contreras@gmail.com>

	* common:
	  Automatic update of common submodule
	  From d0ea89e to b3941ea

2009-04-04 16:28:14 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/interfaces/navigation.c:
	* sys/v4l/v4lsrc_calls.c:
	  navigation/v4l: Don't use g_return_val_if_fail for computed/used values.

2009-03-22 09:46:37 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/theoradec.c:
	  theoradec: return GST_CLOCK_TIME_NONE for negative framecounts.
	  This fixes most seeking issues when used with gnonlin.
	  Fixes #543591

2009-04-04 14:53:42 +0200  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Automatic update of common submodule
	  From f8b3d91 to d0ea89e

2009-04-03 10:51:42 -0700  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: don't leak selector when getting current stream numbers.

2009-04-02 22:28:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use fully qualified urls when using a proxy
	  Use a fully qualified url when specifying the url for tunneled requests through
	  a proxy.
	  See #573173

2009-03-31 00:54:30 +0100  Jan Schmidt <thaytan@noraisin.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/interfaces/navigation.c:
	* gst-libs/gst/interfaces/navigation.h:
	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/navigation.c:
	* win32/common/libgstinterfaces.def:
	  navigation: Extend the navigation interface
	  Add support for a set of standard commands that can be queried and executed to
	  support applications like DVD. Add query construction and parsing functions.
	  Add new messages that can be sent on the bus to provide notifications related
	  to commands, multiangle changes, and button highlight activity.
	  Add some helper functions to parse the existing GstNavigation events that
	  elements might receive.
	  Document it all and add unit tests.

2009-02-04 17:03:07 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaybasebin.c:
	* gst/playback/gstplaybasebin.h:
	  playbin: Add simple 'raw decoding mode'.
	  Raw decoding mode removes almost all buffering in video and audio queues
	  when a source providing already decoded video/audio is detected, on the
	  possibly bogus assumption that such a source should provide sufficient
	  internal queueing. Fixes playback on some DVDs, and improves it
	  on all.

2009-04-02 09:27:07 +0100  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/elements/.gitignore:
	  ignores: Ignore the videoscale check binary

2009-04-02 12:13:57 +0100  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/libgstrtsp.def:
	  win32: Add gst_rtsp_connection_set_proxy to the win32 exports

2009-04-02 10:42:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* ext/alsa/gstalsamixer.c:
	  alsamixer: don't forget to release locks in a few places
	  Might fix #576585.

2009-04-02 11:10:12 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Don't read over line ends when taking the last Cr or Cb

2009-04-02 10:52:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Don't write to few pixels and don't mix Cr and Cb
	  Fixes bug #577054.

2009-04-01 15:15:57 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	* tests/check/elements/audioresample.c:
	  audioresample: fix negotiation so that upstream can actually fixate to downstream's rate
	  If one side has a preference for a particular sample rate or set of sample rates, we
	  should honour this in the caps we advertise and transform to and from, so that elements
	  actually know about the other side's sample rate preference and can negotiate to it
	  if supported. Also add unit test for this.

2009-03-26 19:34:23 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  docs: add a blurb about redirect messages to playbin2 docs

2009-04-01 09:03:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix  little typo in the comments

2009-03-31 17:52:44 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: make gst_rtsp_watch_queue_message() thread-safe
	  People might queue messages from a thread other than the thread in which
	  the main context which this watch is attached is iterated from, so use
	  a GAsyncQueue instead of a GList, so g_list_append() doesn't trample
	  over list nodes just freed in the other thread. This just fixes issues
	  I've had with gst-rtsp-server. We might need more locking in various
	  places here.

2009-03-31 18:13:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: clear the entire builder structure
	  And use structure instead of variable with sizeof when
	  clearing the rtsp message structure, for clarity.

2009-03-31 17:56:24 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  docs: fix typo in gst_rtsp_message_unset() API docs

2009-03-31 19:00:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: add support for proxies
	  Add suport for proxy servers. Currently only used for tunneled HTTP
	  connections without authentication.

2009-03-31 18:57:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  Revert "rtsp: reset whole message (was sizeof pointer instead of sizeof type)"
	  This reverts commit 79de0b8d67df6fbbe79455adc2e06858295f5c03.

2009-03-26 18:54:56 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: use xcontext->depth instead of bits in attr.max_value for colorkey
	  According to the drivers in http://cgit.freedesktop.org/xorg/driver/ we should
	  format the colorkey depending on xcontext->depth. This is what they will use to
	  interprete the value. The max_value in turn is usualy a constant regardless of
	  the depth.

2009-03-31 12:22:14 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: reset whole message (was sizeof pointer instead of sizeof type)

2009-03-31 00:56:18 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/interfaces/mixer.c:
	  doc: Fix a typo in the GstMixer docs

2009-03-29 12:01:33 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Fix linear scaling for one byte components
	  Fixes bug #577054.

2009-03-29 11:53:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Fix 4tap scaling of YUYV and friends

2009-03-28 16:08:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	  videoscale: Rewrite YUYV (and friends) scaling and don't read/write over line ends
	  Partially fixes bug #577054, there's just one issue left now.

2009-03-28 12:48:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: Add some more unit tests

2009-03-28 11:51:01 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Use bilinear instead of 4tap scaling for heights < 4
	  Partially fixes bug #577054.

2009-03-28 11:45:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Don't read after the end of a line when lineary scaling YUYV/UYVY/RGB/RGBA
	  This case is for upscaling a frame with width=1
	  Partially fixes bug #577054.

2009-03-28 11:27:56 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: Don't read after the end of a line when lineary scaling YUYV/UYVY
	  Partially fixes bug #577054.

2009-03-28 10:40:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Initialize buffer memory with zeroes
	  This prevents valgrind warnings when accessing the "x" parts
	  of xRGB and friends in other elements that handle (and can handle)
	  xRGB like ARGB (for example videoscale).

2009-03-28 10:25:12 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/videoscale.c:
	  videoscale: Add a lot of unit tests

2009-03-28 10:06:24 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videocale: Add support for video/x-raw-gray with bpp=depth=8

2009-03-28 10:01:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add support for generating video/x-raw-gray with bpp=depth=8

2009-03-28 09:43:23 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  ffmpegcolorspace: video/x-raw-gray is the same as the YUV Y800 format

2009-03-27 19:12:49 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Take the next luma value instead of every second next when scaling UYVY and friends

2009-03-27 19:09:47 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add support for v308 YUV colorspace

2009-03-27 13:15:11 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Add my copyright to the 4tap scalers

2009-03-27 13:14:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Enable 4-tap scaling for all supported formats

2009-03-27 13:14:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Implement 4-tap scaling for RGB565 and RGB555

2009-03-27 10:47:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Implement 4-tap scaling for UYVY

2009-03-27 09:33:58 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Implement 4-tap scaling for YUY2 and YVYU

2009-03-26 22:14:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Implement 4-tap scaling for RGB and BGR

2009-03-26 22:08:26 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Implement 4-tap scaling for RGBA and other 4 byte formats

2009-03-26 11:02:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/pango/gsttextoverlay.c:
	  textoverlay: Fix drawing of UYVY text borders

2009-03-26 10:36:27 +0100  Zeeshan Ali <zeeshan.ali@nokia.com>

	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextoverlay.h:
	  textoverlay: Add support for UYVY colorspace
	  Fixes bug #378094.

2009-03-25 19:01:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: do some more cleanup
	  Free the groups when we go to READY.
	  Allow for NO_PREROLL elements.

2009-03-25 16:37:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: start CSeq counting from 1 instead of 0
	  Start counting from 1 instead of 0 as this is what most other clients
	  seem to do.

2009-03-25 16:35:22 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: add ETag and If-Match headers
	  Add new headers, we need them for RealMedia support.

2009-03-25 14:16:25 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: scale the colorkey components in case of 16bit visuals
	  Use a default that won't be scales to 0,0,0

2009-03-25 11:27:44 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  audiosrc: improve 'Dropped n samples' warning message

2009-03-24 19:41:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	  examples: use new method to set flags
	  Use the new core method for setting object enum properties by name.

2009-03-24 18:29:28 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: add more support for subpictures

2009-03-24 17:12:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: first support for subpictures
	  Add beginnings of subpicture support.

2009-03-24 15:26:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: print tags from the different tracks

2009-03-24 12:22:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: blacklist subpictures for now
	  Blacklist the subpictures until we add support for them.
	  Add some small debug info.
	  See #576408.

2009-03-24 12:19:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: expose more media types
	  Expose more media types from a raw source, such as the subpicture and various
	  text pads.
	  Small cleanups  and add some more debugging.
	  See #576408.

2009-03-24 10:42:04 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: rescan audio sinks for volume/mute
	  Rescan the audio sinks for the mute and volume properties.
	  fixes #576180.

2009-03-23 19:40:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix reuse of the video chains
	  When reusing playbin with visualisations, reset the async property on the video
	  sink because some sinks might dynamically recreate their sinks.
	  Fixes #576188

2009-03-23 17:37:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: allow dynamic swtiching of subtitles
	  When we have the textpad configured, enable and disable the subtitles by setting
	  the silent flag on the overlay element instead of trying to remove elements.
	  See #576187

2009-03-23 16:59:36 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  tests: print some more info in the text example
	  Print both the position and the running_time when the subtitle becomes available
	  in the application.

2009-03-23 16:04:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix dynamic switching of visualisations
	  Fix the switching of visualisations by requesting and releasing the tee request
	  pads on demand.
	  See #576187.

2009-03-23 16:19:11 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/tcp/README:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  docs: add examples for tcp elements, also use correct section name. Fixes #564139
	  Updated the examples in the README to actually work. Add them to api docs. Tests
	  the api-docs and fix the section names to make the docs actualy show up.
	  The example for "tcpserversrc" needs review (might be an element bug).

2009-03-17 09:14:02 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/videoscale/gstvideoscale.c:
	  indent: fix damange that gst-indent did some time ago

2009-03-23 15:27:27 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: fix linking order
	  Link after doing the state change and unlink before shutting down. Makes the
	  window for causing races in toggling the visualisations smaller.
	  See #576187.

2009-03-23 12:26:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: reset counter
	  reset the number of pending dynamic operations back to 0 when we reuse
	  uridecodebin.
	  Fixes #576190

2009-03-23 11:38:53 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/theoradec.c:
	  theoradec: Use GST_CLOCK_TIME_NONE for invalid positions. Fixes #543591
	  The problem was that previously we didn't check whether _theora_granule_frame
	  returned a negative framecount or not, resulting in bogus timestamps.

2009-03-21 09:46:28 +0100  René Stadler <mail@renestadler.de>

	* ext/vorbis/vorbisenc.c:
	  vorbisenc: Set caps on non-header ouput buffers.
	  Fixes #576142.

2009-03-20 16:13:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/seek/seek.c:
	  seek: Add some more debug
	  Add some more info about the selected streams.

2009-03-20 15:47:47 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: a pad starts out being not drained.
	  Mark a new pad as not drained until we get EOS on it.

2009-03-20 14:17:19 +0100  LRN <lrn1986 at gmail dot com>

	* gst/playback/gstqueue2.c:
	  win32: fix seeking in large files
	  Fix Seeking in large files by using the 64-bit seek functions.
	  Fixes #576019

2009-03-19 20:31:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: recover from failing to add a pad
	  When we cannot add a pad to the decodebin2 for some reason, print a warning but
	  continue adding the remaining pads.

2009-03-19 19:35:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: more cleanups and docs.
	  Add some more comments and use g_list_prepend().

2009-03-19 19:19:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: refactoring and race fixes
	  Refactor some code so that we can take the right locks and in the right order.
	  Fixes quite a bit of races already.

2009-03-19 19:03:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: remove the group cond + cleanups
	  Remove the group GCond that we used for waiting for groups to finish because we
	  use pad blocking on the selectors and counters instead for waiting for the
	  groups to complete.
	  remove the obsolete about_to_finish variable set while emiting the
	  about-to-finish signal and fix some old comments.
	  We don't need to take the playbin lock when querying the uridecodebin.

2009-03-18 10:45:50 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  icles: print better error and warning messages
	  --

2009-03-17 22:53:44 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspbase64.c:
	* gst-libs/gst/rtsp/gstrtspbase64.h:
	  rtsp: Use GLib base64 functions and deprecate gst_rtsp_base64_encode
	  This also fixes another instance of CVE-2008-4316.

2009-03-17 19:53:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: report -1 for duration in push mode
	  In push mode we must return TRUE from the duration query with a value of -1
	  meaning that we know that we don't know the duration.

2009-03-17 19:09:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: add extra dynamic ref for demuxers
	  When we make a group connected to a demuxer, keep an extra dynamic refcount for
	  the group which is only decremented when no_more_pads or a multiqueue overrun is
	  detected. This way we avoid a race between exposing the group while more dynamic
	  refs are added from new pads.
	  Fixes #575588.

2009-03-17 15:39:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2: sync state of the sink correctly
	  Sync the state of the newly added chains to the state of the parent sink element
	  to avoid lost async-start messages. Fixes cdda:// async-done message storm.

2009-03-17 11:54:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: return NOT_LINKED for unselected streams
	  When streams are not selected in the selector, return NOT_LINKED so that
	  upstream elements can skip decoding. Only do this for audio and video pads
	  because for text streams the overhead is smaller and they could come from
	  external files.

2009-03-17 11:51:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin: set custom text sink properties
	  Set the custom sink async=FALSE to not make it participate in preroll because we
	  are dealing with sparse streams.
	  Try to set sync=TRUE on the custom text sink.

2009-03-17 11:30:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/playbin-text.c:
	  example: use appsink instead of fakesink
	  Use appsink instead of fakesink to get the subtitles.
	  Make things more pretty.

2009-03-17 11:24:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/playbin-text.c:
	  examples: add example of intercepting subtitles
	  Add an example of how to install a custom sink for receiving subtitles in
	  playbin2.

2009-03-17 11:03:57 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/elements/appsink.c:
	  tests: fix include in the appsink test
	  Fix dist by doing the right include.

2009-03-16 16:42:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: don't try to set invalid stream numbers
	  Fix a problem with setting the stream numbers because we check for the wrong
	  range.
	  See #575239.

2009-03-16 16:16:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: release the shutdown lock
	  Release the shutdown lock when we wait for other groups to complete or else we
	  have a deadlock when the other group completes and tries to grab the shutdown
	  lock.
	  Fixes #575550.

2009-03-16 15:31:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/app/appsrc-ra.c:
	* tests/examples/app/appsrc-seekable.c:
	* tests/examples/app/appsrc-stream.c:
	* tests/examples/app/appsrc-stream2.c:
	  examples: fix g_object_set() value type.
	  Make sure we cast the length value as a gint64 to the vararg g_object_set() just
	  incase sizeof(gsize) != sizeof(gint64).

2009-03-15 19:57:36 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: make flac typefinder return lower probability for frame headers
	  The flac frame header typefinder overstates the likelihood of a match, leading
	  to false positives with e.g. aac streams and PDF files. Reduce probabilty
	  returned from LIKELY to POSSIBLE for the frame header matchin code.
	  Fixes #574939.

2009-03-11 12:59:05 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: improve image/bmp typefinder
	  Detect more variations and also bail out in more cases where the values
	  don't make sense. Furthermore, add width/height and bpp to the caps,
	  because we can.

2009-03-13 15:22:42 +0000  Jan Schmidt <thaytan@noraisin.net>

	* tests/check/Makefile.am:
	  check: Ignore alsamixer in the states test too

2009-03-13 15:22:11 +0000  Jan Schmidt <thaytan@noraisin.net>

	* sys/v4l/v4l_calls.c:
	  v4lsrc: Fix some valgrind warnings about leaked memory and uninitialised data.

2009-03-13 16:19:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix resolving of hostnames
	  We were returning a pointer to a stack variable with the resolved hostname,
	  which doesn't work.
	  return a copy of the resolved ip address instead.
	  Fixes #575256.

2009-03-13 15:29:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/vorbis/vorbisparse.c:
	  vorbisparse: be smarter when queueing headers
	  Look at the first buffer byte to see if a buffer is a header instead of counting
	  packets.

2009-03-13 15:27:51 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/gsttheoraparse.h:
	* ext/theora/theoraparse.c:
	  theoraparse: be smarter when queuing headers
	  Look at the first byte of the buffer data (if we can) to decide if the packet is
	  a header packet or not instead of counting packets.

2009-03-13 15:26:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add some debug info
	  Add some debug info to log when the seek worked.

2009-03-13 15:14:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: release lock in _eos flushing case
	  Release the mutex when we are flushing in gst_app_src_end_of_stream()
	  Fixes #574964.

2009-03-13 11:49:10 +0000  Jan Schmidt <thaytan@noraisin.net>

	* ext/vorbis/vorbisdec.c:
	  vorbisdec: Avoid an unnecessary memory allocation in vorbiscomment handling.

2009-03-13 11:48:28 +0000  Jan Schmidt <thaytan@noraisin.net>

	* ext/theora/theoradec.c:
	  theoradec: Avoid an unnecessary memory allocation in vorbiscomment handling.

2009-03-12 18:27:25 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  playbin2: fix raw elements like cdda://
	  Fix a fixme with a one liner and make cd playback work again.

2009-03-12 17:47:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playbin2: improve subtitle handling
	  Add property to playbin2 to configure a custom sink that receives the raw
	  subtitle buffers instead of using a textoverlay.
	  Improve the property finding code to make it more usable.
	  Use property find code to find async properties in custom sinks that are bins.
	  Improve text overlay code to gracefully handle missing elements.

2009-02-24 15:58:42 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Protect memory allocation calculation from overflow.
	  Patch by: Tomas Hoger <thoger@redhat.com> Fixes CVE-2009-0586

2009-03-12 11:34:20 +0000  Jan Urbanski <jurbanski@flumotion.com>

	* gst-plugins-base.spec.in:
	  Spec: fix up deps

2009-03-11 18:45:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix parsing of the timeout parameter
	  --

2009-03-11 16:20:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: fix g_return condition
	  when parsing a data message, we require a data message.

2009-03-11 13:33:33 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: flac typefinder fixes
	  Use scan context for initial peek as well. Peek 6 bytes in the initial
	  peek rather than 5 bytes, to match the length of the memcmp we're doing
	  on that data later. Return immediately when we found caps from looking
	  at the beginning of the data - no point in continuing to scan the next
	  64kB for something matching a frame header.

2009-03-11 14:08:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: free the right string.
	  Free the key value before we remove the header item from the array. The item we
	  retrieved from the array is only valid until we remove it from the array.

2009-03-11 14:07:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: keep track of amount of decoded bytes
	  Keep track of the actual amount of decoded bytes, which can be less than 3 when
	  we decode the last bits of a base64 message.

2009-03-10 21:00:26 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: log details in getcaps like in setcaps

2009-03-10 13:11:09 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/MANIFEST:
	  win32: update MANIFEST, fixing 'make dist'

2009-03-09 23:12:00 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 7032163 to f8b3d91

2009-03-09 16:19:40 +0100  Jonathan Matthew <notverysmart at gmail dot com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add photoshop typefind functions
	  Add photoshop typefind functions.
	  Fixes #574516.

2009-03-09 15:46:21 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: only remove pads that were added
	  Flag pads that were added so that we can see if we need to remove them later or
	  not.

2009-03-09 13:53:41 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsp: only add ports when not using TCP
	  Only add the port numbers in the transport string when we are using udp or
	  multicast.

2009-03-09 13:53:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  rtsp: use gstreamer dump mem
	  --

2009-03-09 13:51:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use glib base64 encoder
	  --

2009-03-06 19:28:37 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Unblock blocked ghostpads when shutting down.  Fixes #574293.

2009-03-09 10:03:13 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  Riff: Add mapping for Fraps video codec.
	  Found through insanity testrun. Confirmed mapping in libavformat.

2009-03-09 09:07:13 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add the 'DVR ' mapping for mpeg2video.
	  Found this in 3 files from the insanity suite and mapping is also present
	  in libavformat.

2009-03-09 09:06:40 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Use the proper data pointer instead of poking random memory.

2009-03-08 18:17:48 +0100  LRN <lrn1986@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix compilation on windows.
	  Remove unused variable when building for windows.
	  Fixes #574443.

2009-03-08 12:03:22 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From ffa738d to 7032163

2009-03-08 11:19:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3f13e4e to ffa738d

2009-03-07 11:44:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 3c7456b to 3f13e4e

2009-03-07 10:44:43 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 57c83f2 to 3c7456b

2009-03-06 19:02:58 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  theoradec: parse and use codec_data in the caps
	  Parse the codec_data in the caps and use this as the headers.
	  Fixes #574169.

2009-03-06 18:53:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add theora mapping
	  Add theora mappings. See #574169.

2009-03-06 16:31:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtsp: Add methods for getting the read/write fds
	  API:gst_rtsp_connection_get_readfd()
	  API:gst_rtsp_connection_get_writefd()

2009-03-06 10:35:01 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* Makefile.am:
	* win32/common/audio-enumtypes.c:
	  win32: indent copied *-enumtypes.c files in make win32-update

2009-03-06 10:35:56 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/MANIFEST:
	  win32: update MANIFEST

2009-03-06 10:30:28 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	* win32/common/config.h:
	  win32: fix configure logic for GST_INSTALL_PLUGINS_HELPER define

2009-03-06 10:05:11 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/interfaces-enumtypes.c:
	* win32/common/multichannel-enumtypes.c:
	* win32/common/pbutils-enumtypes.c:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  win32: update windows files via make win32-update
	  Updates win32 files using the new system/hook, and defines HAVE_PROCESS_H,
	  which fixes the build of pbutils on windows (#574319).

2009-03-06 10:03:31 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  gitignore: ignore more

2009-03-06 10:37:38 +0100  Julien Moutte <julien@fluendo.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Fix build on Mac OS X

2009-03-05 15:42:23 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: don't stay connected to notify::caps after negotiation
	  Disconnect the notify::caps signal in our callback (it'll be re-added
	  if we're not, in fact, finished getting complete caps). Ensures that
	  caps changes mid-stream (e.g. from an mp3 that changes from
	  stereo->mono mid-file) don't cause us to try to add a new pad.

2009-03-05 13:48:37 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsp: fix parsing of 'now-' ranges.
	  --

2009-03-05 12:43:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/dynamic/.gitignore:
	* tests/examples/dynamic/Makefile.am:
	* tests/examples/dynamic/sprinkle.c:
	* tests/examples/dynamic/sprinkle2.c:
	* tests/examples/dynamic/sprinkle3.c:
	  examples: add some more sprinkle examples
	  Add some more sprinle examples and add some more comments.
	  See #574160.

2009-03-05 11:57:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: add appsrc symbols to standard section
	  --

2009-03-05 12:27:16 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: add variants for unsigned to fix warnings for unneeded check
	  For unsigned int out+in can't be < 0.

2009-03-05 10:58:12 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/subparse/gstsubparse.c:
	  subparse: use the right variable in debug log, encoding is not yet initialized

2009-03-05 10:51:25 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/v4l/v4l_calls.c:
	  v4l: add a fixme for broken code, that someone who has a v4l tuner device should fix

2009-03-05 10:39:33 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: add missing break in event handling, remove dead code

2009-03-04 16:24:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: do some more cleanup in _close
	  Do som more cleanup in gst_rtsp_connection_close() so that it's back into the
	  unconnected state as it was allocated.

2009-03-04 16:11:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: fix the memory management of the url
	  Constify the url parameter in _create.
	  Make a copy of the url stored in the connection.
	  Free the url when the connection is freed.

2009-03-04 12:21:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  RTSP: Add support for server tunneling
	  Save the tunnelid in the connection. Add a method to retrieve the tunnelid so
	  that a server can store and match the id against other tunnel requests.
	  Fix the URI in the tunnel requests so that they contain the absolute uri and the
	  query string if any instead of just the hostname.
	  Transparently base64 decode the input stream when tunneling.
	  Add method to set the connection ip address so that it can be included in the
	  tunnel response.
	  Add method to connect the two tunnel requests.
	  Add two callbacks for the async mode to notify a tunnel start and tunnel
	  complete event.
	  Add method to reset the watch after the connection has been tunneled.
	  Various little refactoring to make more stuff reusable.
	  API: RTSP::gst_rtsp_connection_set_ip()
	  API: RTSP::gst_rtsp_connection_get_tunnelid()
	  API: RTSP::gst_rtsp_connection_do_tunnel()
	  API: RTSP::gst_rtsp_watch_reset()

2009-03-04 12:18:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtsp: add new defines for tunneling
	  Add two more result codes for tunneling support.

2009-03-04 12:12:06 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: remove , from last enum member
	  Remove , from last enum member to improve compatibility with other compilers.

2009-02-28 15:23:20 -0800  LRN <lrn1986@gmail.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Convert regex code to GRegex code
	  Fixes: #572993.  Patch author prefers to use an alias, contact
	  ds if you actually need a real name.
	  Signed-off-by: David Schleef <ds@schleef.org>

2009-03-02 16:13:33 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: remove debugging g_message
	  --

2009-03-02 16:03:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  RTSP: add support for Quicktime tunneled RTSP
	  Add support for tunneling RTSP over HTTP.
	  Fix documentation some more.
	  See also #573173.
	  API: RTSP:gst_rtsp_connection_is_tunneled()
	  API: RTSP:gst_rtsp_connection_set_tunneled()

2009-03-02 15:48:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  RTSP: parse rtsph uris as RTSP tunneled over HTTP
	  Add transport define for RTSP tunneled over HTTP.
	  Parse rtsph:// uris as tunneled HTTP over TCP.
	  API: GstRTSPLowerTrans::GST_RTSP_LOWER_TRANS_HTTP
	  See also #573173.

2009-03-02 12:48:18 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstrtsp.def:
	  win32: Add gst_rtsp_connection_get_url definition
	  No, I'm not wim's buildslave, seriously.

2009-03-02 10:58:49 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtsp: add _get_url method and separate sockets
	  Add gst_rtsp_connection_get_url() method.
	  Reserve space for 2 sockets, one for reading and one for writing. Use socket
	  pointers to select the read and write sockets. This should allow us to implement
	  tunneling over HTTP soon.
	  API: RTSP::gst_rtsp_connection_get_url()

2009-03-01 18:31:17 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/gstapp-marshal.list:
	  app: force automatic rebuild of gstapp-marshal.[ch] after previous change
	  The previous change to appsrc/appsink requires people to 'make clean'
	  to get the marshallers rebuilt (causing a build failure otherwise).
	  Change some lines in the .list file around to force a rebuild of
	  these files automatically.

2009-02-28 11:07:04 -0800  David Schleef <ds@schleef.org>

	* configure.ac:
	  Bump glib requirement to 2.14

2009-02-28 19:37:53 +0100  LRN <lrn1986@gmail.com>

	* ext/gio/gstgiobasesink.c:
	  gio: Use correct format modifier for size_t
	  Fixes bug #573528.

2009-02-28 19:35:33 +0100  LRN <lrn1986@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Use correct types for some functions on Win32
	  Fixes bug #573529.

2009-02-28 13:11:59 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix warning about using unitialized value.

2009-02-28 12:41:28 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  riff: Add more codec mappings.
	  This comes mostly from a review of ffmpeg/libavformat/riff.c

2009-02-27 11:14:25 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/alsa/gstalsa.c:
	  alsa: release pcminfo after the strdup

2009-02-26 17:38:47 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/rtsp/gstrtsprange.c:
	  rtsprange: don't leak the range in case of parsing error.
	  Free the gstRTSPTimeRange if we don't return it. Also simplify
	  gst_rtsp_range_free() as it is valid to pass NULL to g_free().

2009-02-26 16:47:39 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/alsa/gstalsa.c:
	  alsa: cleanup name lookup.
	  We can break, once we have a name to make sure, we won't read it ever twice.

2009-02-26 16:09:03 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/subparse/gstsubparse.c:
	  subparse: don't leak line, if flushing

2009-02-26 16:03:39 +0200  Stefan Kost <ensonic@users.sf.net>

	* ext/gio/gstgiosink.c:
	  giosink: reflow error handling to not leak uri

2009-02-26 15:53:10 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: remove unused code/variables

2009-02-26 12:10:47 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	  ximagesink: use GST_FLOW_NOT_NEGOTIATED for partial caps

2009-02-26 16:44:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  app: add callbacks to appsrc, cleanups
	  Add a uri handler to appsink.
	  don't emit signals when we have installed callbacks on appsink.
	  Add callbacks to appsrc to replace the signals.
	  Add property to disable callbacks in appsrc, default to TRUE for backwards
	  compatibility but disable when callbacks are installed.
	  API: GstAppSrc::emit-signals
	  API: GstAppSrc::gst_app_src_set_emit_signals()
	  API: GstAppSrc::gst_app_src_get_emit_signals()
	  API: GstAppSrc::gst_app_src_set_callbacks()

2009-02-26 11:42:44 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.h:
	* tests/check/elements/appsink.c:
	  Appsink: add padding for callbacks + docs
	  Add some padding to the callbacks structure just to be safe.
	  Remove the now invisible marshaller methods from the docs.
	  Fix a comment in the unit test.

2009-02-26 09:52:59 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstapp.def:
	  win32: Add new libgstapp symbol

2009-02-26 10:07:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: clean section.txt file.
	  Add appsrc/sink symbols to private, as they are covered in the libs docs.

2009-02-26 10:06:23 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaybasebin.c:
	  docs: fix random text after since: tag. Also fix class name to make the docs actual appear.

2009-02-26 09:56:16 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst/playback/gstplaybin2.c:
	  docs: playbin2 has no stream-info

2009-02-26 09:53:03 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/video/video.h:
	  docs: fix newly added interlace constants and plug holes in video format docs

2009-02-26 09:35:43 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  docs: don't put random stuff in tags.
	  Tags like Since: or Returns: can only be followed by more tags. gtk-doc has no
	  tag to append text again to the documentation body.

2009-02-06 11:10:15 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/ximage/ximagesink.c:
	  ximagsink: do not access uninitialized height variable.
	  Exit like in xvimagesink, if we have partial caps.

2009-02-25 20:26:05 -0800  David Schleef <ds@schleef.org>

	* Makefile.am:
	* configure.ac:
	* win32/common/config.h.in:
	  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 one recently applied to GStreamer,
	  except that it adds a few -base specific defines.

2009-02-25 19:40:43 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* win32/common/libgstapp.def:
	  app: add win32 .def file and only export functions we want exported
	  Add a .def file for win32 builds (and make check-exports).
	  Fix LDFLAGS in Makefile.am, so the usual export regexps are used (fixes #573165).
	  Make sure private marshaller functions aren't exported by prefixing them with __gst;
	  also rename gst_app_marshal_OBJECT__VOID to _BUFFER__VOID, make it static and add
	  a comment why we're not using glib-genmarshal for this one.

2009-02-25 17:08:24 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/examples/dynamic/.gitignore:
	* tests/examples/dynamic/Makefile.am:
	* tests/examples/dynamic/sprinkle.c:
	  sprinkle: Add another example app
	  Add an example app that dynamically adds and removes audiotestsrc elements from
	  adder.

2009-02-25 16:25:33 +0100  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Fixed a typo.

2009-02-25 11:31:02 +0100  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst/tcp/gstmultifdsink.c:
	  rtsp, multifdsink: Unify the use of union gst_sockaddr.

2009-02-25 14:22:35 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	* configure.ac:
	  build: Update shave init statement for changes in common. Bump common.

2009-02-25 13:16:32 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimageink: protect buffer_alloc from shutdown
	  Use the pool_lock in the buffer_alloc function to detect shutdown. Avoids
	  crashes when the sink is shutdown.

2009-02-25 12:43:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: use flushing pads instead of fakesink
	  Use the flushing pads on playsink to terminate on shutdown instead of plugging
	  fakesinks. this should be a little cheaper.

2009-02-25 12:42:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playsink: Add FLUSHING pad type
	  Make it possible to request a flushing pad from the playsink. We can eventually
	  use these flushing pads to quickly terminate the dataflow when we are shutting
	  down.

2009-02-25 11:31:52 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 9cf8c9b to a6ce5c6

2009-02-25 09:52:38 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add fourcc for mpeg2-in-avi (as produced by mencoder)
	  Fixes: #565777

2009-02-25 12:07:43 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/stress-playbin.c:
	  stress-playbin: print the current uri
	  Print the current uri so that we can more easily see what uri caused a crash or
	  error.

2009-02-25 11:07:20 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/icles/stress-playbin.c:
	  Print the errors more clearly
	  Print some more verbose messages when dealing with errors.

2009-02-25 10:08:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  Release the group lock when setting states
	  Release the group lock while we perform the state changes on the uridecodebins
	  because that might trigger callbacks that we need to handle with the group lock
	  taken. Avoids a possible deadly embrace in some id3/flac files.
	  Fixes #567396.

2009-02-25 10:05:38 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Combine finding and creating groups
	  Combine the search for the current group and optionally creating one into one
	  function so that we can avoid taking the lock multiple times.

2009-02-25 08:22:00 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaybin2.c:
	  Playbin2: Don't leave unused parameters in debug statements.
	  Fixes build on macosx

2009-02-24 10:33:05 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  Riff: Add fourcc for mpeg1-in-avi (as produced by mencoder)

2009-02-24 18:43:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  Add some G_UNLIKELY because we can
	  Add a G_UNLIKELY when checking the shutdown variable.

2009-02-24 17:23:58 +0000  Garret D'Amore <garrett.damore@sun.com>

	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/mixertrack.h:
	  mixer interface: Add flags to enhance mixer interfaces
	  This patch adds a few flags to the mixer and mixerctrl interface to
	  better support OSSv4 (and potentially other backends).
	  Patch By: Garret D'Amore <garrett.damore@sun.com>
	  Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>
	  API: GST_MIXER_FLAG_HAS_WHITELIST, GST_MIXER_FLAG_GROUPING,
	  API: GST_MIXER_TRACK_NO_RECORD, GST_MIXER_TRACK_NO_MUTE,
	  API: GST_MIXER_TRACK_WHITELIST

2009-02-24 17:03:08 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: Fix strict aliasing error using a union

2009-02-24 16:49:40 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Fix a strict aliasing warning
	  Fix strict aliasing warnings from casting a sockaddr_storage and
	  using it as a sockaddr_in6. Use a union instead.

2009-02-24 16:08:49 +0000  Jan Schmidt <thaytan@noraisin.net>

	* docs/libs/.gitignore:
	* docs/libs/tmpl/.gitignore:
	* docs/plugins/.gitignore:
	* docs/plugins/tmpl/.gitignore:
	  Remove .gitignore files from the docs tmpl dirs, that are killed by make clean.

2009-02-24 14:36:39 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* docs/plugins/Makefile.am:
	* ext/vorbis/Makefile.am:
	* ext/vorbis/gstvorbisdec.h:
	* ext/vorbis/gstvorbisenc.h:
	* ext/vorbis/gstvorbisparse.h:
	* ext/vorbis/gstvorbistag.h:
	* ext/vorbis/vorbis.c:
	* ext/vorbis/vorbisdec.c:
	* ext/vorbis/vorbisenc.c:
	* ext/vorbis/vorbisparse.c:
	* ext/vorbis/vorbistag.c:
	  vorbis: Rename vorbis*.h to gstvorbis*.h to prevent name conflicts

2009-02-24 14:06:38 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Add conversion from/to YVYU colorspace
	  Fixes bug #572872.

2009-02-24 13:42:01 +0100  Jonas Danielsson <jonas.danielsson@axis.com>

	* gst/ffmpegcolorspace/imgconvert.c:
	  ffmpegcolorspace: Add direct UYVY->GRAY8 conversion
	  The conversion from UYVY to RGB24 and then to GRAY8
	  is quite slow. Fixes bug #569655.

2009-02-19 17:16:51 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin2: fix deadlock when shutting down.  Fixes #572577.

2009-02-19 17:15:18 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* tests/icles/stress-playbin.c:
	  stress-playbin: make more flexible, e.g. also useful for playbin2

2009-02-24 12:11:00 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Match WSAStartup and WSACleanup correctly
	  Don't randomly call WSAStartup and WSACleanup but instead call the startup when
	  we create a connection and cleanup when we free it again. Because the internal
	  datastructure is refcounted, this should not cause any refcounting leaks when
	  the connection is managed correctly.
	  Fixes #562794.

2009-02-18 11:59:58 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playbin2/playsink: Set audiotee to PAUSED state in all cases.  Fixes #565105.

2009-02-23 10:57:42 -0800  David Flynn <davidf@rd.bbc.co.uk>

	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-cdda-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-floatcast-uninstalled.pc.in:
	* pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	* pkgconfig/gstreamer-netbuffer-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	  Add srcdir to includes for out-of-source builds
	  When you use gstreamer uninstalled and build outside
	  the source tree, the includes need to be specified for
	  both the source tree and the build tree.
	  Signed-off-by: David Schleef <ds@schleef.org>

2009-02-22 17:23:52 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/plugins/Makefile.am:
	  Use shave for the build output

2009-02-23 12:17:07 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstrtsp.def:
	  win32: Add new symbol to libgstrtsp.def

2009-02-23 10:57:08 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspextension.h:
	  Add method for handling server requests
	  Add a receive_request so that extensions can react to server requests.

2009-02-22 19:20:40 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/libs/netbuffer.c:
	  Correctly cast to GstBuffer * before passing to gst_buffer_(copy|unref)

2009-02-22 19:19:04 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/theoraparse.c:
	  theoraparse: Use the correct unref functions

2009-02-22 19:18:41 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  x(v)imagesink: Correctly cast to GstBuffer * before passing to gst_buffer_unref()

2009-02-22 19:12:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Unref the actual buffer instead of the memory address of the buffer

2009-02-22 15:47:53 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Automatic update of common submodule
	  From 5d7c9cc to 9cf8c9b

2009-02-22 14:49:29 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstrtsp.def:
	* win32/common/libgstvideo.def:
	  win32/common: Update .def files for recent API addition

2009-02-22 13:43:35 +0100  Edward Hervey <bilboed@bilboed.com>

	* tests/check/libs/rtp.c:
	  tests: Fix indentation

2009-02-22 13:42:33 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video.c:
	  libs/video: Fix gst_video_format_new_caps* functions.
	  Only add a 'interlaced=True' property to caps *IF* it is interlaced, else
	  don't add anything.

2009-02-21 11:13:36 -0800  David Schleef <ds@schleef.org>

	* common:
	  Automatic update of common submodule
	  From 80c627d to 5d7c9cc

2009-02-20 17:26:40 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  Improve key/value parsing
	  Improve header field parsing by keeping a ref to the key/value instead of
	  copying it into a local variable.

2009-02-20 12:35:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Add trailing \0 to message length
	  We always put a trailing 0 at the end of the message body. Reflect this fact in
	  the length of the message.

2009-02-20 09:50:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Don't parse headers for data messages
	  Don't try to parse the headers on a data message because they don't have
	  headers.

2009-02-19 12:18:29 -0800  Benjamin M. Schwartz <bens@alum.mit.edu>

	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	  theoraenc: Add property for speed level control
	  Add property "speed-level" to control the amount of motion searching
	  the encoder does.  This is only available in libtheora >= 1.0 and
	  will silently fail with earlier libraries.  Fixes: #572275.
	  Signed-off-by: David Schleef <ds@schleef.org>

2009-02-19 17:40:45 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Fix 'Since' tags

2009-01-26 10:30:53 +0100  Edward Hervey <bilboed@bilboed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add flags for interlaced video along with convenience methods for interlaced caps.
	  These three flags allow all know combinations of interlaced formats. They should
	  only be used when the caps contain 'interlaced=True'.
	  Fixes #163577 (yes, it's a 4 year old bug).

2009-02-19 15:51:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  Make RTSPConnection opaque and rename RTSPChannel
	  Make the RTSPConnection object opaque so that we can extend it in the future.
	  Rename GstRTSPChannel to GstRTSPWatch to avoid confusing with the RTSP channels.

2009-01-26 10:31:14 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  Add some more mappings for h264 in riff

2009-02-19 10:49:56 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  Add new RTSP symbols to def files
	  Add the new RTSP symbols to the windows def file.

2009-02-19 10:44:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/appsink.c:
	  Add method to install callbacks on appsink
	  Based on pacth by Martin Samuelsson <martin dot samuelsson at axis dot com>
	  Fixes #571299.
	  Add gst_app_sink_set_callbacks() to install a set of callbacks. This is a more
	  performant alternative to connecting to the signals.
	  Add a unit test for appsink.
	  Clean up some of the appsink docs.
	  API: GstAppSink::gst_app_sink_set_callbacks()

2009-02-18 18:46:35 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  Add RTSP accept method
	  Add a method to accept a connection on a socket and create a GstRTSPConnection
	  for it.
	  API: gst_rtsp_connection_accept()

2009-02-18 17:42:59 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  Add RTSP channel object for async io
	  Add a GstRTSPChannel object that wraps a GSource around the RTSP connection so
	  that the connection can be monitored from a maincontext. This allows us to
	  operate in ASYNC mode, which is handy when building a server.
	  Rework the old code to use the async code under the hood.
	  API: gst_rtsp_channel_new()
	  API: gst_rtsp_channel_unref()
	  API: gst_rtsp_channel_attach()
	  API: gst_rtsp_channel_queue_message()

2009-02-15 07:30:17 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Add locking to protect the resampling context
	  When setting the quality/filter-length while PLAYING the
	  resampling context will be destroyed and created again in
	  some cases, which will cause crashes in the transform function
	  if it's called at that time.

2009-02-13 10:10:25 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/videotestsrc/videotestsrc.c:
	  ffmpegcolorspace/videotestsrc: Use v308 instead of V308

2009-02-12 19:02:59 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	  ffmpegcolorspace: Add support for packed 4:4:4 YUV (format=V308)
	  Only conversions from/to are implemented, which
	  gives (indirect) support for all possible conversions.
	  Partially fixes bug #571147.

2009-02-12 18:17:53 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add support for packed 4:4:4 YUV (format=V308)
	  Partially fixes bug #571147.

2009-02-12 09:18:20 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: don't abort when downstream pulls a buffer of size 0
	  Pulling a 0-sized buffer is allowed, and we should handle this correctly instead of
	  aborting. Fixes #571009 (wma file with ID3v2 tag).

2009-02-11 16:39:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-read.c:
	  riff: error out on nonsensical chunk sizes instead of aborting
	  When encountering a nonsensical chunk size such as (guint)-1, error out cleanly instead of
	  continuing and trying to g_memdup() 4GB of data that doesn't exist, which will either abort
	  in g_malloc() or crash.
	  Fixes #553295, crash with fuzzed AVI file.

2009-02-11 16:39:06 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* .gitignore:
	  Make git ignore backup files.

2009-02-10 20:38:58 -0800  Michael Smith <msmith@syncword.(none)>

	* gst/playback/gstplaybin2.c:
	  Revert "Remove pad-removed handlers after setting the decodebins to NULL."
	  This reverts commit b36d8f3e119f9edc5993c08025614ee32642972e.
	  This brought back some deadlocks. A small leak is better, for now. Need to
	  figure out a way to fix the leak properly.

2009-02-10 17:16:07 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: Fix segfault on notify after group change.
	  If our group has been switched, then we get a selector active-pad
	  notification, we don't need to notify.

2009-02-10 17:10:33 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaysink.c:
	  playbin2: Look for volume/mute properties recursively in audio element.
	  Rather than only checking for volume property on the audio sink
	  directly, recursively look for it on sinks within it (if it's a bin).
	  Allows use of sink-as-volume-control where the application has supplied
	  an audio-sink bin that includes a real audio sink internally.

2009-02-10 18:29:22 +0000  Christian Schaller <cschalle@crazyhorse.localdomain>

	* gst-plugins-base.spec.in:
	  Update spec file with latest additions and changes, most noteably the move of appsrc appsink into -base

2009-02-10 17:39:45 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Add support for Y444 (planar 4:4:4 YUV)
	  Partially fixes bug #571147.

2009-02-10 17:37:06 +0100  Peter Kjellerstedt <pkj@axis.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  gstrtspmessage: Minor documentation correction.
	  Corrected documentation about what needs to be freed after calling
	  gst_rtsp_message_new(), gst_rtsp_message_new_request(),
	  gst_rtsp_message_new_response() and gst_rtsp_message_new_data().

2009-02-10 11:00:12 +0100  Antoine Tremblay <hexa00@gmail.com>

	* ext/alsa/gstalsamixer.c:
	  alsamixer: Fix race condition that made alsamixer not working properly
	  This is due to race conditions between functions that
	  modified the mixer like set_volume and
	  snd_mixer_handle_events since the handle_events
	  can now be called at any time.
	  Fixed by adding locking around any snd_mixer call
	  since even read functions can modify the mixer stucture, since
	  alsa likes to clear it's values before reading new ones.
	  The favorite race condition seemed to be that set_volume
	  called read_elem (in alsalib) that reset the volumes to
	  0 and then read them with read_x_volume. This read looped
	  on each channel and as the race condition occured the
	  channels value could be anything , most of the time
	  it was 0. Thus no value was read or only the value of
	  one channel was and the volume was reset to 0.
	  Fixes bug #478512.

2009-02-09 12:02:21 +0100  Edward Hervey <bilboed@bilboed.com>

	* common:
	  Bump revision to use for common submodule.

2009-02-05 15:47:00 +0200  Stefan Kost <ensonic@users.sf.net>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: do not call _xwindow_clear on ready->paused.
	  Calling clear at that transition does things like stopping xvideo (which is not
	  running at that time) and also clearing anything what the application might have drawn.
	  This breaks handle-expose and autopaint-colorkey features.

2009-02-04 17:03:52 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	  RTSPRange: Add method to serialize ranges
	  Add gst_rtsp_range_to_string() to serialize a GstRTSPRange to a string that can
	  be used by a server.
	  API: GstRTSPRange::gst_rtsp_range_to_string()

2009-02-04 13:16:48 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/rtsp/gstrtspurl.h:
	  GstRTSPUrl: Add some const to methods
	  Add const to the methods that do not modify the object.

2009-02-04 13:53:30 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/playback/gstplaysink.c:
	  playbin2: implement GST_PLAY_FLAG_NATIVE_{AUDIO,VIDEO}
	  The flags where present but actually not been taken into account.

2009-02-04 12:06:38 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Add a proper deprecation comment and also drop G_PARAM_CONSTRUCT.
	  The comment will ensure that is is marked properly in the docs and the
	  GParamSpecflag was causing a duplicated initialisation of the same value.

2009-02-04 11:18:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Add more g_return_if_fail() calls
	  Check that we have a valid file descriptor before entering certain functions in
	  order to avoid undesirable situations.
	  Add some more debugging in the connect method.

2009-02-04 10:31:21 +0200  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/gstaudioresample.c:
	  audioresample: Only pull in liboil if its actualy used.
	  Liboil still has quite significant startup overhead especialy on embedded
	  platforms. In audioresample it was only used for the profiling timer.

2009-02-03 15:26:08 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Make the flac check more tight to not mistace some aac files for flac. Fixes #570356.
	  Add comments about the flac format. Tighten the check to not allow values that
	  refer to headers.

2009-02-03 10:52:15 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstrtsp.def:
	  Add new methods
	  Add new methods to the windows def file.

2009-02-02 17:25:21 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/pbutils/install-plugins.c:
	* tests/check/libs/pbutils.c:
	  pbutils: remove duplicate detail strings when calling the external codec installer
	  It doesn't make sense to ask installers for the same codec or element twice, so filter out duplicate requests before calling the external helper script and make the unit test check this works right. Fixes #567636.

2009-02-02 18:05:42 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	  Add a FIXME 0.11. Make the log message a bit more detailed and add comments.

2009-02-02 15:43:03 +0200  Stefan Kost <ensonic@users.sf.net>

	* configure.ac:
	* gst/audioresample/gstaudioresample.c:
	  Allow to configure the resampler function for integer to skip the benchmarking. Fix releasing the intger resampler in benchmark.

2009-02-02 13:30:42 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  Fix buffer_alloc in ximagesink
	  Remove some useless debug info that reported wrong image sizes.
	  When upstream does not accept out suggested size, fall back to allocating an
	  image of the requested width/height instead of the currently configured size.
	  The problem is that an image is reused from the pool because the width/height
	  match but the caps on the new buffer are the requested caps with possibly
	  different height/width resulting in errors.

2009-02-02 12:54:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  Fix documentation for autoplug-select
	  fix the documentation strings for the autoplug-select signal.
	  Fixes #570142.

2009-02-02 10:09:07 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	  Fix string leak in rtspmessage
	  when we remove a header field from a message we must free the value associated
	  with the key to avoid a memory leak.

2009-01-31 18:45:47 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  Its "Base Library" and not just "Library".

2009-01-31 18:44:32 +0200  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  Link to the class, as we can't link to the members yet.

2009-01-30 17:48:23 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Remove pad-removed handlers after setting the decodebins to NULL.
	  They do needed cleanup; without this we leak selector requestpads.

2009-01-30 17:47:07 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Unref selector request pad even if we no longer have a selector.
	  During destruction, we won't have a selector any more, but we still need
	  to unref the pad to avoid leaking it.

2009-01-30 15:23:23 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Unref source in playbin2's finalize method

2009-01-30 12:04:01 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaysink.c:
	  Fix more leaks of pads and elements in gstplaysink.
	  Don't keep extra references to volume and mute elements; we don't need
	  to do so.
	  Ensure we unref pads that we have references to, and release request
	  pads.

2009-01-30 11:04:37 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaysink.c:
	  Avoid leaking all playsinks. Fix some internal leaks.
	  Playsink was holding references to itself. Don't do that, it's not cool.
	  Also, free all chains in dispose.

2009-01-30 10:54:12 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Unref peer request pad after releasing it, since we hold a reference.

2009-01-30 10:52:52 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Fix caps leak in playbin2.

2009-01-30 10:51:11 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Unref active pad from selector when finding active stream.

2009-01-30 10:49:55 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gstplaybin2.c:
	  Free uris when finalizing playbin2 instance.

2009-01-30 10:38:17 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/playback/gsturidecodebin.c:
	  Unref pads when iterating over them in analyse_source.
	  Fixes leak of source's srcpad when using uridecodebin.

2009-01-30 22:22:07 +0200  Stefan Kost <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  Add releaseinfo with online url.

2009-01-30 17:58:15 +0000  Jan Schmidt <jan.schmidt@sun.com>

	* gst/playback/gstplaybasebin.c:
	  Fix compilation warning on Forte

2009-01-30 17:16:39 +0000  Jan Schmidt <jan.schmidt@sun.com>

	* gst/adder/gstadder.c:
	  Don't do void pointer arithmetic.

2009-01-30 17:25:51 +0000  Jan Schmidt <thaytan@noraisin.net>

	* common:
	  Bump common

2009-01-30 08:50:53 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	* common:
	  Use a symbolic link for the pre-commit client-side hook

2009-01-30 08:12:42 +0100  Edward Hervey <bilboed@bilboed.com>

	* .gitignore:
	  Add more files/directories to ignore

2009-01-29 14:00:30 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	  fix some typos
	  Fix some typos in the doc string of the new
	  gst_rtsp_options_as_string() method.

2009-01-29 11:55:10 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  Add new RTSP message method to set header
	  Add gst_rtsp_message_take_header() that takes ownership of the passed header
	  value. This allows us to avoid an allocations and memory copy in some
	  situations.
	  API: GstRTSPMessage::gst_rtsp_message_take_header()

2009-01-29 11:51:23 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  Add new method to docs
	  Add the new gst_rtsp_options_as_text() method to the docs.

2009-01-28 11:48:01 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  Add method to serialize RTSP options
	  Add gst_rtsp_options_as_text() method to serialize a set of RTSP options to a
	  string.
	  API: GstRTSP::gst_rtsp_options_as_text()

2009-01-26 17:59:37 -0800  Michael Smith <msmith@songbirdnest.com>

	* gst/typefind/gsttypefindfunctions.c:
	  Ensure we have sufficient data when using data scan contexts.
	  Fixes crashes typefinding things that look like they might contain AAC
	  data (but probably aren't actually AAC).

2009-01-26 23:32:09 +0000  Jan Schmidt <thaytan@noraisin.net>

	* ext/gio/Makefile.am:
	  Fix include order for gio plugin

2009-01-23 23:59:48 +0000  Jan Schmidt <thaytan@noraisin.net>

	* win32/common/config.h:
	  Update win32 config.h for 0.10.22.1 dev cycle

2009-01-23 23:16:11 +0000  Jan Schmidt <thaytan@noraisin.net>

	* .gitignore:
	* docs/libs/.gitignore:
	* gst-libs/gst/audio/.gitignore:
	* gst-libs/gst/video/.gitignore:
	* po/.gitignore:
	* tests/examples/dynamic/.gitignore:
	  Extend and clean up git ignores

2009-01-23 12:31:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/README:
	* gst/audioresample/arch.h:
	* gst/audioresample/buffer.c:
	* gst/audioresample/buffer.h:
	* gst/audioresample/debug.c:
	* gst/audioresample/debug.h:
	* gst/audioresample/fixed_arm4.h:
	* gst/audioresample/fixed_arm5e.h:
	* gst/audioresample/fixed_bfin.h:
	* gst/audioresample/fixed_debug.h:
	* gst/audioresample/fixed_generic.h:
	* gst/audioresample/functable.c:
	* gst/audioresample/functable.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample.h:
	* gst/audioresample/resample_chunk.c:
	* gst/audioresample/resample_functable.c:
	* gst/audioresample/resample_ref.c:
	* gst/audioresample/resample_sse.h:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_double.c:
	* gst/audioresample/speex_resampler_float.c:
	* gst/audioresample/speex_resampler_int.c:
	* gst/audioresample/speex_resampler_wrapper.h:
	* gst/speexresample/Makefile.am:
	* gst/speexresample/gstspeexresample.c:
	* gst/speexresample/gstspeexresample.h:
	* gst/speexresample/resample.c:
	* gst/typefind/gsttypefindfunctions.c:
	* tests/check/Makefile.am:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/speexresample.c:
	  Rename files and types from speexresample to audioresample
	  Rename files and types from speexresample to audioresample
	  to finish the move and to prevent any confusion.

2009-01-23 11:44:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  Add some more debugging to the Xv strides
	  Add some more debugging to the strides as they are received from the server and
	  the expected strides.

2009-01-23 11:40:26 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  Add typefind function for gsm
	  Because core now supports typefindfactories without a typefind function we can
	  register a factory fo GSM that will --if all else fails-- assume the file is a
	  GSM file based on the registered extension.
	  Fixes #566661.

2009-01-23 11:37:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  Use more performant link function
	  We can use gst_element_link_pads() instead of the more generic
	  gst_element_link() function because we know the pads. This saves some cycles
	  because the more generic function needs to search for possible compatible caps
	  etc.

2009-01-23 11:33:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  Add more codec ids for RIFF formats
	  Handle codec ID for various other AAC formats.
	  Sync the list of possible codec ids with that of ffmpeg.
	  Fixes #567255

2009-01-23 11:27:16 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/theora/theoradec.c:
	  Use rounded values for image strides and sizes
	  Round up the height before calculating the expected size and
	  strides of the output image.

2009-01-23 11:23:09 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  Improve debug message
	  Improve the debug message when alsa returns an error.

2009-01-23 11:07:05 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/app/gstappsrc.c:
	  Reset queued_bytes counter when flushing
	  Set the amount of queued bytes in the internal queue back to 0 when we clear the
	  queue.
	  Fixes #567982

2009-01-23 10:19:27 +0100  Benjamin Gaignard <benjamin@gaignard.net>

	* gst/typefind/gsttypefindfunctions.c:
	  Add typefinder for Mobile XMF. Fixes bug #568707.

2009-01-23 10:00:11 +0100  Brian Cameron <brian.cameron@sun.com>

	* configure.ac:
	  Fix linking on Solaris. Fixes bug #568482.
	  Check for nsl and socket libraries and add them to
	  LIBS if they're found. They're needed for socket()
	  and gethostbyname() on Solaris.

2009-01-22 22:09:47 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst/playback/gstplaybasebin.c:
	  Fix use-after-unref problem noticed by Josep Torra Valles, and run gst-indent

2009-01-22 17:46:59 +0200  Stefan Kost <ensonic@users.sf.net>

	* common:
	  Update common snapshot.

2009-01-22 13:47:24 +0100  Sebastian Dröge <slomo@circular-chaos.org>

	* common:
	  Fix pre-commit hook

2009-01-22 13:12:02 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	  Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base

2009-01-22 10:14:28 +0100  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	  Reduce the number of allocations for creating FFT contexts
	  Reduce the number of allocations from 2 to 1 for every FFT
	  context by allocating enough memory for the FFT context
	  and passing parts of it to the kissfft allocation functions.

2009-01-22 11:32:56 +0000  Jan Schmidt <thaytan@noraisin.net>

	* configure.ac:
	  Back to devel -> 0.10.22.1

2009-01-22 05:57:53 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	* common:
	  Install and use pre-commit indentation hook from common

2009-01-21 13:09:29 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/libs/rtp.c:
	  Avoid overflows in the padding checks by doing the check slightly differently. Add a unit test to check for correct behaviour.

2009-01-21 04:31:32 +0100  Edward Hervey <bilboed@bilboed.com>

	* autogen.sh:
	  autogen.sh : Use git submodule

=== release 0.10.22 ===

2009-01-19 23:10:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* 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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/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:
	  Release 0.10.22
	  Original commit message from CVS:
	  Release 0.10.22

2009-01-19 22:01:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* 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/fi.po:
	* po/fr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.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

2009-01-16 11:44:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/fft/: Use correct struct alignment everywhere to prevent unaligned memory accesses, resulting in SIGBUS ...
	  Original commit message from CVS:
	  * gst-libs/gst/fft/_kiss_fft_guts_f32.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_f64.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_s16.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_s32.h:
	  * gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc):
	  * gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc):
	  * gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc):
	  * gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc):
	  Use correct struct alignment everywhere to prevent unaligned
	  memory accesses, resulting in SIGBUS on sparc and probably others.
	  Fixes bug #500833.

2009-01-16 11:40:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/tag/gsttagdemux.c: Forward unknown events upstream to allow latency configuration.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_srcpad_event):
	  Forward unknown events upstream to allow latency configuration.
	  Fixes bug #567960.

2009-01-13 14:47:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Provide the right arguments to a debug line.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (groups_set_locked_state):
	  Provide the right arguments to a debug line.

2009-01-13 06:51:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Don't reset the colorkey when element is reused. Fixes #567511.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Don't reset the colorkey when element is reused. Fixes #567511.

2009-01-09 23:42:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.21.3 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.21.3 pre-release

2009-01-09 23:13:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/app/gstappsink.c: Store the returned signal id in the right slot when registering the pull-buffer signal.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c:
	  Store the returned signal id in the right slot when
	  registering the pull-buffer signal.
	  Fixes #567168
	  Spotted by: Thomas Vander Stichele  <thomas at apestaart dot org>

2009-01-09 17:17:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixer.c: Small docs addition to clarify that one really mustn't free the constant GList retur...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixer.c:
	  Small docs addition to clarify that one really mustn't free
	  the constant GList returned (#566812).

2009-01-08 17:18:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add GType for GstRTSPUrl and expose a copy function because we can.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtsp/gstrtspurl.c: (register_rtsp_url_type),
	  (gst_rtsp_url_get_type), (gst_rtsp_url_copy):
	  * gst-libs/gst/rtsp/gstrtspurl.h:
	  * win32/common/libgstrtsp.def:
	  Add GType for GstRTSPUrl and expose a copy function because we can.
	  API: gst_rtsp_url_copy()
	  Fixes #567027.

2009-01-07 18:36:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add plugin dependency for the GIO and GVfs modules.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/gio/gstgio.c: (plugin_init):
	  Add plugin dependency for the GIO and GVfs modules.
	  Fixes bug #566876.

2009-01-07 18:32:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add plugin dependency for the gnomevfs modules.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/gnomevfs/gstgnomevfs.c: (plugin_init):
	  Add plugin dependency for the gnomevfs modules.
	  Fixes bug #566875.

2009-01-07 18:30:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstcdda.def: Add new symbol to the list of exported symbols.
	  Original commit message from CVS:
	  * win32/common/libgstcdda.def:
	  Add new symbol to the list of exported symbols.

2009-01-07 13:52:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Fix some comments and docs.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (gst_play_bin_set_uri), (gst_play_bin_set_suburi),
	  (no_more_pads_cb), (drained_cb), (group_set_locked_state_unlocked),
	  (activate_group), (deactivate_group), (groups_set_locked_state),
	  (gst_play_bin_change_state):
	  Fix some comments and docs.
	  Post an error message when we fail to link the selector to the sink.
	  Remove pushing of EOS, this seems unneeded.
	  Lock the state of deactivated groups so that they don't accidentally
	  reactivate when the playbin2 state changes.
	  Reuse uridecodebins.
	  Unlock and relock state of groups when playbin goes to NULL.
	  Fixes #566654.
	  Fixes #566341.
	  * gst/playback/gsturidecodebin.c: (pad_removed_cb), (type_found):
	  Only do something in the pad removed callback when we are dealing with
	  our sourcepads because the sinkpads don't have a ghostpad.

2009-01-07 10:50:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/cdda/gstcddabasesrc.*: Make the GType of GstCDDABaseSrcMode public for bindings.
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  * gst-libs/gst/cdda/gstcddabasesrc.h:
	  Make the GType of GstCDDABaseSrcMode public for bindings.
	  Fixes bug #566837.

2009-01-06 18:03:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Use new core API to make registry re-scan the plugin whenever visualisations are added or removed (see #350477).
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/libvisual/visual.c: (plugin_init):
	  Use new core API to make registry re-scan the plugin
	  whenever visualisations are added or removed (see #350477).

2009-01-06 17:30:31 +0000  José Alburquerque <jaalburqu@svn.gnome.org>

	  gst-libs/gst/audio/gstaudioclock.*: Make gst_audio_clock_new use const gchar* to ease the wrapping of
	  Original commit message from CVS:
	  Patch by: José Alburquerque <jaalburqu svn gnome org>
	  * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_new):
	  * gst-libs/gst/audio/gstaudioclock.h:
	  Make gst_audio_clock_new use const gchar* to ease the wrapping of
	  C++ bindings. Fixes #566723.

2009-01-06 12:16:18 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add pkg-config files for libgstapp. Fixes bug #566761.
	  Original commit message from CVS:
	  * configure.ac:
	  * pkgconfig/Makefile.am:
	  * pkgconfig/gstreamer-app-uninstalled.pc.in:
	  * pkgconfig/gstreamer-app.pc.in:
	  Add pkg-config files for libgstapp. Fixes bug #566761.

2009-01-06 11:10:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/app/: Make debug categories static. Use _element_class_set_details_simple().
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst-libs/gst/app/gstappsink.h:
	  * gst-libs/gst/app/gstappsrc.c:
	  * gst-libs/gst/app/gstappsrc.h:
	  Make debug categories static. Use _element_class_set_details_simple().

2009-01-06 10:56:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/app/: Move private data into a private instance struct. Add padding to instance and class structures exp...
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (_GstAppSinkPrivate),
	  (gst_app_sink_class_init), (gst_app_sink_init),
	  (gst_app_sink_dispose), (gst_app_sink_finalize),
	  (gst_app_sink_unlock_start), (gst_app_sink_unlock_stop),
	  (gst_app_sink_flush_unlocked), (gst_app_sink_start),
	  (gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
	  (gst_app_sink_render), (gst_app_sink_getcaps),
	  (gst_app_sink_set_caps), (gst_app_sink_get_caps),
	  (gst_app_sink_is_eos), (gst_app_sink_set_emit_signals),
	  (gst_app_sink_get_emit_signals), (gst_app_sink_set_max_buffers),
	  (gst_app_sink_get_max_buffers), (gst_app_sink_set_drop),
	  (gst_app_sink_get_drop), (gst_app_sink_pull_preroll),
	  (gst_app_sink_pull_buffer)::
	  * gst-libs/gst/app/gstappsink.h: (GstAppSinkPrivate), (_GstAppSink)::
	  * gst-libs/gst/app/gstappsrc.c: (_GstAppSrcPrivate),
	  (gst_app_src_class_init), (gst_app_src_init),
	  (gst_app_src_flush_queued), (gst_app_src_dispose),
	  (gst_app_src_finalize), (gst_app_src_set_property),
	  (gst_app_src_get_property), (gst_app_src_unlock),
	  (gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
	  (gst_app_src_is_seekable), (gst_app_src_check_get_range),
	  (gst_app_src_query), (gst_app_src_do_seek), (gst_app_src_create),
	  (gst_app_src_set_caps), (gst_app_src_get_caps),
	  (gst_app_src_set_size), (gst_app_src_get_size),
	  (gst_app_src_set_stream_type), (gst_app_src_get_stream_type),
	  (gst_app_src_set_max_bytes), (gst_app_src_get_max_bytes),
	  (gst_app_src_set_latencies), (gst_app_src_set_latency),
	  (gst_app_src_get_latency), (gst_app_src_push_buffer_full),
	  (gst_app_src_push_buffer_action), (gst_app_src_end_of_stream)::
	  * gst-libs/gst/app/gstappsrc.h: (GstAppSrcPrivate)::
	  Move private data into a private instance struct. Add padding to
	  instance and class structures exposed in public headers. Add
	  Since markers to the gtk-doc blurbs (#566750).

2009-01-06 10:50:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/app/appsrc_ex.c: Some comments.
	  Original commit message from CVS:
	  * tests/examples/app/appsrc_ex.c: (main):
	  Some comments.
	  When pulling a buffer we can get NULL when the element is EOS, don't try
	  to unref this NULL buffer.

2009-01-06 10:16:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/video/: Fix up build flags and include statement for the new generated enumtypes files, to fix dist.
	  Original commit message from CVS:
	  * gst-libs/gst/video/Makefile.am:
	  * gst-libs/gst/video/video.h:
	  Fix up build flags and include statement for the new generated
	  enumtypes files, to fix dist.

2009-01-05 23:04:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  * docs/plugins/inspect/plugin-app.xml:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst-libs/gst/app/gstappsrc.c:
	  * tests/examples/Makefile.am:
	  * tests/examples/app/Makefile.am:
	  Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421

2009-01-05 17:13:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Avoid holding the OBJECT_LOCK when calling ringbuffer functions that take the ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_change_state):
	  Avoid holding the OBJECT_LOCK when calling ringbuffer functions that
	  take the ringbuffer lock because rinbuffer lock > OBJECT_LOCK. We can do
	  this because the async_play method is deprecated and usually not called
	  anymore.

2009-01-05 12:18:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Disconnect signal handlers before destroying a previous decodebin so that we don't end up...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (notify_source_cb), (activate_group):
	  Disconnect signal handlers before destroying a previous decodebin so
	  that we don't end up causing deadlocks. Fixes #566586.

2009-01-05 10:59:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiotestsrc/gstaudiotestsrc.*: Add property to control pull/push based scheduling.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_class_init), (gst_audio_test_src_init),
	  (gst_audio_test_src_check_get_range),
	  (gst_audio_test_src_set_property),
	  (gst_audio_test_src_get_property):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Add property to control pull/push based scheduling.

2009-01-02 15:04:13 +0000  Alessandro Decina <alessandro.d@gmail.com>

	  Make the seek and colorkey examples depend on gtk+-x11 as they use
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/examples/seek/Makefile.am:
	  * tests/icles/Makefile.am:
	  Make the seek and colorkey examples depend on gtk+-x11 as they use
	  GDK_WINDOW_XID.
	  Fixes the build with gtk+-quartz.

2008-12-31 16:04:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/common/: Add new exports to win32 files.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  * win32/common/libgsttag.def:
	  * win32/common/libgstvideo.def:
	  Add new exports to win32 files.

2008-12-31 13:31:55 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/tag/gsttagdemux.*: Add GType for GstTagDemuxResult enum.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_result_get_type):
	  * gst-libs/gst/tag/gsttagdemux.h:
	  Add GType for GstTagDemuxResult enum.

2008-12-31 13:01:30 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/video/: Add glib-mkenum for GstVideoFormat enum GTYPE auto-generation.
	  Original commit message from CVS:
	  * gst-libs/gst/video/Makefile.am:
	  * gst-libs/gst/video/video.h:
	  Add glib-mkenum for GstVideoFormat enum GTYPE auto-generation.
	  This will help bindings to use it.

2008-12-31 11:20:26 +0000  Edward Hervey <bilboed@bilboed.com>

	  Switch glib-mkenum for gst-libs/gst/audio from multichannel- to audio- in order to wrap all enums declarations of tha...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  * gst-libs/gst/audio/audio.c:
	  * gst-libs/gst/audio/multichannel.h:
	  * gst-libs/gst/audio/testchannels.c:
	  * win32/MANIFEST:
	  * win32/common/audio-enumtypes.c:
	  (gst_audio_channel_position_get_type),
	  (gst_ring_buffer_state_get_type),
	  (gst_ring_buffer_seg_state_get_type),
	  (gst_buffer_format_type_get_type), (gst_buffer_format_get_type):
	  * win32/common/audio-enumtypes.h:
	  * win32/common/multichannel-enumtypes.c:
	  * win32/common/multichannel-enumtypes.h:
	  * win32/vs6/grammar.dsp:
	  * win32/vs6/libgstaudio.dsp:
	  * win32/vs7/libgstaudio.vcproj:
	  * win32/vs8/libgstaudio.vcproj:
	  Switch glib-mkenum for gst-libs/gst/audio from multichannel- to
	  audio- in order to wrap all enums declarations of that library.
	  This modification should not matter since that header file is not a
	  public header (it will be included by public headers).
	  Modify win32 crap^Wfiles accordingly.

2008-12-30 17:55:07 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/audio/: Complete Sebastien's commit from the 13th by exporting the _slave_method_get_type() methods.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Complete Sebastien's commit from the 13th by exporting the
	  _slave_method_get_type() methods.

2008-12-29 16:45:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsrc.*: Add properties and methods to configure and retrieve the min and max latencies.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_init), (gst_app_src_set_property),
	  (gst_app_src_get_property), (gst_app_src_query),
	  (gst_app_src_set_latencies), (gst_app_src_set_latency),
	  (gst_app_src_get_latency), (gst_app_src_push_buffer_full):
	  * gst-libs/gst/app/gstappsrc.h:
	  Add properties and methods to configure and retrieve the min and max
	  latencies.

2008-12-20 17:38:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/: Implement URI query. Fixes bug #562949.
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesink.c: (gst_gio_base_sink_query):
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_class_init),
	  (gst_gio_base_src_query):
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_query):
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
	  (gst_gnome_vfs_src_query):
	  Implement URI query. Fixes bug #562949.

2008-12-20 12:48:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Add some debug info.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (no_more_pads_cb):
	  Add some debug info.
	  * gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
	  (gst_play_sink_reconfigure), (gst_play_sink_request_pad),
	  (gst_play_sink_release_pad):
	  Add some more debug info.
	  Reconfigure the audio chain when we switch between raw and encoded audio
	  in gapless playback.

2008-12-20 12:45:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Pause the write thread before deactivating and releasing the ringbuffer to avo...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_setcaps):
	  Pause the write thread before deactivating and releasing the ringbuffer
	  to avoid a deadlock when we do gapless playback with different sample
	  rates in playbin2.  Fixes #564929.

2008-12-19 13:03:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Make GstAudioSrcSlaveMethod get_type() function non-static as it's public now.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  Make GstAudioSrcSlaveMethod get_type() function non-static
	  as it's public now.
	  * win32/common/libgstaudio.def:
	  * win32/common/libgstnetbuffer.def:
	  Add some missing functions to the list of exported symbols.

2008-12-18 12:37:33 +0000  Andrew Feren <acferen@yahoo.com>

	  gst-libs/gst/netbuffer/gstnetbuffer.*: Make gst_netaddress_get_ip4_address fail for v6 addresses.
	  Original commit message from CVS:
	  Patch by: Andrew Feren <acferen at yahoo dot com>
	  * gst-libs/gst/netbuffer/gstnetbuffer.c:
	  (gst_netaddress_get_ip4_address), (gst_netaddress_get_ip6_address),
	  (gst_netaddress_get_address_bytes),
	  (gst_netaddress_set_address_bytes):
	  * gst-libs/gst/netbuffer/gstnetbuffer.h:
	  Make gst_netaddress_get_ip4_address fail for v6 addresses.
	  Make gst_netaddress_get_ip6_address either fail or return the v4
	  address as a transitional v6 address.
	  Add two convenience functions:
	  API: gst_netaddress_get_address_bytes()
	  API: gst_netaddress_set_address_bytes()
	  Fixes #564896.

2008-12-17 13:51:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add appsrc and appsink documentation.
	  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-libs/gst/app/gstappsink.c:
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init):
	  Add appsrc and appsink documentation.

2008-12-17 08:51:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/: Cleanup variable names to make the adder-loop easier to understand.
	  Original commit message from CVS:
	  * gst/adder/Makefile.am:
	  * gst/adder/gstadder.c:
	  Cleanup variable names to make the adder-loop easier to understand.
	  Also try to use liboil to spee it up, but ifdef it out as it does not
	  make any change for me (Intel pentim M (sse,sse2) please try on other
	  systems).

2008-12-16 20:16:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add minimal docs to make the remaining tcp elements show up.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * gst/tcp/gsttcpclientsink.c:
	  * gst/tcp/gsttcpclientsrc.c:
	  * gst/tcp/gsttcpserversrc.c:
	  Add minimal docs to make the remaining tcp elements show up.
	  Fixes #564139.

2008-12-15 12:02:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/: Fix example to unref after emiting the push-buffer action.
	  Original commit message from CVS:
	  * examples/app/appsrc-ra.c: (feed_data):
	  * examples/app/appsrc-seekable.c: (feed_data):
	  * examples/app/appsrc-stream.c: (read_data):
	  * examples/app/appsrc-stream2.c: (feed_data):
	  Fix example to unref after emiting the push-buffer action.
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_push_buffer_full), (gst_app_src_push_buffer),
	  (gst_app_src_push_buffer_action):
	  Don't take the ref on the buffer in push-buffer action because it's too
	  awkward for bindings. Fixes #564482.

2008-12-13 19:32:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/common/config.h: Update to CVS version.
	  Original commit message from CVS:
	  * win32/common/config.h:
	  Update to CVS version.
	  * win32/common/config.h.in:
	  Hardcode path to plugin install helper exe, just like we hardcode
	  the paths in core. Removes another source of VCS conflicts for
	  people hacking gst-plugins-base on systems with autotools.

2008-12-13 16:21:12 +0000  Edward Hervey <bilboed@bilboed.com>

	  m4/Makefile.am: And a couple more .m4 that don't exist anymore with gettext 0.17
	  Original commit message from CVS:
	  * m4/Makefile.am:
	  And a couple more .m4 that don't exist anymore with gettext 0.17

2008-12-13 12:41:56 +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-13 06:57:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/: API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the public API. This is needed for the C...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_slave_method_get_type),
	  (gst_base_audio_sink_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_slave_method_get_type),
	  (gst_base_audio_src_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the
	  public API. This is needed for the C++ bindings to be able
	  to use this base classes. Fixes bug #564200, #564206.

2008-12-12 19:41:28 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/cdda/gstcddabasesrc.c: Remove erroneous gst_buffer_ref().
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_handle_event):
	  Remove erroneous gst_buffer_ref().
	  * tests/check/libs/rtp.c: (GST_START_TEST):
	  Don't forget to unref the buffer once you're done with it.

2008-12-12 13:06:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/: XRef to GstXOverlay.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gstplaybin2.c:
	  XRef to GstXOverlay.

2008-12-12 10:54:45 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gsturidecodebin.c: Free the factory array when finalizing.
	  Original commit message from CVS:
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
	  Free the factory array when finalizing.
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
	  Use a GstStaticPadTemplate since the src pad caps are fixed.

2008-12-12 07:17:21 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisenc.c: Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with pad templates.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),
	  (gst_vorbis_enc_init):
	  Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with
	  pad templates.

2008-12-12 07:15:22 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Add mapping for VP6 in avi/riff.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add mapping for VP6 in avi/riff.

2008-12-11 15:49:12 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/subparse/samiparse.c: Some versions of libxml seem to be very picky as to strict formatting of the input and neve...
	  Original commit message from CVS:
	  * gst/subparse/samiparse.c: (sami_context_push_state),
	  (sami_context_pop_state), (start_sami_element), (end_sami_element):
	  Some versions of libxml seem to be very picky as to strict formatting
	  of the input and never 'close' the final </body> tag.
	  In order to fix that bad behaviour, we trigger the flushing of
	  remaining data on both </body> and </sami>.
	  Fixes #557365

2008-12-11 12:32:03 +0000  Guillaume Emont <guillaume@fluendo.com>

	  gst/typefind/gsttypefindfunctions.c: Add typefinders for MS Word files and OS X .DS_Store files to prevent them to be...
	  Original commit message from CVS:
	  Patch by: Guillaume Emont <guillaume at fluendo dot com>
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Add typefinders for MS Word files and OS X .DS_Store files to
	  prevent them to be recognized as MPEG files. Fixes bug #564098.

2008-12-11 11:04:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Add some more debug info.
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gen_audio_chain),
	  (gst_play_sink_reconfigure):
	  Add some more debug info.
	  Fix linking of just an encoded sink.
	  Handle failure to create a sink chain more gracefully than crashing.

2008-12-11 10:33:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/pipelines/theoraenc.c: Pushing 10 buffers is enough to run the test.
	  Original commit message from CVS:
	  * tests/check/pipelines/theoraenc.c: (GST_START_TEST):
	  Pushing 10 buffers is enough to run the test.

2008-12-11 10:28:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Hook up the SKIP seek flag.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (do_seek), (stop_cb),
	  (skip_toggle_cb), (rate_spinbutton_changed_cb), (msg_segment_done),
	  (main):
	  Hook up the SKIP seek flag.

2008-12-10 18:43:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Error out with a missing-plugin error when the input-selector was not found.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (pad_added_cb):
	  Error out with a missing-plugin error when the input-selector was not
	  found.
	  * gst/playback/gstplaysink.c: (gst_play_sink_reconfigure):
	  Indentation.

2008-12-10 17:39:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Use G_DEFINE_TYPE.
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gst_play_sink_class_init),
	  (gst_play_sink_dispose), (gst_play_sink_finalize), (try_element),
	  (gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_send_event), (gst_play_sink_change_state):
	  Use G_DEFINE_TYPE.
	  Try to set the selected sink to READY before using it. This will allow
	  for detection of incompatible formats sooner.
	  Don't cause a fatal error when conversion elements are missing but post
	  a missing-element message and a warning instead because things might
	  still link and run fine.
	  Simplyfy the construction of audio and video sink chains.

2008-12-10 14:55:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Use G_DEFINE_TYPE for the OggPad to get some threadsafe type init from glib.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init),
	  (gst_ogg_pad_dispose), (gst_ogg_pad_finalize):
	  Use G_DEFINE_TYPE for the OggPad to get some threadsafe type
	  init from glib.

2008-12-10 08:19:13 +0000  Luis Menina <liberforce@freeside.fr>

	  gst/: Include glib.h instead of a specific GLib header. Including single
	  Original commit message from CVS:
	  Patch by: Luis Menina <liberforce at freeside dot fr>
	  * gst-libs/gst/floatcast/floatcast.h:
	  * gst/typefind/gsttypefindfunctions.c:
	  Include glib.h instead of a specific GLib header. Including single
	  GLib headers is deprecated. Fixes bug #563904.

2008-12-09 18:30:10 +0000  Julien Moutte <julien@moutte.net>

	  gst-libs/gst/riff/riff-media.c: Support higher max audio rates for some formats (WAV, Vorbis, LPCM).
	  Original commit message from CVS:
	  2008-12-09  Julien Moutte  <julien@fluendo.com>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Support higher max audio rates for some formats (WAV, Vorbis, LPCM).

2008-12-09 17:21:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-read.c: Fix handling of odd chunks in riff metadata.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c:
	  Fix handling of odd chunks in riff metadata.

2008-12-08 18:44:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/volume/gstvolume.c: Use new basetransform vmethod to reconfigure the dynamic properties and any pending volume/mu...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (gst_volume_class_init),
	  (volume_before_transform), (volume_transform_ip):
	  Use new basetransform vmethod to reconfigure the dynamic properties and
	  any pending volume/mute changes. Fixes #563508.

2008-12-08 18:12:18 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: First check for "theoraenc theoradec" and if that failed check for "theora >= 1.0alpha5". The former ap...
	  Original commit message from CVS:
	  * configure.ac:
	  First check for "theoraenc theoradec" and if that failed check
	  for "theora >= 1.0alpha5". The former appeared in 1.0beta3 and
	  deprecate the latter. Also linking on Windows fails with just "theora"
	  and the version check would fail for the release candidates.
	  Fixes bug #563718.

2008-12-08 15:25:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/: Add basic docs to decodebin and link to decodebin from decodebin2.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstdecodebin2.c:
	  Add basic docs to decodebin and link to decodebin from decodebin2.

2008-12-08 12:08:32 +0000  Olivier Crete <tester@tester.ca>

	  gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
	  Original commit message from CVS:
	  Patch by: Olivier Crete  <tester at tester ca>
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Implement gst_rtcp_packet_remove(). Fixes #563174.
	  * tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
	  Add unit test for some RTCP functions.

2008-12-04 20:09:19 +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:47:12 +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-03 17:47:44 +0000  Edward Hervey <bilboed@bilboed.com>

	  sys/: Clear all flags on buffers returned from the image pool.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_buffer_alloc):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
	  Clear all flags on buffers returned from the image pool.
	  Fixes #563143

2008-12-01 19:36:35 +0000  이문형 <iwings@gmail.com>

	  gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w...
	  Original commit message from CVS:
	  Patch by: 이문형 <iwings at gmail dot com>
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer):
	  Don't forget to release the lock again if we bail out because some
	  pad is flushing or we've reached EOS, otherwise things will lock up
	  next time _push_buffer() is called (#562802).

2008-11-29 13:31:47 +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-28 13:30:36 +0000  Christian Schaller <uraeus@gnome.org>

	* ChangeLog:
	* gst/speexresample/Makefile.am:
	  fix build
	  Original commit message from CVS:
	  fix build

2008-11-28 09:44:12 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Update documentation of speexresample for the new element name.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * gst/speexresample/gstspeexresample.c:
	  Update documentation of speexresample for the new element name.

2008-11-28 09:04:46 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/README: Update README with the latest diff between the Speex resampler and our copy.
	  Original commit message from CVS:
	  * gst/speexresample/README:
	  Update README with the latest diff between the Speex resampler
	  and our copy.

2008-11-28 08:37:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Update the debug category from speex_resample to audioresample.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c: (plugin_init):
	  Update the debug category from speex_resample to audioresample.

2008-11-27 19:13:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Remove audioresample files.
	  Original commit message from CVS:
	  * gst/audioresample/Makefile.am:
	  * gst/audioresample/buffer.c:
	  * gst/audioresample/buffer.h:
	  * gst/audioresample/debug.c:
	  * gst/audioresample/debug.h:
	  * gst/audioresample/functable.c:
	  * gst/audioresample/functable.h:
	  * gst/audioresample/gstaudioresample.c:
	  * gst/audioresample/gstaudioresample.h:
	  * gst/audioresample/resample.c:
	  * gst/audioresample/resample.h:
	  * gst/audioresample/resample_chunk.c:
	  * gst/audioresample/resample_functable.c:
	  * gst/audioresample/resample_ref.c:
	  * tests/check/elements/audioresample.c:
	  Remove audioresample files.

2008-11-27 17:04:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  docs/plugins/inspect/plugin-audioresample.xml: Regenerated for library filename change.
	  Original commit message from CVS:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  Regenerated for library filename change.

2008-11-27 16:57:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Rename the moved speexresample to audioresample, integrate into the build system and remove the old audioresample fro...
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gio.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  * gst/speexresample/gstspeexresample.c: (plugin_init):
	  * gst/speexresample/Makefile.am:
	  * tests/check/Makefile.am:
	  * tests/check/elements/speexresample.c: (setup_speexresample),
	  (GST_START_TEST), (test_pipeline):
	  Rename the moved speexresample to audioresample, integrate into the
	  build system and remove the old audioresample from the build system.
	  Fixes bug #558124, #385061, #346218, #116051.

2008-11-27 16:47:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Avoid nasty int overflows after about 12 hours and 25 minutes when these code p...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_get_offset), (gst_base_audio_src_create):
	  Avoid nasty int overflows after about 12 hours and 25 minutes when these
	  code paths are triggered.
	  A free beer to Håvard Graff for finding this!

2008-11-27 11:16:44 +0000  이문형 <iwings@gmail.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: A successful gst_poll_wait() doesn't always mean successful connect() on
	  Original commit message from CVS:
	  Patch by: 이문형 <iwings at gmail dot com>
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect):
	  A successful gst_poll_wait() doesn't always mean successful connect() on
	  Windows.  We should check errors by calling gst_poll_fd_has_error().
	  See #561924.

2008-11-25 16:37:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/elements/speexresample.c: Make unit test again faster to prevent timeouts with valgrind.
	  Original commit message from CVS:
	  * tests/check/elements/speexresample.c: (test_pipeline):
	  Make unit test again faster to prevent timeouts with valgrind.

2008-11-25 15:33:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.c: Fix typo in the docs.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c:
	  Fix typo in the docs.

2008-11-25 15:28:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: If no stream was found before receiving EOS, post an error message.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_sink_event):
	  If no stream was found before receiving EOS, post an error message.
	  Fixes #561924.

2008-11-25 15:14:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/: Parse segment events.
	  Original commit message from CVS:
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/theoraenc.c: (gst_theora_enc_init),
	  (theora_buffer_from_packet), (theora_push_packet),
	  (theora_enc_sink_event), (theora_enc_is_discontinuous),
	  (theora_enc_chain):
	  Parse segment events.
	  Pass incomming buffer timestamps to outgoing buffers.
	  Use the running_time to construct the granulepos.
	  Fixes #562163.

2008-11-25 11:00:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Fix buffer-duration property.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (activate_group):
	  Fix buffer-duration property.

2008-11-25 10:32:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Really fix audiosink drain handling by keeping track of the running_time of th...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain), (gst_base_audio_sink_event),
	  (gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_change_state):
	  Really fix audiosink drain handling by keeping track of the running_time
	  of the last sample.

2008-11-24 20:25:24 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstplaybin2.c: Add notification of current stream. Add ability to configure buffer sizes.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c:
	  Add notification of current stream. Add ability to configure buffer
	  sizes.
	  * gst/playback/gsturidecodebin.c:
	  Add ability to configure buffer sizes for streaming mode.
	  Bug #561734.

2008-11-24 20:11:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Time is already in running_time. Remove base_time handling. Fixes audiosinks n...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  Time is already in running_time. Remove base_time handling. Fixes
	  audiosinks not draining and thus chopping some audio in the end.

2008-11-24 19:18:59 +0000  David Schleef <ds@schleef.org>

	  ext/ogg/gstoggmux.*: If we're muxing a dirac stream, flush the page after every picture.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggmux.h:
	  If we're muxing a dirac stream, flush the page after every picture.

2008-11-24 12:56:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Add one log message to check for audio_drained. Sync one log message with the ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  Add one log message to check for audio_drained. Sync one log message
	  with the condition. Send EOS after draining audio in pull mode.

2008-11-24 12:07:10 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/: Use gst_buffer_try_new_and_alloc() and fail properly if the allocation failed. This prevents abort() if downstr...
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_create):
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
	  Use gst_buffer_try_new_and_alloc() and fail properly if the
	  allocation failed. This prevents abort() if downstream elements
	  request an insane amount of memory.

2008-11-24 12:03:11 +0000  Jon Trowbridge <trow@ximian.com>

	  gst/volume/gstvolume.*: Cleanup volume, define and use default values.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (volume_update_volume), (gst_volume_set_volume),
	  (gst_volume_get_volume), (gst_volume_set_mute),
	  (gst_volume_class_init), (gst_volume_init),
	  (volume_process_double), (volume_process_float),
	  (volume_process_int32), (volume_process_int32_clamp),
	  (volume_process_int24), (volume_process_int24_clamp),
	  (volume_process_int16), (volume_process_int16_clamp),
	  (volume_process_int8), (volume_process_int8_clamp), (volume_setup),
	  (volume_transform_ip), (volume_set_property),
	  (volume_get_property):
	  * gst/volume/gstvolume.h:
	  Cleanup volume, define and use default values.
	  Recalculate new volume and mute setup before processing. Fixes #561789.
	  * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
	  Add controller unit test. Patch by: Jonathan Matthew
	  Fix bogus test that messed with basetransform's internal state.

2008-11-22 15:02:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/elements/speexresample.c: Make the unit test a bit faster to prevent timeouts, especially with valgrind.
	  Original commit message from CVS:
	  * tests/check/elements/speexresample.c: (GST_START_TEST):
	  Make the unit test a bit faster to prevent timeouts, especially
	  with valgrind.

2008-11-22 14:44:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videorate/gstvideorate.c: Add jpeg and png image media types to the caps. Fixes #561436.
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c:
	  Add jpeg and png image media types to the caps. Fixes #561436.

2008-11-22 14:31:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Don't post an error when we can't configure the volume but post a warning instead. Fixes ...
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gen_audio_chain):
	  Don't post an error when we can't configure the volume but post a
	  warning instead. Fixes #561780.

2008-11-21 20:32:56 +0000  Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>

	  gst/videotestsrc/: Add a zone plate pattern generator based on BBC R&D Report 1978/23 (yeah *that* 1978).  Try 'video...
	  Original commit message from CVS:
	  Patch by: Jonathan Rosser <jonathan.rosser@rd.bbc.co.uk>
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/videotestsrc/videotestsrc.c:
	  * gst/videotestsrc/videotestsrc.h:
	  Add a zone plate pattern generator based on BBC R&D Report
	  1978/23 (yeah *that* 1978).  Try 'videotestsrc pattern=zone-plate
	  kx2=20 ky2=20 kt=1'.

2008-11-21 15:45:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Add a "filter-length" property that maps to the quality values for compatibilty...
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_class_init), (gst_speex_resample_set_property),
	  (gst_speex_resample_get_property):
	  Add a "filter-length" property that maps to the quality values
	  for compatibilty with audioresample.

2008-11-21 00:04:48 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstdecodebin2.c: Fix random fat-fingering making this not compile.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  Fix random fat-fingering making this not compile.

2008-11-20 22:11:38 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstdecodebin2.c: If the top-level type of the stream is plain text, don't try to decode it, matching beh...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  If the top-level type of the stream is plain text, don't try to decode
	  it, matching behaviour of decodebin.
	  * gst/playback/gstplaysink.c:
	  If we fail to generate a text chain (e.g. due to missing optional
	  plugins), don't crash.

2008-11-20 22:06:05 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/rtsp/gstrtspdefs.c: Fix win32 build. Oops.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspdefs.c:
	  Fix win32 build. Oops.

2008-11-20 21:40:49 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/rtsp/gstrtspdefs.c: Use WSAGetLastError() rather than errno/h_errno on win32.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspdefs.c:
	  Use WSAGetLastError() rather than errno/h_errno on win32.

2008-11-20 21:20:27 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/riff/riff-media.c: Support WMA Lossless properly.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c:
	  Support WMA Lossless properly.

2008-11-19 00:24:44 +0000  David Schleef <ds@schleef.org>

	  gst/videotestsrc/: Add "colorspec" property, specifying whether to generate BT.601 or BT.709 video.  This only affect...
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/videotestsrc/videotestsrc.c:
	  * gst/videotestsrc/videotestsrc.h:
	  Add "colorspec" property, specifying whether to generate BT.601
	  or BT.709 video.  This only affects YCbCr values, not RGB, since
	  if you're generating a 709 test pattern, presumably you want
	  709 RGB primaries, not 601.  Also add "smpte75" pattern, which
	  uses 75% colors instead of 100%, since this is often more useful
	  for testing (and also follows the SMPTE EG-1 guideline).

2008-11-18 18:08:42 +0000  Alessandro Decina <alessandro.d@gmail.com>

	  gst/playback/gstdecodebin.c: Add a "sink-caps" property to decodebin like it's done for decodebin2.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c:
	  Add a "sink-caps" property to decodebin like it's done for decodebin2.
	  Fixes #560380.

2008-11-14 21:44:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/audioresample/gstaudioresample.c: Guard against a NULL dereference I somehow encountered - with a FLUSH_STOP arri...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  Guard against a NULL dereference I somehow encountered -
	  with a FLUSH_STOP arriving either before basetransform _start(),
	  or after _stop().
	  * gst/typefind/gsttypefindfunctions.c:
	  Make sure we never jump backwards when typefinding corrupt mov files.

2008-11-14 21:39:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/propertyprobe.c: Fix random type causing a docs warning.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  Fix random type causing a docs warning.

2008-11-14 15:40:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/v4l/gstv4l.c: Give it a minimal rank for autovideosrc.
	  Original commit message from CVS:
	  * sys/v4l/gstv4l.c:
	  Give it a minimal rank for autovideosrc.

2008-11-13 21:11:13 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst/typefind/gsttypefindfunctions.c: Improve typefinding of ISO JPEG2000 mime types.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (jp2_type_find),
	  (plugin_init):
	  Improve typefinding of ISO JPEG2000 mime types.

2008-11-13 18:18:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/xvimage/xvimagesink.*: Avoid typechecking when we do trivial casts.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize),
	  (gst_xvimagesink_xvimage_put), (gst_xvimagesink_setcaps),
	  (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
	  * sys/xvimage/xvimagesink.h:
	  Avoid typechecking when we do trivial casts.
	  Move error handling out of the main program flow.
	  Sneak in the display-region caps property, not completely correct yet.
	  Cache the width/height in buffer_alloc instead of parsing it from the
	  caps all the time.

2008-11-13 17:27:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: don't try to unlink the selector sinkpad when we don't have it yet. This can happen if an...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (deactivate_group):
	  don't try to unlink the selector sinkpad when we don't have it yet. This
	  can happen if an error occured before the group was complete.

2008-11-13 15:37:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Avoid expensive type checks we already did as part of the _validate() function that ...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
	  (gst_rtp_buffer_set_packet_len), (gst_rtp_buffer_get_packet_len),
	  (gst_rtp_buffer_get_header_len), (gst_rtp_buffer_get_version),
	  (gst_rtp_buffer_set_version), (gst_rtp_buffer_get_padding),
	  (gst_rtp_buffer_set_padding), (gst_rtp_buffer_pad_to),
	  (gst_rtp_buffer_get_extension), (gst_rtp_buffer_set_extension),
	  (gst_rtp_buffer_get_extension_data),
	  (gst_rtp_buffer_set_extension_data), (gst_rtp_buffer_get_ssrc),
	  (gst_rtp_buffer_set_ssrc), (gst_rtp_buffer_get_csrc_count),
	  (gst_rtp_buffer_get_csrc), (gst_rtp_buffer_set_csrc),
	  (gst_rtp_buffer_get_marker), (gst_rtp_buffer_set_marker),
	  (gst_rtp_buffer_get_payload_type),
	  (gst_rtp_buffer_set_payload_type), (gst_rtp_buffer_get_seq),
	  (gst_rtp_buffer_set_seq), (gst_rtp_buffer_get_timestamp),
	  (gst_rtp_buffer_set_timestamp),
	  (gst_rtp_buffer_get_payload_subbuffer),
	  (gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload):
	  Avoid expensive type checks we already did as part of the
	  _validate() function that should be called first.

2008-11-11 16:40:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Fix some cases where a newsegment event was not sent.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c: (create_segment_event),
	  (gst_base_rtp_depayload_push_full),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Fix some cases where a newsegment event was not sent.

2008-11-11 15:52:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Catch state change errors and stop from the uridecodebin elements instead of trying to co...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (activate_group):
	  Catch state change errors and stop from the uridecodebin elements
	  instead of trying to continue in vain.

2008-11-10 14:53:45 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/: Wim, you're a bad boy. You don't want people to contact you or what?
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst-libs/gst/app/gstappsrc.c:
	  * gst/h264parse/gsth264parse.c:
	  Wim, you're a bad boy. You don't want people to contact you or what?

2008-11-10 14:22:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting for the ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_callback):
	  Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting
	  for the latency to expire, fixes #559567.

2008-11-10 13:55:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/adder/gstadder.c: Change author string after seeing output of gst-inspector.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Change author string after seeing output of gst-inspector.

2008-11-10 10:33:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Don't try to do crazy things when we only have a text pad without a video pad. Fixes #559...
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gst_play_sink_reconfigure):
	  Don't try to do crazy things when we only have a text pad without a
	  video pad. Fixes #559478.

2008-11-07 17:35:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsrc.*: Add is-live property.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_init), (gst_app_src_set_property),
	  (gst_app_src_get_property), (gst_app_src_push_buffer):
	  * gst-libs/gst/app/gstappsrc.h:
	  Add is-live property.
	  Add some more docs.

2008-11-06 12:14:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: Fix case where we don't have a range for the rates or channels as is the case with tr...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Fix case where we don't have a range for the rates or channels as is the
	  case with truespeech.

2008-11-05 19:18:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/volume/gstvolume.*: Keep negotiated state in a separate variable.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_update_real_volume),
	  (gst_volume_set_volume), (gst_volume_get_volume),
	  (gst_volume_set_mute), (gst_volume_init), (volume_setup),
	  (volume_transform_ip), (volume_update_mute),
	  (volume_update_volume), (volume_get_property):
	  * gst/volume/gstvolume.h:
	  Keep negotiated state in a separate variable.
	  Protect the volume and mute properties with the object lock.
	  Protect modifying the transform with the transform lock.

2008-11-05 12:20:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Only convert caps to string when debug is enabled.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps):
	  Only convert caps to string when debug is enabled.

2008-11-04 18:17:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/: Copy seqnum.
	  Original commit message from CVS:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_init),
	  (gst_theora_dec_reset), (theora_dec_src_event),
	  (theora_dec_sink_event), (theora_handle_type_packet):
	  Copy seqnum.
	  Keep events in a pending list, like vorbisdec, instead of trying
	  to construct a segment event ourselves.
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
	  (vorbis_dec_src_event), (vorbis_dec_sink_event):
	  * ext/vorbis/vorbisdec.h:
	  Copy seqnum.

2008-11-04 17:24:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.*: Copy seqnums around to track playback segments and messages.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_deactivate_current_chain),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page),
	  (gst_ogg_demux_loop):
	  * ext/ogg/gstoggdemux.h:
	  Copy seqnums around to track playback segments and messages.

2008-11-04 12:42:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  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-11-04 12:42:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  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-11-03 15:30:14 +0000  Matthias Kretz <kretz@kde.org>

	  ext/alsa/gstalsasink.c: Make all access non-blocking so that we can better handle unplugging of usb devices. Fixes #5...
	  Original commit message from CVS:
	  Based on patch by: Matthias Kretz <kretz at kde dot org>
	  * ext/alsa/gstalsasink.c: (gst_alsasink_open),
	  (gst_alsasink_prepare), (gst_alsasink_unprepare),
	  (gst_alsasink_write):
	  Make all access non-blocking so that we can better handle unplugging
	  of usb devices. Fixes #559111

2008-11-03 10:49:24 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Make the next call to poll not depend on previous calls to poll with or withou...
	  Original commit message from CVS:
	  Patch by: Damien Lespiau  <damien.lespiau gmail com>
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_write):
	  Make the next call to poll not depend on previous calls to poll with or
	  without reading from the active descriptor. Fixes #544293.

2008-11-03 08:55:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Add TODO at the top of the file for enabling SSE/ARM specific optimizations and...
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_convert_buffer):
	  Add TODO at the top of the file for enabling SSE/ARM specific
	  optimizations and choosing the fastest implementation at runtime.
	  Add g_assert_not_reached() at two places that should really never
	  be reached.

2008-11-02 09:19:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Fix format string and arguments.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_check_discont):
	  Fix format string and arguments.
	  * gst/speexresample/resample_sse.h:
	  Add missing file.

2008-11-01 19:38:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/: Add missing headers to Makefile.am.
	  Original commit message from CVS:
	  * gst/speexresample/Makefile.am:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_base_init), (gst_speex_resample_get_funcs),
	  (gst_speex_resample_convert_buffer), (_benchmark_int_float),
	  (_benchmark_int_int), (_benchmark_integer_resampling),
	  (plugin_init):
	  * gst/speexresample/gstspeexresample.h:
	  * gst/speexresample/resample.c:
	  * gst/speexresample/speex_resampler_double.c:
	  * gst/speexresample/speex_resampler_float.c:
	  * gst/speexresample/speex_resampler_int.c:
	  * gst/speexresample/speex_resampler_wrapper.h:
	  Add missing headers to Makefile.am.
	  Update copyright, years and my mail address.
	  Benchmark the integer resampling implementation against the
	  float implementation and use the faster one for 8/16 bit integer
	  input. On most recent systems the floating point version is faster.

2008-10-31 09:49:57 +0000  Nick Haddad <nick@haddads.net>

	  gst-libs/gst/riff/: Add support for other fourcc codes that are commonly used for 'uncompressed RGB', including 'RGB ...
	  Original commit message from CVS:
	  Patch by: Nick Haddad <nick at haddads dot net>
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Add support for other fourcc codes that are commonly used for
	  'uncompressed RGB', including 'RGB ', 'RAW ', and 0.
	  Fixes #558553.

2008-10-30 14:55:43 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: The length for the buffer conversion function is the number of audio frames, i....
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_convert_buffer):
	  The length for the buffer conversion function is the number of
	  audio frames, i.e. we need to multiply it by the number of channels
	  to get the number of values. Also spotted by the unit test after
	  running in valgrind.

2008-10-30 14:46:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/elements/speexresample.c: Add pipeline unit tests for testing all supported formats with up/downsampling ...
	  Original commit message from CVS:
	  * tests/check/elements/speexresample.c: (element_message_cb),
	  (eos_message_cb), (test_pipeline), (GST_START_TEST),
	  (speexresample_suite):
	  Add pipeline unit tests for testing all supported formats with
	  up/downsampling and different in/outrates.
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_push_drain), (gst_speex_resample_process):
	  * gst/speexresample/speex_resampler_wrapper.h:
	  Fix bugs identified by the testsuite.

2008-10-30 13:44:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/: Add support for int8, int24 and int32 input by converting internally to/from int16 or double.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c: (gst_speex_resample_stop),
	  (gst_speex_resample_get_funcs),
	  (gst_speex_resample_transform_size),
	  (gst_speex_resample_convert_buffer),
	  (gst_speex_resample_push_drain), (gst_speex_resample_process):
	  * gst/speexresample/gstspeexresample.h:
	  * gst/speexresample/speex_resampler_wrapper.h:
	  Add support for int8, int24 and int32 input by converting internally
	  to/from int16 or double.

2008-10-30 12:43:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add support for double samples as input and refactor the usage of the different compilation flavors of the speex resa...
	  Original commit message from CVS:
	  * gst/speexresample/Makefile.am:
	  * gst/speexresample/arch.h:
	  * gst/speexresample/gstspeexresample.c: (gst_speex_resample_stop),
	  (gst_speex_resample_get_unit_size), (gst_speex_resample_get_funcs),
	  (gst_speex_resample_init_state), (gst_speex_resample_update_state),
	  (gst_speex_resample_reset_state), (gst_speex_resample_parse_caps),
	  (_gcd), (gst_speex_resample_transform_size),
	  (gst_speex_resample_set_caps), (gst_speex_resample_push_drain),
	  (gst_speex_resample_process), (gst_speex_resample_transform),
	  (gst_speex_resample_query), (gst_speex_resample_set_property):
	  * gst/speexresample/gstspeexresample.h:
	  * gst/speexresample/resample.c:
	  * gst/speexresample/speex_resampler.h:
	  * gst/speexresample/speex_resampler_double.c:
	  * gst/speexresample/speex_resampler_wrapper.h:
	  * tests/check/elements/speexresample.c: (setup_speexresample),
	  (test_perfect_stream_instance), (GST_START_TEST),
	  (test_discont_stream_instance):
	  Add support for double samples as input and refactor the usage
	  of the different compilation flavors of the speex resampler.

2008-10-30 11:43:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioresample/gstaudioresample.c: Return the result of parent_class->event().
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  Return the result of parent_class->event().

2008-10-29 17:02:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.c: Fix the docs.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
	  Fix the docs.

2008-10-29 12:11:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.*: Rewrite timestamp tracking to make it more robust and guarantee a continous str...
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c: (gst_speex_resample_start),
	  (gst_speex_resample_get_unit_size),
	  (gst_speex_resample_push_drain), (gst_speex_resample_event),
	  (gst_speex_resample_check_discont), (gst_speex_resample_process),
	  (gst_speex_resample_transform):
	  * gst/speexresample/gstspeexresample.h:
	  Rewrite timestamp tracking to make it more robust and guarantee
	  a continous stream.
	  * tests/check/Makefile.am:
	  * tests/check/elements/speexresample.c: (setup_speexresample),
	  (cleanup_speexresample), (fail_unless_perfect_stream),
	  (test_perfect_stream_instance), (GST_START_TEST),
	  (test_discont_stream_instance), (live_switch_alloc_only_48000),
	  (live_switch_get_sink_caps), (live_switch_push),
	  (speexresample_suite):
	  Add unit tests for speexresample based on the audioresample unit tests.

2008-10-28 19:30:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.*: Some random cleanup, add G_LIKELY and friends, use GST_DEBUG_OBJECT instead of ...
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_get_unit_size),
	  (gst_speex_resample_fixate_caps), (gst_speex_resample_init_state),
	  (gst_speex_resample_update_state), (gst_speex_resample_parse_caps),
	  (gst_speex_resample_transform_size), (gst_speex_resample_set_caps),
	  (gst_speex_resample_push_drain), (gst_speex_resample_event),
	  (gst_speex_resample_check_discont), (gst_speex_fix_output_buffer),
	  (gst_speex_resample_process), (gst_speex_resample_transform),
	  (gst_speex_resample_query), (gst_speex_resample_set_property):
	  * gst/speexresample/gstspeexresample.h:
	  Some random cleanup, add G_LIKELY and friends, use GST_DEBUG_OBJECT
	  instead of GST_DEBUG, ...

2008-10-28 16:28:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Fixate to the nearest supported rate instead of the first one.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_class_init), (gst_speex_resample_fixate_caps),
	  (gst_speex_resample_process):
	  Fixate to the nearest supported rate instead of the first one.

2008-10-28 16:25:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioresample/gstaudioresample.c: Fixate the rate to the nearest supported rate instead of the first one. Fixes b...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  (gst_audioresample_class_init), (audioresample_fixate_caps):
	  Fixate the rate to the nearest supported rate instead of
	  the first one. Fixes bug #549510.

2008-10-28 11:46:28 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/: Update Speex resampler with latest version from Speex GIT.
	  Original commit message from CVS:
	  * gst/speexresample/README:
	  * gst/speexresample/arch.h:
	  * gst/speexresample/fixed_arm4.h:
	  * gst/speexresample/fixed_arm5e.h:
	  * gst/speexresample/fixed_bfin.h:
	  * gst/speexresample/fixed_debug.h:
	  * gst/speexresample/fixed_generic.h:
	  * gst/speexresample/resample.c: (compute_func), (main), (sinc),
	  (cubic_coef), (resampler_basic_direct_single),
	  (resampler_basic_direct_double),
	  (resampler_basic_interpolate_single),
	  (resampler_basic_interpolate_double), (update_filter),
	  (speex_resampler_init_frac), (speex_resampler_process_native),
	  (speex_resampler_magic), (speex_resampler_process_float),
	  (speex_resampler_process_int),
	  (speex_resampler_process_interleaved_float),
	  (speex_resampler_process_interleaved_int),
	  (speex_resampler_set_rate_frac), (speex_resampler_skip_zeros),
	  (speex_resampler_reset_mem):
	  * gst/speexresample/speex_resampler.h:
	  Update Speex resampler with latest version from Speex GIT.

2008-10-27 14:57:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  win32/common/libgstaudio.def: Add new symbols.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  Add new symbols.

2008-10-23 09:57:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Attempt to make obfuscated code clearer.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
	  Attempt to make obfuscated code clearer.

2008-10-23 07:11:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Move float endianness conversion macros to core. Second part of bug ##555196.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/floatcast/floatcast.h:
	  Move float endianness conversion macros to core. Second part of
	  bug ##555196.

2008-10-22 12:29:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/: Don't mark as gtk-doc docs as they aren't public.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.h:
	  * sys/xvimage/xvimagesink.h:
	  Don't mark as gtk-doc docs as they aren't public.

2008-10-22 12:25:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Allow setting colorkey if possible. Implement property probe interface for optional X features (autopaint-colorkey, d...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  * sys/xvimage/xvimagesink.h:
	  * tests/icles/Makefile.am:
	  * tests/icles/test-colorkey.c:
	  Allow setting colorkey if possible. Implement property probe interface
	  for optional X features (autopaint-colorkey, double-buffer and
	  colorkey). Fixes #554533

2008-10-22 12:01:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/tag/tags.c: Remove useless buffer size assignment. It already has this value.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
	  Remove useless buffer size assignment. It already has this value.

2008-10-20 15:35:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Implement a separate activate functions to start monitoring the segments or, in pu...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c:
	  (gst_audioringbuffer_class_init), (gst_audioringbuffer_acquire),
	  (gst_audioringbuffer_activate), (gst_audioringbuffer_release),
	  (gst_audioringbuffer_stop):
	  Implement a separate activate functions to start monitoring the segments
	  or, in pull mode, pulling in data.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_init), (gst_base_audio_sink_dispose),
	  (gst_base_audio_sink_query_pad), (gst_base_audio_sink_query),
	  (gst_base_audio_sink_setcaps), (gst_base_audio_sink_callback),
	  (gst_base_audio_sink_activate_pull),
	  (gst_base_audio_sink_async_play),
	  (gst_base_audio_sink_change_state):
	  Implement pad and element convert query function.
	  Activate the ringbuffer.
	  Use the segment last_stop value as the offset to pull.
	  Use new basesink _do_preroll() method to preroll in the pulling thread.
	  Take appropriate locking in the pulling thread.
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Update some docs.

2008-10-20 14:08:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Improve MXF typefinding a bit by searching for a header partition pack instead o...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mxf_type_find):
	  Improve MXF typefinding a bit by searching for a header partition
	  pack instead of just a general partition pack and checking more
	  bytes for valid values.

2008-10-20 13:45:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/icles/.cvsignore: update ignore file.
	  Original commit message from CVS:
	  * tests/icles/.cvsignore:
	  update ignore file.
	  * tests/icles/Makefile.am:
	  * tests/icles/test-box.c: (make_pipeline), (main):
	  Add another interactive command line experimentation suite for
	  dynamically boxing/cropping/saling an input video.

2008-10-17 13:19:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add methods to more accuratly control the pulling thread of a ringbuffer.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_convert),
	  (gst_ring_buffer_activate), (gst_ring_buffer_is_active):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Add methods to more accuratly control the pulling thread of a
	  ringbuffer.
	  Add format conversion helper code to the ringbuffer.
	  API: GstRingBuffer:gst_ring_buffer_activate()
	  API: GstRingBuffer:gst_ring_buffer_is_active()
	  API: GstRingBuffer:gst_ring_buffer_convert()

2008-10-16 15:44:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Signal thread startup earlier so that we can immediatly go into pull mode when we ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
	  (gst_audioringbuffer_acquire), (gst_audioringbuffer_release),
	  (gst_audioringbuffer_stop):
	  Signal thread startup earlier so that we can immediatly go into pull
	  mode when we have to and block on preroll.

2008-10-16 15:38:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: In pull mode we want the callback to prepull a buffer we can preroll on even when...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_prepare_read):
	  In pull mode we want the callback to prepull a buffer we can preroll on
	  even when we are not yet playing.

2008-10-16 15:07:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Don't install static libs for plugins. Fixes #550851 for base.
	  Original commit message from CVS:
	  * ext/alsa/Makefile.am:
	  * ext/cdparanoia/Makefile.am:
	  * ext/gio/Makefile.am:
	  * ext/gnomevfs/Makefile.am:
	  * ext/libvisual/Makefile.am:
	  * ext/ogg/Makefile.am:
	  * ext/pango/Makefile.am:
	  * ext/theora/Makefile.am:
	  * ext/vorbis/Makefile.am:
	  * gst/adder/Makefile.am:
	  * gst/audioconvert/Makefile.am:
	  * gst/audiorate/Makefile.am:
	  * gst/audioresample/Makefile.am:
	  * gst/audiotestsrc/Makefile.am:
	  * gst/ffmpegcolorspace/Makefile.am:
	  * gst/gdp/Makefile.am:
	  * gst/playback/Makefile.am:
	  * gst/subparse/Makefile.am:
	  * gst/tcp/Makefile.am:
	  * gst/typefind/Makefile.am:
	  * gst/videorate/Makefile.am:
	  * gst/videoscale/Makefile.am:
	  * gst/videotestsrc/Makefile.am:
	  * gst/volume/Makefile.am:
	  * sys/v4l/Makefile.am:
	  * sys/ximage/Makefile.am:
	  * sys/xvimage/Makefile.am:
	  Don't install static libs for plugins. Fixes #550851 for base.

2008-10-16 13:50:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiotestsrc/gstaudiotestsrc.c: Set the default blocksize to -1 because we will then use the configured samplespe...
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init):
	  Set the default blocksize to -1 because we will then use the configured
	  samplesperbuffer to create our output buffer.

2008-10-15 15:28:41 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Add mappping for the KMVC (Karl Morton's Video) Codec.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add mappping for the KMVC (Karl Morton's Video) Codec.

2008-10-15 14:25:50 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Don't forget to advance the offset of what we're matching against, else we end u...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (flac_type_find):
	  Don't forget to advance the offset of what we're matching against, else
	  we end up in a forever loop.

2008-10-15 11:25:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/subparse/gstsubparse.c: Improve typefinding a bit. If we don't have a Unicode charset try GST_SUBTITLE_ENCODING a...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (gst_subparse_type_find):
	  Improve typefinding a bit. If we don't have a Unicode charset
	  try GST_SUBTITLE_ENCODING and otherwise try ISO-8859-15.

2008-10-14 11:13:59 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/theora/theoradec.c: Fix build on macosx.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_decode_buffer):
	  Fix build on macosx.

2008-10-13 11:36:13 +0000  Robin Stocker <robin@nibor.org>

	  ext/theora/: Parse input caps and make the PAR override the encoded PAR when specified by a container. Fixes #555699.
	  Original commit message from CVS:
	  Based on patch by: Robin Stocker <robin at nibor dot org>
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_init),
	  (theora_dec_setcaps), (theora_handle_type_packet),
	  (theora_dec_decode_buffer), (theora_dec_change_state):
	  Parse input caps and make the PAR override the encoded PAR when
	  specified by a container. Fixes #555699.

2008-10-13 09:16:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Add some more G_LIKELY
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_change_state):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Add some more G_LIKELY
	  Fail when the setcaps function was not called.
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_set_outcaps):
	  Propagate return value of setcaps.

2008-10-13 08:58:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/subparse/: Add support for UTF16/UTF32 subtitles as long as the first bytes of the first buffer contain the BOM. ...
	  Original commit message from CVS:
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (gst_sub_parse_class_init), (gst_sub_parse_init),
	  (gst_convert_to_utf8), (detect_encoding), (convert_encoding),
	  (get_next_line), (gst_sub_parse_data_format_autodetect),
	  (feed_textbuf), (handle_buffer), (gst_sub_parse_change_state),
	  (gst_subparse_type_find):
	  * gst/subparse/gstsubparse.h:
	  Add support for UTF16/UTF32 subtitles as long as the first bytes of
	  the first buffer contain the BOM. This also adds support for other
	  encodings that allow NUL bytes via the encoding property.
	  Fixes bugs #552237 and #456788.

2008-10-13 08:15:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/tag/tags.c: Don't drop the last byte of image tags if they're not an URI list.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
	  Don't drop the last byte of image tags if they're not an URI list.
	  Fixes bug #556066.

2008-10-13 08:00:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: For looking at the 4th byte we have to get 4 bytes of course and not 3.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (flac_type_find):
	  For looking at the 4th byte we have to get 4 bytes of course
	  and not 3.

2008-10-13 07:52:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Improve FLAC-without-headers typefinding by looking at most of the frame header ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (flac_type_find):
	  Improve FLAC-without-headers typefinding by looking at most of the
	  frame header and checking if invalid values are used. Should prevent
	  quite some false positives compared to the old version which only
	  check if the first 14 bits are set.

2008-10-11 16:27:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Don't assert on caps==NULL.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Don't assert on caps==NULL.

2008-10-10 17:13:40 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add support for subtitle files with UTF-8 BOM at the beginning by simple stripping it from the first line before pass...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect), (handle_buffer),
	  (gst_sub_parse_change_state):
	  * gst/subparse/gstsubparse.h:
	  * tests/check/elements/subparse.c: (GST_START_TEST):
	  Add support for subtitle files with UTF-8 BOM at the beginning
	  by simple stripping it from the first line before passing it
	  to any parsing code. Fixes bug #555257 and playback of files
	  created by Gnome Subtitles.

2008-10-10 15:45:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiotestsrc/gstaudiotestsrc.*: Define the default property values in the usual place.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_class_init), (gst_audio_test_src_init),
	  (gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps),
	  (gst_audio_test_src_start), (gst_audio_test_src_stop),
	  (gst_audio_test_src_do_seek), (gst_audio_test_src_check_get_range),
	  (gst_audio_test_src_create):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Define the default property values in the usual place.
	  Implement start/stop to reset values correctly.
	  Calculate the sample size only once when we negotiate.
	  Rename some values to make more sense.
	  Keep track of our byte range.
	  Add support for pull based scheduling. Disabled for now until we have
	  the whole stack working.
	  Set the BUFFER_OFFSET correctly.

2008-10-10 15:32:10 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Make the detection of the used subtitle a bit less strict for srt subtitles. Fixes bug #555607.
	  Original commit message from CVS:
	  Based on a patch by: xavierb at gmail dot com
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect):
	  * tests/check/elements/subparse.c: (GST_START_TEST):
	  Make the detection of the used subtitle a bit less strict
	  for srt subtitles. Fixes bug #555607.

2008-10-10 15:21:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/vorbis/vorbisenc.c: Fix discontinuity detection which was broken by last commit.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c:
	  (gst_vorbis_enc_buffer_check_discontinuous):
	  Fix discontinuity detection which was broken by last commit.

2008-10-09 11:18:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Require core CVS for ghostpad API additions used by decodebin2.
	  Original commit message from CVS:
	  * configure.ac::
	  Require core CVS for ghostpad API additions used by decodebin2.

2008-10-08 15:30:33 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Fix debug statements (space between '%' and actual format).
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Fix debug statements (space between '%' and actual format).

2008-10-08 14:44:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Remove bogus assert, the decodepad could have been created inside an already existing g...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_pad_activate):
	  Remove bogus assert, the decodepad could have been created inside an
	  already existing group.

2008-10-08 14:01:42 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	  changelog
	  Original commit message from CVS:
	  changelog

2008-10-08 14:00:07 +0000  Andy Wingo <wingo@pobox.com>

	  gst/playback/gstdecodebin2.c (expose_pad): Fix typo: unset target instead of setting it.
	  Original commit message from CVS:
	  2008-10-08  Andy Wingo  <wingo@pobox.com>
	  * gst/playback/gstdecodebin2.c (expose_pad): Fix typo: unset
	  target instead of setting it.
	  (gst_decode_pad_activate, gst_decode_pad_unblock): This is now the
	  API for a decode pad. The bugfix is that we set the group in
	  activate(), not when the pad was created because it might be NULL
	  then.
	  (gst_decode_group_control_source_pad, gst_decode_group_expose):
	  Update to use the API.

2008-10-08 12:49:40 +0000  Andy Wingo <wingo@pobox.com>

	  gst/playback/gstdecodebin2.c (struct _GstDecodePad): Change to be a subclass of GstGhostPad.
	  Original commit message from CVS:
	  2008-10-08  Andy Wingo  <wingo@pobox.com>
	  * gst/playback/gstdecodebin2.c (struct _GstDecodePad): Change to
	  be a subclass of GstGhostPad.
	  (analyze_new_pad): So, when emitting the signals that determine
	  how we do autoplugging, already create the ghost pad and use it as
	  the pad in the signal arguments. This allows applications to make
	  a connection between the pad passed in e.g. autoplug-continue, and
	  the pad passed in new-decoded-pad.
	  (connect_pad, expose_pad): Update to receive the ghosted decode
	  pad in the args, retargetting it as necessary if we have to plug
	  the target pad through a multiqueue.
	  (gst_decode_group_control_source_pad): Adapt to receive an
	  already-ghosted pad that just needs activation, blocking, and
	  drain notification.
	  (sort_end_pads): Adapt for decode pads actually being pads.
	  (gst_decode_group_expose): Adapt for decode pads actually being
	  pads. Rewrite the decode pad names so they appear in order. Adds a
	  new error case if we couldn't set the name.
	  (gst_decode_group_free, gst_decode_group_hide): Adapt cleanup
	  logic.
	  (gst_decode_pad_set_blocked, gst_decode_pad_add_drained_check):
	  New API for the decode pad, needed because we shouldn't do these
	  things inside gst_decode_pad_new(), but after.
	  (gst_decode_pad_new): Change to actually make the real pad, and
	  delay the blocking/drainage bits.

2008-10-08 12:12:01 +0000  Daniel Drake <dsd@laptop.org>

	  ext/ogg/gstoggmux.c: Unref all buffers when clearing collectpads. Fixes bug #546955.
	  Original commit message from CVS:
	  Patch by: Daniel Drake <dsd at laptop dot org>
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear_collectpads):
	  Unref all buffers when clearing collectpads. Fixes bug #546955.

2008-10-08 12:08:01 +0000  Klaas <klaas@rivercrew.net>

	  ext/vorbis/vorbisenc.*: Keep track of the upstream segments and use the running time on that segment instead of the b...
	  Original commit message from CVS:
	  Based on a patch by: Klaas <klaas at rivercrew dot net>
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_sink_event),
	  (gst_vorbis_enc_buffer_check_discontinuous),
	  (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
	  * ext/vorbis/vorbisenc.h:
	  Keep track of the upstream segments and use the running time on that
	  segment instead of the buffer timestamp everywhere. Fixes bug #525807.

2008-10-08 11:50:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/audioconvert.c: Prevent overflows with big buffer when calculating the size of the intermediate buff...
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (audio_convert_convert):
	  Prevent overflows with big buffer when calculating the size of
	  the intermediate buffer by using gst_util_uint64_scale() instead of
	  plain arithmetics. Fixes bug #552801.

2008-10-08 10:49:15 +0000  Pavel Zeldin <pzeldin@gmail.com>

	  ext/pango/gstclockoverlay.*: API: Add ability to specify format for date/time display by adding a "time-format" prope...
	  Original commit message from CVS:
	  Patch by: Pavel Zeldin <pzeldin at gmail dot com>
	  * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time),
	  (gst_clock_overlay_class_init), (gst_clock_overlay_finalize),
	  (gst_clock_overlay_init), (gst_clock_overlay_set_property),
	  (gst_clock_overlay_get_property):
	  * ext/pango/gstclockoverlay.h:
	  API: Add ability to specify format for date/time display by
	  adding a "time-format" property.
	  Fixes bug #554879.

2008-10-08 09:22:26 +0000  Jan Gerber <j@oil21.org>

	  gst-libs/gst/riff/riff-media.c: Add FFV1 fourcc to support playback of FFMPEG lossless video in AVI. Fixes bug #555319.
	  Original commit message from CVS:
	  Patch by: Jan Gerber <j at oil21 dot org>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add FFV1 fourcc to support playback of FFMPEG lossless video
	  in AVI. Fixes bug #555319.

2008-10-08 09:12:36 +0000  Håvard Graff <havard.graff@tandberg.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Implement skew clock slaving. Fixes #552559.
	  Original commit message from CVS:
	  Patch by: Håvard Graff <havard dot graff at tandberg dot com>
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Implement skew clock slaving. Fixes #552559.

2008-10-08 09:10:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/: Fix include of config.h
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  * gst-libs/gst/audio/testchannels.c:
	  Fix include of config.h

2008-10-06 16:36:20 +0000  Tero Saarni <tero.saarni@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.c: Fix parsing of the c= field containing multicast addresses.
	  Original commit message from CVS:
	  Based on Patch by: Tero Saarni <tero dot saarni at gmail dot com>
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_parse_line),
	  (print_media), (gst_sdp_message_dump):
	  Fix parsing of the c= field containing multicast addresses.
	  Fixes #552199.
	  Add the connection info to the session or streams.
	  Fix parsing of the bandwidth.
	  Add debugging for the connections and bandwidths for a media.
	  Add debugging for the bandwidth of the session.

2008-10-06 16:31:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Configure the next seqnum and timestamp in the state change so that they can be...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_change_state):
	  Configure the next seqnum and timestamp in the state change so that they
	  can be queried soon after.

2008-10-06 16:29:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Improve debugging of the rtptime.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain):
	  Improve debugging of the rtptime.

2008-10-05 11:33:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to development -> 0.10.21.1
	  Original commit message from CVS:
	  * configure.ac:
	  Back to development -> 0.10.21.1

2008-10-05 08:18:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	  ChangeLog surgery
	  Original commit message from CVS:
	  ChangeLog surgery

2008-10-05 08:11:53 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for MXF.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mxf_type_find),
	  (plugin_init):
	  Add typefinder for MXF.

2008-10-05 08:10:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for MXF.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mxf_type_find),
	  (plugin_init):
	  Add typefinder for MXF.

2008-10-03 15:19:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/icles/Makefile.am: Only build test-colorkey if GTK+ is available.
	  Original commit message from CVS:
	  * tests/icles/Makefile.am:
	  Only build test-colorkey if GTK+ is available.

=== release 0.10.21 ===

2008-10-03 00:03:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/config.h:
	  Release 0.10.21
	  Original commit message from CVS:
	  Release 0.10.21

2008-10-02 23:44:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* 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/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-09-28 22:58:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.20.4 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.20.4 pre-release

2008-09-25 10:46:00 +0000  ogg.k.ogg.k <ogg.k.ogg.k@googlemail.com>

	  ext/theora/theoraparse.c: Set the BOS flag on the BOS packet. Fixes #553244.
	  Original commit message from CVS:
	  Patch by: ogg.k.ogg.k <ogg dot k dot ogg dot k at googlemail dot com>
	  * ext/theora/theoraparse.c: (theora_parse_set_streamheader):
	  Set the BOS flag on the BOS packet. Fixes #553244.

2008-09-23 17:48:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspmessage.c: Fix the g_return_val_if_fail() statements.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspmessage.c:
	  (gst_rtsp_message_parse_request),
	  (gst_rtsp_message_parse_response):
	  Fix the g_return_val_if_fail() statements.

2008-09-22 17:44:14 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/tag/gsttagdemux.c: Fail to activate if there's insufficient data in the file to be usable, preventing an...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c:
	  Fail to activate if there's insufficient data in the file to be usable,
	  preventing an assertion fail later. Fixes #552960

2008-09-16 15:36:56 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Commit stuff that should have gone in last week when I made the pre-releases:
	  Original commit message from CVS:
	  Commit stuff that should have gone in last week when I made the pre-releases:
	  2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
	  * configure.ac:
	  0.10.20.2 pre-release
	  * po/LINGUAS:
	  * po/id.po:
	  * po/pt_BR.po:
	  New translations.

2008-09-15 15:11:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Recognise Kate subtitle streams (#550582).
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c:
	  * gst/typefind/gsttypefindfunctions.c:
	  Recognise Kate subtitle streams (#550582).

2008-09-13 11:04:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/audio.h: Remove trailing comma from enum list, which causes problems with -pendantic (#550729).
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.h: (GST_AUDIO_FIELD_SIGNED):
	  Remove trailing comma from enum list, which causes problems
	  with -pendantic (#550729).

2008-09-05 19:04:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/propertyprobe.c: More sanity checks for our second-favourite interface.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  (gst_property_probe_get_properties),
	  (gst_property_probe_get_property),
	  (gst_property_probe_probe_property),
	  (gst_property_probe_probe_property_name),
	  (gst_property_probe_needs_probe),
	  (gst_property_probe_needs_probe_name),
	  (gst_property_probe_get_values),
	  (gst_property_probe_get_values_name),
	  (gst_property_probe_probe_and_get_values),
	  (gst_property_probe_probe_and_get_values_name):
	  More sanity checks for our second-favourite interface.

2008-09-05 14:12:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/interfaces/propertyprobe.c: Check for NULL pointer, in the hope that this fixes #532864.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  Check for NULL pointer, in the hope that this fixes #532864.

2008-09-05 10:24:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/xvimage/xvimagesink.c: No really, the next release is 0.10.21 (fix Since: tags in docs).
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
	  No really, the next release is 0.10.21 (fix Since: tags in docs).

2008-09-04 16:25:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosrc.c: Disable a code path that is now called but causes a deadlock for some reason and is...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_stop):
	  Disable a code path that is now called but causes a deadlock for some
	  reason and is unneeded.

2008-09-04 13:46:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.*: Add a "draw-border" property that can be set to false to disable drawing borders.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  * sys/xvimage/xvimagesink.h:
	  Add a "draw-border" property that can be set to false to disable
	  drawing borders.
	  * tests/icles/test-colorkey.c:
	  * tests/icles/Makefile.am:
	  Add new test application for the colorkey handling.

2008-09-03 14:00:06 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Use a decent caps for TrueSpeech instead of a ffmpeg-specific one.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Use a decent caps for TrueSpeech instead of a ffmpeg-specific one.
	  This will also be fixed for upcoming gst-ffmpeg release so that once
	  this release of -base is out, it will work with the latest gst-ffmpeg
	  release.

2008-09-03 13:27:20 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Add Truespeech mapping for RIFF formats (AVI/WAV).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Add Truespeech mapping for RIFF formats (AVI/WAV).
	  Fixes #550656

2008-09-03 12:23:44 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst/typefind/gsttypefindfunctions.c: Typefind video/mj2 and image/jp2 ISO JPEG2000 mime types.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Typefind video/mj2 and image/jp2 ISO JPEG2000 mime types.
	  Fixes #550638.

2008-09-03 10:12:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Rework last change, so that we build subparse, but just disable the sami parse functionality, if we're configured to ...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstsubparse.c:
	  * gst/subparse/samiparse.c:
	  * tests/check/elements/subparse.c:
	  Rework last change, so that we build subparse, but just disable the
	  sami parse functionality, if we're configured to not use xml. In the
	  tests only the sami test is disabled now.

2008-09-02 15:07:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Disable subparse when xml is disabled. It woundn't work anyway. Fixes test runs.
	  Original commit message from CVS:
	  * configure.ac:
	  Disable subparse when xml is disabled. It woundn't work anyway. Fixes
	  test runs.

2008-09-02 09:33:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/POTFILES.in: Add some more files with strings for translation.
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  Add some more files with strings for translation.

2008-09-02 06:37:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Use new geo location tags from core. Fixes #481169
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  * tests/check/libs/tag.c:
	  Use new geo location tags from core. Fixes #481169

2008-09-01 16:05:45 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/elements/audioresample.c: Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
	  Original commit message from CVS:
	  * tests/check/elements/audioresample.c: (setup_audioresample),
	  (fail_unless_perfect_stream), (test_perfect_stream_instance),
	  (test_discont_stream_instance):
	  Now that GstBaseTransform is 'fixed' ... remove cruft from tests.
	  Add debugging for coherence.

2008-08-30 15:55:06 +0000  Jonathan Matthew <notverysmart@gmail.com>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for PDF documents (which is nice to have, since it's a common for...
	  Original commit message from CVS:
	  Patch by: Jonathan Matthew  <notverysmart gmail com>
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Add typefinder for PDF documents (which is nice to have, since it's a
	  common format, but also helps prevent false positives). Fixes #549814.

2008-08-27 15:30:16 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Fix nasty race where multiple decodebins could start pushing data before we manage to con...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (selector_blocked), (pad_added_cb),
	  (no_more_pads_cb):
	  Fix nasty race where multiple decodebins could start pushing data before
	  we manage to configure the sinks, resulting in not-linked errors in
	  typical RTSP streaming cases.

2008-08-26 17:24:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Since we now call stop, we trigger this code path that causes a deadlock is appare...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_stop):
	  Since we now call stop, we trigger this code path that causes a deadlock
	  is apparently not needed.

2008-08-26 15:45:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Also allow the case where the ringbuffer was paused when we try to stop it so tha...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start),
	  (gst_ring_buffer_stop):
	  Also allow the case where the ringbuffer was paused when we try to stop
	  it so that the basesrc stop function is still called.

2008-08-23 15:25:44 +0000  Mike Ruprecht <cmaiku@gmail.com>

	  sys/v4l/gstv4lelement.c: Reprobe devices again instead of taking a cached list as new devices could've been plugged i...
	  Original commit message from CVS:
	  Patch by: Mike Ruprecht <cmaiku at gmail dot com>
	  * sys/v4l/gstv4lelement.c: (gst_v4l_class_probe_devices):
	  Reprobe devices again instead of taking a cached list as new
	  devices could've been plugged in. Fixes bug #549062.

2008-08-23 15:19:59 +0000  Alessandro Dessina <alessandro@nnva.org>

	  ext/ogg/gstoggdemux.c: Don't add pads and activate them for skeleton streams. These are already handled inside oggdem...
	  Original commit message from CVS:
	  Patch by: Alessandro Dessina <alessandro nnva org>
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain),
	  (gst_ogg_demux_activate_chain):
	  Don't add pads and activate them for skeleton streams. These are already
	  handled inside oggdemux. Fixes bug #537599.

2008-08-22 15:54:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Reset variable so that query and convert fail after going back to
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state):
	  Reset variable so that query and convert fail after going back to
	  READY. Fixes #548898.

2008-08-22 07:24:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/vorbis/vorbisenc.c: If a buffer arrives with a timestamp before the timestamp+duration of the previous buffer cli...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
	  If a buffer arrives with a timestamp before the timestamp+duration
	  of the previous buffer clip it instead of dropping it completely.
	  Slight improvement for the unfixable bug #548913.

2008-08-21 14:19:21 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/vorbis/vorbisdec.c: Take the current timestamp instead of timestamp+duration for the offset.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  Take the current timestamp instead of timestamp+duration for the offset.
	  This offset will later be used for calculating the timestamp and
	  otherwise vorbisdec will interpolate timestamps wrong if upstream
	  only sends timestamps and no granulepos.

2008-08-21 11:20:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Don't crash when having no visualisations.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c:
	  Don't crash when having no visualisations.

2008-08-16 20:57:27 +0000  David Schleef <ds@schleef.org>

	  gst/typefind/gsttypefindfunctions.c: DV typefinding.  Remove check for a bit that is 0 in IEC 61384, but not SMPTE 314M.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: DV typefinding.  Remove
	  check for a bit that is 0 in IEC 61384, but not SMPTE 314M.
	  Fixes #548065.

2008-08-15 07:24:38 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/pbutils/missing-plugins.c: When cleaning up the caps fields also remove "depth" for the same reason we r...
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
	  When cleaning up the caps fields also remove "depth" for the same
	  reason we remove "width".

2008-08-14 17:14:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/descriptions.c: Add Lead H.264 here as well.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (format_info_get_desc):
	  Add Lead H.264 here as well.

2008-08-14 15:17:31 +0000  Julien Moutte <julien@moutte.net>

	  gst-libs/gst/riff/riff-media.c: Add Lead H.264 variant.
	  Original commit message from CVS:
	  2008-08-14  Julien Moutte  <julien@fluendo.com>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps): Add Lead H.264 variant.

2008-08-13 09:17:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: When not slaved to another clock also subtract the base_time from our internal ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  When not slaved to another clock also subtract the base_time from our
	  internal clock time to get the running time.

2008-08-13 00:59:07 +0000  David Schleef <ds@schleef.org>

	  ext/theora/theoraenc.c: Remove the 2000 kbit limit to bitrate, since it has no basis in libtheora.
	  Original commit message from CVS:
	  * ext/theora/theoraenc.c: Remove the 2000 kbit limit to bitrate,
	  since it has no basis in libtheora.

2008-08-12 06:31:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/interfaces/propertyprobe.h: Remove double "interface" from doc-string.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/propertyprobe.h:
	  Remove double "interface" from doc-string.
	  * gst-libs/gst/interfaces/xoverlay.h:
	  Document interface.
	  * gst-libs/gst/riff/riff.c:
	  Add basic doc blobs.

2008-08-11 15:05:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/Makefile.am: Don't try to build that example anymore.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  Don't try to build that example anymore.

2008-08-11 14:51:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/: Move audiofiltertemplate to gst-template.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/.cvsignore:
	  * gst-libs/gst/audio/Makefile.am:
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  * gst-libs/gst/audio/make_filter:
	  Move audiofiltertemplate to gst-template.

2008-08-11 09:20:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  More docs and shuffling. What can we do with the hundreds of #defines.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstaudiosrc.h:
	  More docs and shuffling. What can we do with the hundreds of #defines.

2008-08-11 08:34:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/: Reducing number of dundocumented symbols.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.h:
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  * gst-libs/gst/audio/gstringbuffer.h:
	  * gst-libs/gst/interfaces/propertyprobe.h:
	  * gst-libs/gst/tag/gsttagdemux.h:
	  Reducing number of dundocumented symbols.

2008-08-11 07:16:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/audio.c: Fix doc comment syntax.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.c:
	  Fix doc comment syntax.
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  Add more doc-comments and a FIXME: for the signal.

2008-08-07 16:11:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/ogg/gstoggmux.*: Don't pretend to support NEWSEGMENT events, instead override the
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_sink_event),
	  (gst_ogg_mux_request_new_pad):
	  * ext/ogg/gstoggmux.h:
	  Don't pretend to support NEWSEGMENT events, instead override the
	  GstCollectPads event function to return FALSE on NEWSEGMENT events
	  and do the normal work for other events.
	  This prevents elements like flacenc to seek to the start and rewrite
	  some data which then results in a broken Ogg packet.

2008-08-07 15:58:58 +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/alsa/gstalsaplugin.c: (plugin_init):
	  * ext/cdparanoia/gstcdparanoiasrc.c: (plugin_init):
	  * ext/gnomevfs/gstgnomevfs.c: (plugin_init):
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init):
	  * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init):
	  * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal):
	  * gst/playback/gstdecodebin.c: (plugin_init):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_plugin_init):
	  * gst/playback/gstplayback.c: (plugin_init):
	  * gst/playback/gstqueue2.c: (plugin_init):
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_plugin_init):
	  * sys/v4l/gstv4l.c: (plugin_init):
	  Make sure gettext returns translations in UTF-8 encoding rather
	  than in the current locale encoding (#546822).

2008-08-06 13:12:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/pbutils/descriptions.c: Add audio/x-qdm for qtdemux.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c:
	  Add audio/x-qdm for qtdemux.

2008-08-05 15:38:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/vorbis/vorbisdec.c: Do not leak old taglist.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c:
	  Do not leak old taglist.

2008-08-04 12:35:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/icles/test-scale.c: Include <stdlib.h> for atoi().
	  Original commit message from CVS:
	  * tests/icles/test-scale.c:
	  Include <stdlib.h> for atoi().

2008-08-04 09:11:08 +0000  Andy Wingo <wingo@pobox.com>

	  gst/audiotestsrc/gstaudiotestsrc.c: Very crucial and important documentation fix.
	  Original commit message from CVS:
	  2008-08-04  Andy Wingo  <wingo@pobox.com>
	  * gst/audiotestsrc/gstaudiotestsrc.c: Very crucial and important
	  documentation fix.

2008-08-01 13:06:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/gstadder.c: Cleanup lots of empty lines that came from gst-indent going havoc before I added the INDENT_ON/...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Cleanup lots of empty lines that came from gst-indent going havoc
	  before I added the INDENT_ON/OFF marker some time agao.

2008-08-01 11:55:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Bump requirement to latest core and use new tag for riff formats.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/riff/riff-read.c:
	  Bump requirement to latest core and use new tag for riff formats.
	  Needed for #520694.

2008-08-01 11:14:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/dynamic/: Add example app that dynamically switches between 3 'encoders'.
	  Original commit message from CVS:
	  * tests/examples/dynamic/Makefile.am:
	  * tests/examples/dynamic/codec-select.c: (make_encoder),
	  (make_pipeline), (do_switch), (my_bus_callback), (main):
	  Add example app that dynamically switches between 3 'encoders'.

2008-07-31 13:06:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Add some more comments.
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gst_play_sink_set_vis_plugin):
	  Add some more comments.

2008-07-31 12:58:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videotestsrc/gstvideotestsrc.c: Discard buffers of the wrong size after renegotiation, this is perfectly possible...
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_getcaps),
	  (gst_video_test_src_create):
	  Discard buffers of the wrong size after renegotiation, this is perfectly
	  possible with things like capsfilter that could suggest caps changes
	  upstream without knowing the size of the buffer.

2008-07-31 11:39:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/icles/: Add dynamic rescaling tests for the new basetransform.
	  Original commit message from CVS:
	  * tests/icles/.cvsignore:
	  * tests/icles/Makefile.am:
	  * tests/icles/test-scale.c: (make_pipeline), (main):
	  Add dynamic rescaling tests for the new basetransform.

2008-07-30 19:51:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/Makefile.am: Dist recently-added gstfastrandom.h.
	  Original commit message from CVS:
	  * gst/audioconvert/Makefile.am:
	  Dist recently-added gstfastrandom.h.

2008-07-30 15:29:44 +0000  Edward Hervey <bilboed@bilboed.com>

	  sys/xvimage/xvimagesink.c: Fix a "may be used uninitialized in this function" which weirdly only appears on macosx (?).
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
	  Fix a "may be used uninitialized in this function" which weirdly only
	  appears on macosx (?).

2008-07-30 09:02:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-ids.h: Adding acid chunk for tempo and loop information.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  Adding acid chunk for tempo and loop information.

2008-07-29 13:01:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/Makefile.am: floor() needs linking to $(LIBM).
	  Original commit message from CVS:
	  * sys/xvimage/Makefile.am:
	  floor() needs linking to $(LIBM).

2008-07-29 12:35:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Aggregate short reads and add some comments and debug logging.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Aggregate short reads and add some comments and debug logging.
	  Fixes #537380

2008-07-29 10:26:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstplaybasebin.c: Fix property doc markup (its not a signal).
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  Fix property doc markup (its not a signal).
	  * sys/xvimage/xvimagesink.c:
	  Add since tag for new proeprties (also add sice tags fro the last two
	  other additions).

2008-07-29 08:59:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.*: Add autofill/colorkey properties. Fixes #538656.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  * sys/xvimage/xvimagesink.h:
	  Add autofill/colorkey properties. Fixes #538656.

2008-07-29 01:58:05 +0000  David Schleef <ds@schleef.org>

	  sys/xvimage/xvimagesink.c: Fix rounding errors when converting colorbalance values between hardware and object proper...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Fix rounding errors when converting colorbalance values
	  between hardware and object property ranges.  Partial
	  fix for #537889, however, there still seems to be a small
	  drift problem that could be totem's fault.

2008-07-28 15:34:13 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/ogg/gstoggdemux.c: Don't use GST_CLOCK_TIME_NONE as start of NEWSEGMENT events.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page):
	  Don't use GST_CLOCK_TIME_NONE as start of NEWSEGMENT events.
	  This fixes a critical warning.

2008-07-28 13:12:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/ogg/gstoggmux.c: Allow muxing of CELT into Ogg streams.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  Allow muxing of CELT into Ogg streams.

2008-07-28 12:47:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add simple typefinder for the CELT codec (www.celt-codec.org).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (celt_type_find),
	  (plugin_init):
	  Add simple typefinder for the CELT codec (www.celt-codec.org).

2008-07-27 11:12:41 +0000  Jan Gerber <j@oil21.org>

	  ext/ogg/gstoggdemux.c: Fix calculation of the start time from skeleton streams.
	  Original commit message from CVS:
	  Patch by: Jan Gerber <j at oil21 dot org>
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fisbone):
	  Fix calculation of the start time from skeleton streams.
	  Fixes bug #530068.

2008-07-24 13:19:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Use 64 bit constant GST_CLOCK_TIME_NONE instead of plain -1.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c:
	  Use 64 bit constant GST_CLOCK_TIME_NONE instead of plain -1.

2008-07-23 18:34:19 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/: Implement a linear congruential generator as pseudo random number generator for the dither noise. ...
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.h:
	  * gst/audioconvert/gstaudioquantize.c:
	  (gst_audio_quantize_setup_dither),
	  (gst_audio_quantize_free_dither):
	  * gst/audioconvert/gstfastrandom.h:
	  Implement a linear congruential generator as pseudo random number
	  generator for the dither noise. This is about 2 times faster than
	  using GLib's mersenne twister. Also this uses only integer math for
	  generating integers while GLib internally uses floating point math.

2008-07-23 18:27:15 +0000  Michael Smith <msmith@xiph.org>

	  configure.ac: Remove AC_ISC_POSIX; it breaks on some systems and is not needed.
	  Original commit message from CVS:
	  * configure.ac:
	  Remove AC_ISC_POSIX; it breaks on some systems and is not needed.

2008-07-23 13:17:31 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.c: Use GST_STR_NULL to avoid crashes with libcs that don't like NULL strings in printf...
	  Original commit message from CVS:
	  Patch by: Damien Lespiau  <damien.lespiau gmail com>
	  * gst-libs/gst/sdp/gstsdpmessage.c: (print_media):
	  Use GST_STR_NULL to avoid crashes with libcs that don't
	  like NULL strings in printf args (such as the win32 one).
	  Fixes #544306.

2008-07-17 14:21:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/xvimage/xvimagesink.c: Oops - set the size of the image used for probing back to 1x1, for consistency with ximage...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
	  Oops - set the size of the image used for probing back to 1x1, for
	  consistency with ximagesink

2008-07-17 13:57:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: it's not legal to ask the
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
	  (gst_ximagesink_ximage_new):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
	  (gst_xvimagesink_xvimage_new):
	  Apparently on Solaris and OS/X (at least), it's not legal to ask the
	  X server to attach to a shared memory segment after we've deleted it,
	  with the result that MIT-SHM is disabled. Instead, remove it only after
	  X succeeds in attaching too.

2008-07-17 02:30:24 +0000  David Schleef <ds@schleef.org>

	  gst/audiotestsrc/gstaudiotestsrc.*: Add 'ticks', a 1/30 second sine wave pulse every second.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Add 'ticks', a 1/30 second sine wave pulse every second.

2008-07-15 22:43:16 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/video/video.c: Revert ABI change.
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: Revert ABI change.

2008-07-15 13:05:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Make it impossible to have NULL caps at the point where we set framerate and other th...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Make it impossible to have NULL caps at the point where we set
	  framerate and other things. Also don't return immediately for "3ivd"
	  video and let framerate, etc be set. Might fix bug #542508.

2008-07-14 17:06:26 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst-libs/gst/video/video.c: Video format can also be conveniently determined from (many) non-fixed caps.
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: (gst_video_format_parse_caps):
	  Video format can also be conveniently determined from (many)
	  non-fixed caps.

2008-07-14 08:18:58 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/: First stab at integrating DVD subpicture overlay into playbin. Successfully plugs and plays, but the q...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  * gst/playback/gstplaybasebin.h:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gststreamselector.c:
	  First stab at integrating DVD subpicture overlay into
	  playbin. Successfully plugs and plays, but the queues need
	  shrinking - 3 seconds of video is too much buffering.

2008-07-11 18:06:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/gstaudioconvert.c: Remove now obsolete note in the docs.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  Remove now obsolete note in the docs.

2008-07-11 06:10:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-overrides.txt:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  * ext/alsa/gstalsamixer.c:
	  * ext/alsa/gstalsasink.c:
	  * ext/alsa/gstalsasrc.c:
	  * ext/gio/gstgiosink.c:
	  * ext/gio/gstgiosrc.c:
	  * ext/gio/gstgiostreamsink.c:
	  * ext/gio/gstgiostreamsrc.c:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  * ext/pango/gstclockoverlay.c:
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextrender.c:
	  * ext/pango/gsttimeoverlay.c:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/theora/theoraparse.c:
	  * ext/vorbis/vorbisdec.c:
	  * ext/vorbis/vorbisenc.c:
	  * ext/vorbis/vorbisparse.c:
	  * ext/vorbis/vorbistag.c:
	  * gst/adder/gstadder.c:
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/audioresample/gstaudioresample.c:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  * gst/gdp/gstgdpdepay.c:
	  * gst/gdp/gstgdppay.c:
	  * gst/playback/gstdecodebin2.c:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gstplaybin2.c:
	  * gst/playback/gstqueue2.c:
	  * gst/playback/gsturidecodebin.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/videorate/gstvideorate.c:
	  * gst/videoscale/gstvideoscale.c:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/volume/gstvolume.c:
	  * sys/ximage/ximagesink.c:
	  * sys/xvimage/xvimagesink.c:
	  Cleanup Plugin docs. Link to signals and properties. Fix sub-section
	  titles. Drop mentining that all our example pipelines are "simple"
	  pipelines.

2008-07-10 21:06:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Cleanup Plugin docs. Link to signals and properties. Fix sub-section titles. Drop mentining that all our example pipe...
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-overrides.txt:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  * ext/alsa/gstalsamixer.c:
	  * ext/alsa/gstalsasink.c:
	  * ext/alsa/gstalsasrc.c:
	  * ext/gio/gstgiosink.c:
	  * ext/gio/gstgiosrc.c:
	  * ext/gio/gstgiostreamsink.c:
	  * ext/gio/gstgiostreamsrc.c:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  * ext/pango/gstclockoverlay.c:
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextrender.c:
	  * ext/pango/gsttimeoverlay.c:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/theora/theoraparse.c:
	  * ext/vorbis/vorbisdec.c:
	  * ext/vorbis/vorbisenc.c:
	  * ext/vorbis/vorbisparse.c:
	  * ext/vorbis/vorbistag.c:
	  * gst/adder/gstadder.c:
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/audioresample/gstaudioresample.c:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  * gst/gdp/gstgdpdepay.c:
	  * gst/gdp/gstgdppay.c:
	  * gst/playback/gstdecodebin2.c:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gstplaybin2.c:
	  * gst/playback/gstqueue2.c:
	  * gst/playback/gsturidecodebin.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/videorate/gstvideorate.c:
	  * gst/videoscale/gstvideoscale.c:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/volume/gstvolume.c:
	  * sys/ximage/ximagesink.c:
	  * sys/xvimage/xvimagesink.c:
	  Cleanup Plugin docs. Link to signals and properties. Fix sub-section
	  titles. Drop mentining that all our example pipelines are "simple"
	  pipelines.

2008-07-07 17:25:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/examples/seek/Makefile.am: Fix out of tree build by adding all required CFLAGS.
	  Original commit message from CVS:
	  * tests/examples/seek/Makefile.am:
	  Fix out of tree build by adding all required CFLAGS.

2008-07-07 09:55:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/playback/gstdecodebin.c: And ref the pad before returning it again when linking to the queue failed. Otherwise we...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (add_raw_queue):
	  And ref the pad before returning it again when linking to the queue
	  failed. Otherwise we will unref the pad twice later and things break.

2008-07-07 09:48:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/playback/gstdecodebin.c: If linking the raw pad with a queue fails, try it without a queue instead of failing com...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (add_raw_queue):
	  If linking the raw pad with a queue fails, try it without a queue
	  instead of failing completely. This should never happen.

2008-07-06 23:22:12 +0000  Evgeniy Stepanov <eugeni.stepanov@gmail.com>

	  gst/playback/gstdecodebin.c: Add a queue after a demuxer if the demuxer outputs raw data. This was done before only f...
	  Original commit message from CVS:
	  Patch by: Evgeniy Stepanov <eugeni dot stepanov at gmail dot com>
	  * gst/playback/gstdecodebin.c: (add_raw_queue), (close_pad_link):
	  Add a queue after a demuxer if the demuxer outputs raw data. This was
	  done before only for non-raw data but is required in this case too.
	  Fixes bug #540215.
	  decodebin2 doesn't have this issue because all streams of a group
	  go through multiqueue.

2008-07-03 09:12:49 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.c: Makes libgstsdp compile with mingw32 by defining the right WINVER so that getaddrin...
	  Original commit message from CVS:
	  Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
	  * gst-libs/gst/sdp/gstsdpmessage.c:
	  Makes libgstsdp compile with mingw32 by defining the right WINVER so
	  that getaddrinfo() can be used. Fixes #541358.

2008-07-01 13:22:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videotestsrc/gstvideotestsrc.*: Cleanups, use default property values as defines.
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_class_init), (gst_video_test_src_init),
	  (gst_video_test_src_set_property),
	  (gst_video_test_src_get_property), (gst_video_test_src_create):
	  * gst/videotestsrc/gstvideotestsrc.h:
	  Cleanups, use default property values as defines.
	  Add property to enable/disable peer buffer allocation.

2008-06-30 09:46:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/: Enable unit tests on PPC again as the bugs are now fixed.
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (gdpdepay_suite):
	  * tests/check/pipelines/streamheader.c: (streamheader_suite):
	  Enable unit tests on PPC again as the bugs are now fixed.

2008-06-30 09:20:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/: Add support for ADPCM IMA DK3 and DK4 variant in RIFF containers.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Add support for ADPCM IMA DK3 and DK4 variant in RIFF containers.
	  Fixes bug #540351.

2008-06-30 08:29:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/ffmpegcolorspace/: Only set/get on the PAL8 format, ffmpegcolorspace doesn't support it on other formats. Also ad...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_get_unit_size):
	  Only set/get on the PAL8 format, ffmpegcolorspace doesn't support
	  it on other formats. Also adjust the unit size only for that format
	  to not include the palette. Fixes bug #540497.

2008-06-29 13:45:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/gstadder.c: Use GST_DEBUG_FUNCPTR and remove some extra vlnak lines.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Use GST_DEBUG_FUNCPTR and remove some extra vlnak lines.

2008-06-27 07:55:40 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ChangeLog: ChangeLog surgery.
	  Original commit message from CVS:
	  * ChangeLog:
	  ChangeLog surgery.
	  * tests/examples/seek/seek.c:
	  Move variable into ifdef too.

2008-06-27 07:42:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Include config.h and check if we have X. Fixes: #540334.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c:
	  Include config.h and check if we have X. Fixes: #540334.

2008-06-26 06:03:38 +0000  Sam Morris <sam@robots.org.to.uk>

	  gst-libs/gst/interfaces/mixertrack.c: API: Add "index" property to GstMixerTrack to differantiate between multiple mi...
	  Original commit message from CVS:
	  Patch by: Sam Morris <sam at robots dot org to uk>
	  * gst-libs/gst/interfaces/mixertrack.c:
	  (gst_mixer_track_class_init), (gst_mixer_track_get_property),
	  (gst_mixer_track_set_property):
	  API: Add "index" property to GstMixerTrack to differantiate between
	  multiple mixer tracks with the same label.
	  * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new):
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
	  Set the "index" property of GstMixerTrack to the index given by ALSA.
	  Fixes bug #528299.

2008-06-25 13:15:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/: Remove libgstvideo usage. Use gtk_get_option_group instead of gtk_init().
	  Original commit message from CVS:
	  * tests/examples/seek/Makefile.am:
	  * tests/examples/seek/seek.c:
	  Remove libgstvideo usage. Use gtk_get_option_group instead of
	  gtk_init().

2008-06-24 16:27:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/Makefile.am: Name the test registry format neutral.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Name the test registry format neutral.

2008-06-24 16:22:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstqueue2.c: Do not double notify. Remove the unsued return value.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c:
	  Do not double notify. Remove the unsued return value.

2008-06-24 16:15:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/alsa/gstalsamixer.c: Also consider "speaker" as a name for master volume. If that doesn't help look for the first...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c:
	  Also consider "speaker" as a name for master volume. If that doesn't
	  help look for the first non-mono volume control that also has a
	  playback switch.

2008-06-24 16:10:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ChangeLog: Forgot to save the ChangeLog :/
	  Original commit message from CVS:
	  * ChangeLog:
	  Forgot to save the ChangeLog :/

2008-06-24 16:05:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/: Embedd the xwindow.
	  Original commit message from CVS:
	  * tests/examples/seek/Makefile.am:
	  * tests/examples/seek/seek.c:
	  Embedd the xwindow.

2008-06-24 01:14:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/ximage/ximagesink.h: When the caps change, make sure to re-draw borders in force-aspect-ratio=true mode.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c (gst_ximagesink_ximage_put),
	  (gst_ximagesink_setcaps):
	  * sys/ximage/ximagesink.h:
	  When the caps change, make sure to re-draw borders in
	  force-aspect-ratio=true mode.
	  * sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_put):
	  Don't clear the border_draw flag until we actually draw the border.
	  * tests/check/Makefile.am:
	  Ignore alsasink/src during the states test too, so it doesn't fail
	  when running without access to the sound device.

2008-06-22 18:35:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Fix crasher when playing a parse-launch line the 2nd time.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c:
	  Fix crasher when playing a parse-launch line the 2nd time.

2008-06-21 18:56:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/pipelines/oggmux.c: Properly ifdef tests to fix compilation.
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c:
	  Properly ifdef tests to fix compilation.

2008-06-21 10:25:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	  break long lines
	  Original commit message from CVS:
	  break long lines

2008-06-20 18:24:24 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/: Add get-video-pad, get-audio-pad, get-text-pad action signals to playbin2. This allows the user to get...
	  Original commit message from CVS:
	  * gst/playback/gstplay-marshal.list:
	  * gst/playback/gstplaybin2.c:
	  Add get-video-pad, get-audio-pad, get-text-pad action signals to
	  playbin2. This allows the user to get to the selector's sinkpads, and
	  thus inspect a range of things - caps, tags, etc.

2008-06-20 17:27:03 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstplaybin2.c: Use a different constant for the convert-frame signal id.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c:
	  Use a different constant for the convert-frame signal id.
	  Fixes #537009.

2008-06-20 17:18:55 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/: Fix a whole bunch of typos in comments and log statements.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c:
	  * gst/playback/gstplaysink.c:
	  Fix a whole bunch of typos in comments and log statements.

2008-06-20 17:02:48 +0000  Michael Smith <msmith@xiph.org>

	  sys/xvimage/xvimagesink.c: Don't set colour balance values on the Xv port if the user hasn't changed them (via proper...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Don't set colour balance values on the Xv port if the user hasn't
	  changed them (via properties or the interface). Avoids accumulating
	  rounding errors for the common case.
	  Partial fix for bug #537889.

2008-06-20 16:56:18 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstdecodebin2.c: Ensure decodebin2 emits 'drained' signal once, and only once, when all pads are drained.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  Ensure decodebin2 emits 'drained' signal once, and only once, when all
	  pads are drained.

2008-06-20 16:12:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/README:
	  apparently it's an error to specify nc -l -p 3000 - though the short usage does not make it very clear that you can d...
	  Original commit message from CVS:
	  apparently it's an error to specify nc -l -p 3000 - though the short usage
	  does not make it very clear that you can drop the host arg with -l

2008-06-20 09:25:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisenc.c: Report the encoder latency. Fixes #538232.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_get_latency),
	  (gst_vorbis_enc_src_query), (gst_vorbis_enc_chain):
	  Report the encoder latency. Fixes #538232.

2008-06-20 09:19:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Implement the source property, emit notify when it changes in the underlying uridecodebin.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_get_property),
	  (notify_source), (activate_group):
	  Implement the source property, emit notify when it changes in the
	  underlying uridecodebin.

2008-06-20 09:14:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Free and clear the seek element list so that we don't use invalid references when seeking...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (stop_cb):
	  Free and clear the seek element list so that we don't use invalid
	  references when seeking after recreating a gst-launch line.

2008-06-20 09:09:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Report latency even if we are not live instead of hiding it.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_query), (gst_base_audio_sink_skew_slaving),
	  (gst_base_audio_sink_render):
	  Report latency even if we are not live instead of hiding it.
	  Take ts-offset and render-delay of the basesink into account when
	  scheduling samples.
	  Rework the clipping code so that we can take the various offsets into
	  account and still do correct clipping.

2008-06-20 08:52:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Bump verion back to devel -> 0.10.20.1
	  Original commit message from CVS:
	  * configure.ac:
	  Bump verion back to devel -> 0.10.20.1

2008-06-20 08:47:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/tag/tags.c: Don't increase the size of non-string image buffers by one as this might in theory confuse d...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
	  Don't increase the size of non-string image buffers by one as this
	  might in theory confuse decoders. Still increase it by one for string
	  image buffers to append '\0'.

2008-06-20 08:45:13 +0000  Antoine Tremblay <hexa00@gmail.com>

	  gst/gdp/gstgdppay.c: Fix a buffer memleak and remove a confusing and wrong debug output.
	  Original commit message from CVS:
	  Patch by: Antoine Tremblay <hexa00 at gmail dot com>
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset):
	  Fix a buffer memleak and remove a confusing and wrong debug output.
	  Fixes bug #538663.

2008-06-19 11:25:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/appsink-src.c: Don't use a buffer after unreffing it.
	  Original commit message from CVS:
	  * examples/app/appsink-src.c: (on_new_buffer_from_source):
	  Don't use a buffer after unreffing it.

=== release 0.10.20 ===

2008-06-18 14:36:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* po/LINGUAS:
	* win32/common/config.h:
	  Release 0.10.20
	  Original commit message from CVS:
	  Release 0.10.20

2008-06-18 14:32:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* 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/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/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-06-18 06:31:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix gtk-doc warnings. Also don't misuse api-doc comments for normal comments.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-bad-plugins-sections.txt:
	  * examples/app/appsrc-ra.c:
	  * examples/app/appsrc-seekable.c:
	  * examples/app/appsrc-stream.c:
	  * examples/app/appsrc-stream2.c:
	  * ext/directfb/dfbvideosink.h:
	  * ext/metadata/gstbasemetadata.c:
	  * ext/metadata/gstbasemetadata.h:
	  * ext/metadata/metadata.c:
	  * ext/metadata/metadataexif.c:
	  * ext/theora/theoradec.h:
	  * gst/deinterlace2/gstdeinterlace2.h:
	  * gst/deinterlace2/tvtime/speedy.c:
	  * gst/deinterlace2/tvtime/speedy.h:
	  * gst/deinterlace2/tvtime/vfir.c:
	  Fix gtk-doc warnings. Also don't misuse api-doc comments for normal
	  comments.

2008-06-16 14:11:36 +0000  Andy Wingo <wingo@pobox.com>

	* gst-libs/gst/app/gstappsrc.c:
	  gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
	  Original commit message from CVS:
	  2008-06-16  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/app/gstappsrc.c (gst_app_src_set_max_bytes)
	  (gst_app_src_get_max_bytes, gst_app_src_push_buffer): Use
	  G_GUINT64_FORMAT. Avoid overflow in get_max_bytes().

2008-06-16 07:30:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Final round of doc updates.
	  Original commit message from CVS:
	  * gst/rtpmanager/gstrtpjitterbuffer.c:
	  * gst/speed/gstspeed.c:
	  * gst/speexresample/gstspeexresample.c:
	  * gst/videosignal/gstvideoanalyse.c:
	  * gst/videosignal/gstvideodetect.c:
	  * gst/videosignal/gstvideomark.c:
	  * sys/dvb/gstdvbsrc.c:
	  * sys/oss4/oss4-mixer.c:
	  * sys/oss4/oss4-sink.c:
	  * sys/oss4/oss4-source.c:
	  * sys/wininet/gstwininetsrc.c:
	  Final round of doc updates.

2008-06-13 11:59:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
	  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:
	  * docs/plugins/gst-plugins-bad-plugins.args:
	  * docs/plugins/gst-plugins-bad-plugins.hierarchy:
	  * docs/plugins/gst-plugins-bad-plugins.interfaces:
	  * docs/plugins/gst-plugins-bad-plugins.prerequisites:
	  * docs/plugins/gst-plugins-bad-plugins.signals:
	  * docs/plugins/inspect/plugin-alsaspdif.xml:
	  * docs/plugins/inspect/plugin-amrwb.xml:
	  * docs/plugins/inspect/plugin-app.xml:
	  * docs/plugins/inspect/plugin-bayer.xml:
	  * docs/plugins/inspect/plugin-bz2.xml:
	  * docs/plugins/inspect/plugin-cdaudio.xml:
	  * docs/plugins/inspect/plugin-cdxaparse.xml:
	  * docs/plugins/inspect/plugin-dtsdec.xml:
	  * docs/plugins/inspect/plugin-dvb.xml:
	  * docs/plugins/inspect/plugin-dvdspu.xml:
	  * docs/plugins/inspect/plugin-faac.xml:
	  * docs/plugins/inspect/plugin-faad.xml:
	  * docs/plugins/inspect/plugin-fbdevsink.xml:
	  * docs/plugins/inspect/plugin-festival.xml:
	  * docs/plugins/inspect/plugin-filter.xml:
	  * docs/plugins/inspect/plugin-flvdemux.xml:
	  * docs/plugins/inspect/plugin-freeze.xml:
	  * docs/plugins/inspect/plugin-gsm.xml:
	  * docs/plugins/inspect/plugin-gstinterlace.xml:
	  * docs/plugins/inspect/plugin-gstrtpmanager.xml:
	  * docs/plugins/inspect/plugin-h264parse.xml:
	  * docs/plugins/inspect/plugin-interleave.xml:
	  * docs/plugins/inspect/plugin-jack.xml:
	  * docs/plugins/inspect/plugin-ladspa.xml:
	  * docs/plugins/inspect/plugin-metadata.xml:
	  * docs/plugins/inspect/plugin-mms.xml:
	  * docs/plugins/inspect/plugin-modplug.xml:
	  * docs/plugins/inspect/plugin-mpeg2enc.xml:
	  * docs/plugins/inspect/plugin-mpeg4videoparse.xml:
	  * docs/plugins/inspect/plugin-mpegtsparse.xml:
	  * docs/plugins/inspect/plugin-mpegvideoparse.xml:
	  * docs/plugins/inspect/plugin-musepack.xml:
	  * docs/plugins/inspect/plugin-musicbrainz.xml:
	  * docs/plugins/inspect/plugin-mve.xml:
	  * docs/plugins/inspect/plugin-mythtv.xml
	  * docs/plugins/inspect/plugin-nas.xml:
	  * docs/plugins/inspect/plugin-neon.xml:
	  * docs/plugins/inspect/plugin-nsfdec.xml:
	  * docs/plugins/inspect/plugin-nuvdemux.xml:
	  * docs/plugins/inspect/plugin-oss4.xml
	  * docs/plugins/inspect/plugin-rawparse.xml:
	  * docs/plugins/inspect/plugin-real.xml:
	  * docs/plugins/inspect/plugin-replaygain.xml:
	  * docs/plugins/inspect/plugin-rfbsrc.xml:
	  * docs/plugins/inspect/plugin-sdl.xml:
	  * docs/plugins/inspect/plugin-sdp.xml:
	  * docs/plugins/inspect/plugin-selector.xml:
	  * docs/plugins/inspect/plugin-sndfile.xml:
	  * docs/plugins/inspect/plugin-soundtouch.xml:
	  * docs/plugins/inspect/plugin-spcdec.xml:
	  * docs/plugins/inspect/plugin-speed.xml:
	  * docs/plugins/inspect/plugin-speexresample.xml:
	  * docs/plugins/inspect/plugin-stereo.xml:
	  * docs/plugins/inspect/plugin-subenc.xml
	  * docs/plugins/inspect/plugin-timidity.xml:
	  * docs/plugins/inspect/plugin-tta.xml:
	  * docs/plugins/inspect/plugin-vcdsrc.xml:
	  * docs/plugins/inspect/plugin-videosignal.xml:
	  * docs/plugins/inspect/plugin-vmnc.xml:
	  * docs/plugins/inspect/plugin-wildmidi.xml:
	  * docs/plugins/inspect/plugin-x264.xml:
	  * docs/plugins/inspect/plugin-xvid.xml:
	  * docs/plugins/inspect/plugin-y4menc.xml:
	  * ext/amrwb/gstamrwbdec.c:
	  * ext/amrwb/gstamrwbenc.c:
	  * ext/amrwb/gstamrwbparse.c:
	  * ext/dc1394/gstdc1394.c:
	  * ext/directfb/dfbvideosink.c:
	  * ext/ivorbis/vorbisdec.c:
	  * ext/jack/gstjackaudiosink.c:
	  * ext/mpeg2enc/gstmpeg2enc.cc:
	  * ext/mplex/gstmplex.cc:
	  * ext/musicbrainz/gsttrm.c:
	  * ext/mythtv/gstmythtvsrc.c:
	  * ext/theora/theoradec.c:
	  * ext/timidity/gsttimidity.c:
	  * ext/timidity/gstwildmidi.c:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst/deinterlace/gstdeinterlace.c:
	  * gst/dvdspu/gstdvdspu.c:
	  * gst/festival/gstfestival.c:
	  * gst/freeze/gstfreeze.c:
	  * gst/interleave/deinterleave.c:
	  * gst/interleave/interleave.c:
	  * gst/modplug/gstmodplug.cc:
	  * gst/nuvdemux/gstnuvdemux.c:
	  Add missing elements to docs. Fix doc-markup: use convinience syntax
	  for examples (produces valid docbook), add several refsec2 when we
	  have several titles. Fix some types.

2008-06-12 15:47:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/: Add beefed up example app from bug #413418. It now also uses appsink instead of fakesink for more ulti...
	  Original commit message from CVS:
	  * examples/app/.cvsignore:
	  * examples/app/Makefile.am:
	  * examples/app/appsink-src.c: (on_new_buffer_from_source),
	  (on_source_message), (on_sink_message), (main):
	  Add beefed up example app from bug #413418. It now also uses appsink
	  instead of fakesink for more ultimate coolness.
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_init), (gst_app_src_set_property),
	  (gst_app_src_get_property), (gst_app_src_unlock),
	  (gst_app_src_unlock_stop), (gst_app_src_create),
	  (gst_app_src_set_max_bytes), (gst_app_src_push_buffer),
	  (gst_app_src_end_of_stream):
	  * gst-libs/gst/app/gstappsrc.h:
	  Add block property to allow push based implementation to block when we
	  fill up the appsrc queues.
	  Emit the enough-data signal while releasing our lock.

2008-06-12 14:50:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  examples/app/.cvsignore: Ignore more.
	  Original commit message from CVS:
	  * examples/app/.cvsignore:
	  Ignore more.

2008-06-12 14:49:15 +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/dc1394/gstdc1394.c:
	  * ext/ivorbis/vorbisdec.c:
	  * ext/jack/gstjackaudiosink.c:
	  * ext/metadata/gstmetadatademux.c:
	  * ext/mythtv/gstmythtvsrc.c:
	  * ext/theora/theoradec.c:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst/bayer/gstbayer2rgb.c:
	  * gst/deinterlace/gstdeinterlace.c:
	  * gst/rawparse/gstaudioparse.c:
	  * gst/rawparse/gstvideoparse.c:
	  * gst/rtpmanager/gstrtpbin.c:
	  * gst/rtpmanager/gstrtpclient.c:
	  * gst/rtpmanager/gstrtpjitterbuffer.c:
	  * gst/rtpmanager/gstrtpptdemux.c:
	  * gst/rtpmanager/gstrtpsession.c:
	  * gst/rtpmanager/gstrtpssrcdemux.c:
	  * gst/selector/gstinputselector.c:
	  * gst/selector/gstoutputselector.c:
	  * gst/videosignal/gstvideoanalyse.c:
	  * gst/videosignal/gstvideodetect.c:
	  * gst/videosignal/gstvideomark.c:
	  * sys/oss4/oss4-mixer.c:
	  * sys/oss4/oss4-sink.c:
	  * sys/oss4/oss4-source.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.
	  Also fixing up the ChangeLog order.

2008-06-11 21:17:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.19.3 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.19.3 pre-release

2008-06-11 20:13:00 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Fix build on win32.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  Fix build on win32.
	  Patch By: David Schleef <ds@schleef.org>
	  Fixes: #536874

2008-06-11 09:35:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgiobasesrc.*: Try to read the requested number of bytes, even if the first read returns less than requeste...
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_finalize),
	  (gst_gio_base_src_create):
	  * ext/gio/gstgiobasesrc.h:
	  Try to read the requested number of bytes, even if the first
	  read returns less than requested, until nothing is read anymore
	  or we have the requested amount of bytes. This fixes playback of
	  files via Samba as Samba only allows to read 64k at once.
	  Implement a caching algorithm that makes sure that we read at
	  least 4k of data every time. Some elements will try to read a few
	  bytes, then seek, read again a few bytes and so on and this is
	  painfully slow as every operation has to go over DBus if GVfs is
	  used as backend.
	  Fixes bug #536849 and #536848.
	  * ext/gio/gstgiosrc.c: (gst_gio_src_class_init),
	  (gst_gio_src_check_get_range):
	  Override check_get_range() to blacklist http/https URIs
	  and whitelist file URIs. More to be added on demand.

2008-06-06 16:50:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/: Added 3 more example application for using appsrc in random-access mode, pull-mode streaming and pull ...
	  Original commit message from CVS:
	  * examples/app/Makefile.am:
	  * examples/app/appsrc-ra.c: (feed_data), (seek_data),
	  (found_source), (bus_message), (main):
	  * examples/app/appsrc-seekable.c: (feed_data), (seek_data),
	  (found_source), (bus_message), (main):
	  * examples/app/appsrc-stream2.c: (feed_data), (found_source),
	  (bus_message), (main):
	  Added 3 more example application for using appsrc in random-access mode,
	  pull-mode streaming and pull mode seekable.
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_start), (gst_app_src_do_get_size),
	  (gst_app_src_create):
	  * gst-libs/gst/app/gstappsrc.h:
	  Make stream-type property writable.
	  Unset flushing when starting so that we reuse appsrc.
	  Inform basesrc about the configured size.
	  Emit seek-data signal when we are going to a different offset in
	  random-access mode.

2008-06-06 14:19:54 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/appsrc-stream.c: Use deep-notify until we can depend on a playbin2 with support for the source property.
	  Original commit message from CVS:
	  * examples/app/appsrc-stream.c: (found_source), (main):
	  Use deep-notify until we can depend on a playbin2 with support for the
	  source property.

2008-06-05 16:38:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/: Added an example on how to use appsrc in playbin in streaming mode from an mmapped file.
	  Original commit message from CVS:
	  * examples/app/.cvsignore:
	  * examples/app/Makefile.am:
	  * examples/app/appsrc-stream.c: (read_data), (start_feed),
	  (stop_feed), (found_source), (bus_message), (main):
	  Added an example on how to use appsrc in playbin in streaming mode from
	  an mmapped file.
	  * examples/app/appsrc_ex.c: (main):
	  Set pipeline to NULL to free queued buffers.
	  * gst-libs/gst/app/gstapp-marshal.list:
	  * gst-libs/gst/app/gstappsrc.c: (stream_type_get_type), (_do_init),
	  (gst_app_src_class_init), (gst_app_src_init),
	  (gst_app_src_flush_queued), (gst_app_src_dispose),
	  (gst_app_src_set_property), (gst_app_src_get_property),
	  (gst_app_src_unlock), (gst_app_src_unlock_stop),
	  (gst_app_src_start), (gst_app_src_stop), (gst_app_src_is_seekable),
	  (gst_app_src_check_get_range), (gst_app_src_do_seek),
	  (gst_app_src_create), (gst_app_src_set_stream_type),
	  (gst_app_src_get_stream_type), (gst_app_src_set_max_bytes),
	  (gst_app_src_get_max_bytes), (gst_app_src_push_buffer),
	  (gst_app_src_end_of_stream), (gst_app_src_uri_get_type),
	  (gst_app_src_uri_get_protocols), (gst_app_src_uri_get_uri),
	  (gst_app_src_uri_set_uri), (gst_app_src_uri_handler_init):
	  * gst-libs/gst/app/gstappsrc.h:
	  Measure max queue size in bytes instead.
	  Add support for 3 modes of operation, streaming, seekable and
	  random-access, making basesrc handle the scheduling modes for each.
	  Add appsrc:// uri handler so that automatic plugging can be done from
	  playbin2 or uridecodebin, for example.
	  Added support for custom segment formats.
	  Add support for push and pull based operations from the application.
	  Expand the methods so that errors can be detected.
	  Flush the queued buffers on seeks and when shutting down.
	  Add signals to inform the app that a seek must happen.

2008-06-05 09:47:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: 0.10.19.2 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  0.10.19.2 pre-release

2008-06-04 21:48:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/common/: Add new API functions to the dll exports
	  Original commit message from CVS:
	  * win32/common/libgstrtsp.def:
	  * win32/common/libgsttag.def:
	  Add new API functions to the dll exports

2008-06-04 17:42:38 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstplaybasebin.c: Disconnect signals from decodebins we created before we remove it from playbin, to avo...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  Disconnect signals from decodebins we created before we remove it from
	  playbin, to avoid crashes if the decodebin is eventually disposed after
	  the playbin itself (possible if the app takes a reference on the
	  decodebin).
	  Fixes #536521.

2008-06-04 17:12:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Bunch of small clean-ups: use gst_type_find_suggest_simple(); don't copy caps fo...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (aac_type_find),
	  (mp3_type_find), (musepack_type_find), (MULTIPART_MAX_HEADER_SIZE),
	  (mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find),
	  (h264_video_type_find), (mpeg_video_stream_type_find),
	  (dv_type_find), (mmsh_type_find):
	  Bunch of small clean-ups: use gst_type_find_suggest_simple(); don't
	  copy caps for no good reason (this may be desirable to make it easier
	  to detect leaks, but then it should probably be done for all caps
	  in the typefinder somewhere).

2008-06-04 16:06:49 +0000  Peter Kjellerstedt <pkj@axis.com>

	  tests/check/Makefile.am: Do not try to run the check tests for subparse unless it has been built.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Do not try to run the check tests for subparse unless it has been
	  built.

2008-06-04 16:00:26 +0000  Peter Kjellerstedt <pkj@axis.com>

	  tests/check/pipelines/streamheader.c: Do not try to run a test which requires vorbisenc unless we have actually built...
	  Original commit message from CVS:
	  * tests/check/pipelines/streamheader.c: (buffer_probe_cb),
	  (test_multifdsink_gdp_vorbisenc), (streamheader_suite):
	  Do not try to run a test which requires vorbisenc unless we have
	  actually built it.

2008-06-04 11:53:53 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst-libs/gst/rtsp/gstrtspconnection.*: Add a couple of missing argument guards.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_set_auth), (gst_rtsp_connection_set_auth_param),
	  (gst_rtsp_connection_clear_auth_params),
	  (gst_rtsp_connection_set_qos_dscp), (gst_rtsp_connection_get_ip):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  Add a couple of missing argument guards.
	  Add a way of setting the DSCP for an RTSP connection.
	  Add an accessor method for the ip member of GstRTSPConnection as all
	  members are supposed to be private.

2008-06-04 11:33:23 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst/tcp/gstmultifdsink.c: Fixed accidental use of IPv4 options for all IPv6 addresses.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (setup_dscp_client):
	  Fixed accidental use of IPv4 options for all IPv6 addresses.

2008-06-04 10:18:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixertrack.h: Document mixer track flags.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixertrack.h:
	  Document mixer track flags.

2008-06-04 05:58:38 +0000  Antoine Tremblay <hexa00@gmail.com>

	  gst/gdp/gstgdppay.c: Don't set caps on the buffers that contain a copy of the buffer including the caps of them resul...
	  Original commit message from CVS:
	  Patch by: Antoine Tremblay <hexa00 at gmail dot com>
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader):
	  Don't set caps on the buffers that contain a copy of the buffer
	  including the caps of them resulting in an always increasing refcount
	  of the caps and insanely large caps. Instead include a buffer without
	  caps in the new caps. Fixes bug #536475.

2008-06-04 05:44:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/videoscale/gstvideoscale.c: Transform a given PAR to a range on the struct with the generic height/width instead ...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
	  Transform a given PAR to a range on the struct with the generic
	  height/width instead of the struct with the possibly restricted
	  height/width.

2008-06-04 04:24:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/videoscale/gstvideoscale.c: Prefer the given format if it contains something stricter than [1,MAX] for height or ...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
	  Prefer the given format if it contains something stricter than [1,MAX]
	  for height or width and only put a structure that requires rescaling
	  as second. This makes it possible to use videoscale in pipelines where
	  the source can actually produce the wanted height/width but usually
	  selects a different one from the requested.

2008-06-03 20:01:58 +0000  John Millikin <jmillikin@gmail.com>

	  gst-libs/gst/tag/gstvorbistag.c: Retrieve COVERART tags from vorbis comments (#512333)
	  Original commit message from CVS:
	  Based on patch by: John Millikin <jmillikin gmail com>
	  * gst-libs/gst/tag/gstvorbistag.c: (tag_matches), (gst_vorbis_tag_add),
	  (gst_vorbis_tag_add_coverart):
	  Retrieve COVERART tags from vorbis comments (#512333)

2008-06-03 19:44:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/: Don't forget to add new enum value here too (should probably use glib-mkenums here...).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum):
	  Don't forget to add new enum value here too (should probably use
	  glib-mkenums here...).

2008-06-03 19:29:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/: API: add gst_tag_image_data_to_image_buffer()
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c: (gst_tag_list_add_id3_image):
	  * gst-libs/gst/tag/tag.h: (GST_TAG_IMAGE_TYPE_NONE),
	  * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum),
	  (gst_tag_image_type_get_type), (gst_tag_image_type_is_valid),
	  (gst_tag_image_data_to_image_buffer):
	  Add two utility functions to avoid code duplication (#512333):
	  API: add gst_tag_image_data_to_image_buffer()
	  API: add gst_tag_list_add_id3_image()

2008-06-03 08:54:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstaudio.def: Add gst_audio_check_channel_positions() to the exported symbols.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  Add gst_audio_check_channel_positions() to the exported symbols.

2008-06-03 08:48:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  API: Make gst_audio_check_channel_positions() public.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions):
	  * gst-libs/gst/audio/multichannel.h:
	  API: Make gst_audio_check_channel_positions() public.
	  * tests/check/libs/audio.c: (GST_START_TEST):
	  Add some simple checks for gst_audio_check_channel_positions().

2008-06-02 20:09:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/v4l/v4l_calls.c: minrange and maxrange are scaled according to the frequency multiplier.
	  Original commit message from CVS:
	  * sys/v4l/v4l_calls.c: (gst_v4l_get_chan_names):
	  minrange and maxrange are scaled according to the frequency
	  multiplier.

2008-06-02 18:37:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/: Use gstvideo functions to calculate strides and plane offsets. Fixes rendering issue ('ghost' images of t...
	  Original commit message from CVS:
	  * ext/pango/Makefile.am:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_shade_y),
	  (gst_text_overlay_blit_yuv420), (gst_text_overlay_push_frame):
	  Use gstvideo functions to calculate strides and plane offsets. Fixes
	  rendering issue ('ghost' images of the text on the chroma planes)
	  with widths or heights that are not multiples of 8 (#506659 and
	  probably also #485729).
	  * tests/icles/test-textoverlay.c: (show_text), (test_textoverlay),
	  (main):
	  Test with odd height/width too.

2008-06-02 12:20:35 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: When using gst_element_iterate_pads() one has to unref every pad after usage.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_query_duration),
	  (gst_adder_query_latency):
	  When using gst_element_iterate_pads() one has to unref every pad
	  after usage.

2008-05-31 19:57:57 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Add a gtk-doc chunk for the new properties to have a Since: indication.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init):
	  Add a gtk-doc chunk for the new properties to have a Since: indication.

2008-05-31 19:50:59 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	* ChangeLog:
	  ChangeLog surgery, mark API change
	  Original commit message from CVS:
	  ChangeLog surgery, mark API change

2008-05-31 18:10:47 +0000  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Provide readable actual-buffer-time and actual-latency-time properties that ref...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init), (gst_base_audio_src_dispose),
	  (gst_base_audio_src_get_property), (gst_base_audio_src_setcaps),
	  (gst_base_audio_src_change_state):
	  Provide readable actual-buffer-time and actual-latency-time properties
	  that reflect the configured ringbuffer values. Fixes #524724.

2008-05-30 15:29:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Simply converting the running time into an RTP timestamp by scaling it based on...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push),
	  (gst_basertppayload_change_state):
	  Simply converting the running time into an RTP timestamp by scaling it
	  based on the clock-rate is good enough for making an RTP timestamp. This
	  has the added benefit that we can later on expose a property with the
	  RTP timestamp of running time 0, as is needed for RTSP servers to
	  generate the response of the PLAY request.

2008-05-30 08:42:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Allow up to 11 positioned channels now that audioconvert can handle this but add ...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (structure_has_fixed_channel_positions),
	  (gst_audio_convert_transform_caps):
	  Allow up to 11 positioned channels now that audioconvert can handle
	  this but add no default positions for > 8 channels.
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Add some unit tests for the above change: Test conversion of
	  11 positioned channels to stereo and the other way around, test
	  conversion of 15 unpositioned channels in different ways.

2008-05-29 19:45:40 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstaudio.def: Add gst_audio_clock_reset to the list of exported symbols.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  Add gst_audio_clock_reset to the list of exported symbols.

2008-05-29 19:37:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/elements/vorbisdec.c: Remove wrong_channels_identification_header unit test as we now support 7 (and more...
	  Original commit message from CVS:
	  * tests/check/elements/vorbisdec.c: (vorbisdec_suite):
	  Remove wrong_channels_identification_header unit test as we now
	  support 7 (and more channels).

2008-05-29 12:17:16 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstchannelmix.c: If mixing left or right to center (or the other way around) only take the complete ...
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c:
	  (gst_channel_mix_fill_one_other):
	  If mixing left or right to center (or the other way around) only take
	  the complete value if we don't already have the original position in
	  the source.

2008-05-29 11:34:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/multichannel.c: Allow rear center together with rear left/right and other previously conflicting c...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions),
	  (gst_audio_set_structure_channel_positions_list),
	  (gst_audio_fixate_channel_positions):
	  Allow rear center together with rear left/right and other previously
	  conflicting channel positions. The reason why they weren't allowed
	  was the channel mixing implementation in audioconvert.
	  Also take this into account when fixing channel layouts.
	  Allow setting channel positions for 1/2 channels when using
	  gst_audio_set_structure_channel_position().
	  * gst/audioconvert/gstchannelmix.c:
	  (gst_channel_mix_fill_compatible), (gst_channel_mix_detect_pos),
	  (gst_channel_mix_fill_one_other), (gst_channel_mix_fill_others),
	  (gst_channel_mix_fill_special), (gst_channel_mix_fill_matrix):
	  Major rewrite of the channel mixing.
	  We now allow previously	conflicting channel positions to appear
	  together (rear center and rear left/right for example).
	  Fixes bug #533817.
	  Rework the way channels are mixed together to take more possible
	  channel positions into account, properly mix from/to side channels
	  and don't assume that either center, left&right or nothing of a
	  specific position is available anymore.
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Adjust unit tests with non-standard 1/2 channel layouts to the more
	  correct new behaviour.
	  Add a unit test for 5.1->Stereo downmixing.

2008-05-29 07:02:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/vorbis/: Add sane defaults for the 7 and 8 channel layouts as those are undefined in the Vorbis spec. Use NONE ch...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps):
	  Add sane defaults for the 7 and 8 channel layouts as those are
	  undefined in the Vorbis spec. Use NONE channel layouts when decoding
	  more than 8 channels instead of erroring out. Fixes bug #535356.

2008-05-28 16:10:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add theoraparse to the docs and fix some docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/theora/theoraparse.c:
	  Add theoraparse to the docs and fix some docs.

2008-05-28 15:48:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/cdda/gstcddabasesrc.c: Fix EOS condition and track addition check, the track.end sector is included in t...
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_add_track), (gst_cdda_base_src_create):
	  Fix EOS condition and track addition check, the track.end sector is
	  included in the track. Fixes #533265.

2008-05-28 14:49:24 +0000  Mark Nauwelaerts <manauw@skynet.be>

	  gst/videorate/gstvideorate.*: React (more) to NEWSEGMENT
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <manauw at skynet be>
	  * gst/videorate/gstvideorate.c: (gst_video_rate_reset),
	  (gst_video_rate_flush_prev), (gst_video_rate_event),
	  (gst_video_rate_chain):
	  * gst/videorate/gstvideorate.h:
	  React (more) to NEWSEGMENT
	  Small adjustment in timestamp calculation to prevent mismatches
	  Fixes #435633.

2008-05-28 11:31:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/examples/seek/seek.c: Initialise error to NULL as we should.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (make_parselaunch_pipeline):
	  Initialise error to NULL as we should.

2008-05-28 08:14:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: Implement latency query.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_query_duration),
	  (gst_adder_query_latency), (gst_adder_query):
	  Implement latency query.

2008-05-27 18:10:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: Correctly resync the iterator if gst_iterator_next() returns
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_query_duration):
	  Correctly resync the iterator if gst_iterator_next() returns
	  GST_ITERATOR_RESYNC.

2008-05-27 17:14:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/vs6/libgstpbutils.dsp: Add pbutils-enumtypes.c to sources (#518037).
	  Original commit message from CVS:
	  * win32/vs6/libgstpbutils.dsp:
	  Add pbutils-enumtypes.c to sources (#518037).

2008-05-27 16:20:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudioclock.*: Add method to inform the clock that the time starts from 0 again. We use this inf...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init),
	  (gst_audio_clock_reset), (gst_audio_clock_get_internal_time):
	  * gst-libs/gst/audio/gstaudioclock.h:
	  Add method to inform the clock that the time starts from 0 again. We use
	  this info to calculate a clock offset so that the time we report in
	  internal_time is monotonically increasing, as required by the clock base
	  class. Fixes #521761.
	  API: GstAudioClock::gst_audio_clock_reset()
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_skew_slaving),
	  (gst_base_audio_sink_change_state):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create), (gst_base_audio_src_change_state):
	  Reset reported time when we (re)create the ringbuffer.

2008-05-27 16:11:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsamixertrack.c: Make sure playback volumes aren't accidentally overwritten by capture volumes if an als...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixertrack.c:
	  (gst_alsa_mixer_track_update_alsa_capabilities):
	  Make sure playback volumes aren't accidentally overwritten by
	  capture volumes if an alsa mixer track has both playback and
	  capture capabilities: we create two GstMixerTracks in that
	  case, so make sure we query only the alsa capabilities that
	  refer to the type of GstMixerTrack we created from the dual
	  capability alsa element. Should fix issues with Audigy2 sound
	  cards (#518082).

2008-05-27 10:57:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/oggmux.c: Don't use deprecated function.
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c: (test_pipeline):
	  Don't use deprecated function.

2008-05-27 10:35:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Check for NULL cases and log them, creating ghostpads can, for example, fail when the p...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  (gst_decode_group_control_source_pad), (gst_decode_group_expose):
	  Check for NULL cases and log them, creating ghostpads can, for example,
	  fail when the pad returns wrong caps.
	  * gst/playback/gstplaybin2.c: (perform_eos):
	  When pushing out the EOS event, collect the return value and warn when
	  something failed.

2008-05-26 17:18:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: Add support for DVCPRO.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add support for DVCPRO.

2008-05-26 10:29:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videoscale/gstvideoscale.c: Change default scaling method from nearest-neighbour to bilinear.
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (DEFAULT_PROP_METHOD):
	  Change default scaling method from nearest-neighbour to bilinear.

2008-05-26 10:26:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/video.c: More checks.
	  Original commit message from CVS:
	  * tests/check/libs/video.c:
	  More checks.

2008-05-25 20:51:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Limit duration to a maximum of five seconds for tmplayer format where we can guess the duration only from the timesta...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (parser_state_init),
	  (gst_sub_parse_format_autodetect), (handle_buffer):
	  * gst/subparse/gstsubparse.h:
	  * tests/check/elements/subparse.c: (test_tmplayer_style3b):
	  Limit duration to a maximum of five seconds for tmplayer format where
	  we can guess the duration only from the timestamp of the next line of
	  text. We don't want to show a text for eternities just because nothing
	  else is being said for a while.

2008-05-23 14:14:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Check sequence numbers, mark input buffers with a discont flag for the subcla...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_handle_sink_event),
	  (gst_base_rtp_depayload_push_full),
	  (gst_base_rtp_depayload_change_state):
	  Check sequence numbers, mark input buffers with a discont flag for the
	  subclass when we detected a gap, drop duplicate buffers. We do this
	  because one can use the element without a jitterbuffer in front and we
	  don't want to feed the subclasses invalid or reordered data.
	  Do an error when the subclass did not provide a process function instead
	  of crashing.
	  Some other small cleanups.

2008-05-22 22:35:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/videotestsrc.c: May just as well use the precalculated uvstride here.
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21):
	  May just as well use the precalculated uvstride here.

2008-05-22 22:09:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add some documentation comments, and some new headers to be scanned.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-overrides.txt:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gio.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggdemux.h:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggmux.h:
	  * gst/audioconvert/audioconvert.c:
	  * gst/audioconvert/audioconvert.h:
	  * gst/audioconvert/gstaudioconvert.h:
	  * gst/gdp/gstgdpdepay.h:
	  * gst/gdp/gstgdppay.h:
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstdecodebin2.c:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gstplaybin2.c:
	  * gst/playback/gsturidecodebin.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gstmultifdsink.h:
	  * gst/tcp/gsttcp.h:
	  Add some documentation comments, and some new headers to be scanned.
	  Rename some internal enum declarations (audioconvert's DitherType and
	  NoiseShapingType, GstUnitType from the TCP elements) to match the
	  documented GObject type names so that the docs pick them up.
	  Name the playbin2 docs markups properly so they get picked up. They'll
	  need renaming back when/if playbin2 becomes playbin.
	  100% symbol coverage for the plugin docs, booya.

2008-05-22 18:30:15 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst/videotestsrc/videotestsrc.c: Fix generation of NV12/NV21 frames. Fixes bug #532454.
	  Original commit message from CVS:
	  Patch by: Thijs Vermeir <thijsvermeir@gmail.com>
	  * gst/videotestsrc/videotestsrc.c: (paint_hline_NV12_NV21):
	  Fix generation of NV12/NV21 frames. Fixes bug #532454.

2008-05-22 11:59:33 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/playback/gstdecodebin.c: Lock the fakesink before setting the state to NULL and removing it from the bin so that ...
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
	  * gst/playback/gstdecodebin.c: (remove_fakesink):
	  Lock the fakesink before setting the state to NULL and removing it from
	  the bin so that a concurrent state change cannot interfere.
	  Fixes #534331.

2008-05-21 17:09:42 +0000  Felipe Contreras <felipe.contreras@nokia.com>

	  docs/Makefile.am: Fix installing plugin documentation when gtk-doc is disabled.
	  Original commit message from CVS:
	  * docs/Makefile.am:
	  Fix installing plugin documentation when gtk-doc is disabled.

2008-05-21 17:01:16 +0000  Felipe Contreras <felipe.contreras@nokia.com>

	  gst-libs/gst/rtsp/Makefile.am: Distribute, don't install md5.h
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/Makefile.am:
	  Distribute, don't install md5.h

2008-05-21 16:47:58 +0000  Julien Moutte <julien@moutte.net>

	  gst/tcp/gstmultifdsink.c: Use IPPROTO_IP instead of SOL_IP, works on more platforms.
	  Original commit message from CVS:
	  2008-05-21  Julien Moutte  <julien@fluendo.com>
	  * gst/tcp/gstmultifdsink.c: (setup_dscp_client): Use IPPROTO_IP
	  instead of SOL_IP, works on more platforms.
	  * gst/typefind/gsttypefindfunctions.c: (aac_type_find): Fix printf
	  arguments.

2008-05-21 16:44:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Some debug and comment fixes.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_show_frame):
	  Some debug and comment fixes.
	  * tests/examples/dynamic/addstream.c: (main):
	  Fix , to ;

2008-05-21 16:36:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Don't use bad gst_element_get_pad().
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
	  * gst/playback/decodetest.c: (new_decoded_pad_cb):
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_init),
	  (try_to_link_1), (elem_is_dynamic), (close_link), (type_found),
	  (cleanup_decodebin):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
	  (connect_element), (gst_decode_group_control_demuxer_pad):
	  * gst/playback/gstplaybasebin.c: (queue_remove_probe),
	  (queue_out_of_data), (gen_preroll_element), (preroll_unlinked),
	  (mute_group_type):
	  * gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked),
	  (gst_play_bin_set_property), (handoff), (gen_video_element),
	  (gen_text_element), (gen_audio_element), (gen_vis_element),
	  (remove_sinks), (add_sink), (setup_sinks):
	  * gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb):
	  * gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink),
	  (gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked),
	  (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
	  (gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute),
	  (gen_video_chain), (gen_text_chain), (gen_audio_chain),
	  (gen_vis_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
	  (gst_play_sink_request_pad):
	  * gst/playback/gsturidecodebin.c: (type_found), (setup_source):
	  * gst/playback/test.c: (gen_video_element), (gen_audio_element),
	  (cb_newpad):
	  * gst/playback/test6.c: (new_decoded_pad_cb):
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  * tests/check/elements/audiorate.c: (test_injector_chain),
	  (do_perfect_stream_test):
	  * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
	  * tests/check/elements/gdpdepay.c: (GST_START_TEST):
	  * tests/check/elements/gnomevfssink.c:
	  * tests/check/elements/textoverlay.c:
	  (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2):
	  * tests/check/elements/videotestsrc.c: (GST_START_TEST):
	  * tests/check/libs/cddabasesrc.c: (GST_START_TEST):
	  * tests/check/pipelines/oggmux.c: (test_pipeline):
	  * tests/check/pipelines/streamheader.c: (GST_START_TEST):
	  * tests/check/pipelines/theoraenc.c: (GST_START_TEST):
	  * tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
	  * tests/examples/seek/scrubby.c: (make_wav_pipeline):
	  * tests/examples/seek/seek.c: (make_mod_pipeline),
	  (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline),
	  (make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline),
	  (make_theora_pipeline), (make_vorbis_theora_pipeline),
	  (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline),
	  (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline),
	  (update_fill), (msg_buffering):
	  Don't use bad gst_element_get_pad().

2008-05-21 14:35:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-media.c: Fix wrong method name in docs. Fix calculation of strf fields for broken mulaw/alaw.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c:
	  Fix wrong method name in docs. Fix calculation of strf fields for
	  broken mulaw/alaw.
	  * gst-libs/gst/riff/riff-read.c:
	  Whitespace fix and removing double ';'.

2008-05-21 11:52:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/design/part-playbin2.txt: Add some leftover doc.
	  Original commit message from CVS:
	  * docs/design/part-playbin2.txt:
	  Add some leftover doc.

2008-05-21 11:36:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstchannelmix.c: Fix copy & paste error in last commit.
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
	  Fix copy & paste error in last commit.

2008-05-21 11:30:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstchannelmix.c: Add support for mixing GST_AUDIO_CHANNEL_POSITION_SIDE_* from/to other channel posi...
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
	  Add support for mixing GST_AUDIO_CHANNEL_POSITION_SIDE_* from/to
	  other channel positions when source has SIDE channels and dest doesn't
	  or the other way around.

2008-05-21 11:29:25 +0000  Henrik Eriksson <henriken@axis.com>

	  gst/tcp/gstmultifdsink.*: Add support for DSCP QOS. Fixes #469933.
	  Original commit message from CVS:
	  Patch by: Henrik Eriksson <henriken at axis dot com>
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
	  (gst_multi_fd_sink_init), (setup_dscp_client), (setup_dscp),
	  (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_set_property),
	  (gst_multi_fd_sink_get_property):
	  * gst/tcp/gstmultifdsink.h:
	  Add support for DSCP QOS. Fixes #469933.

2008-05-21 07:46:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/elements/audioconvert.c: Add another test that checks if conversion between standard 1 and 2 channel layo...
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Add another test that checks if conversion between standard 1 and 2
	  channel layouts with and without positions set is working.

2008-05-21 07:39:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/multichannel.c: Allow non-standard 2 channel layouts.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions):
	  Allow non-standard 2 channel layouts.
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Add some tests for converting and remapping non-standard 1 and 2
	  channel layouts.

2008-05-21 07:28:04 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstchannelmix.c: Prevent division by zero if the channel mix matrix contains only zeroes.
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c:
	  (gst_channel_mix_fill_normalize):
	  Prevent division by zero if the channel mix matrix contains only
	  zeroes.

2008-05-21 06:45:22 +0000  Antoine Tremblay <hexa00@gmail.com>

	  gst/gdp/gstgdppay.c: Close a buffer memory leak. Fixes bug #534071.
	  Original commit message from CVS:
	  Patch by: Antoine Tremblay <hexa00 at gmail dot com>
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_chain):
	  Close a buffer memory leak. Fixes bug #534071.

2008-05-21 06:39:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/rtsp/gstrtsptransport.h: Make the GstRTSPTransport struct members public as there are no setters/getters...
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtsptransport.h:
	  Make the GstRTSPTransport struct members public as there are no
	  setters/getters and it's supposed to be changed directly.
	  Fixes bug #533087.

2008-05-21 05:48:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: Adder also doesn't support audio/x-raw-int with width!=depth so don't claim this on the pad tem...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Adder also doesn't support audio/x-raw-int with width!=depth so don't
	  claim this on the pad template caps.

2008-05-20 16:26:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: We can only use our optimal calibration if we prerolled before the latency exp...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_sync_latency):
	  We can only use our optimal calibration if we prerolled before the
	  latency expired.

2008-05-20 14:35:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Require core CVS for GstBaseSrc buffer caps setting magic.
	  Original commit message from CVS:
	  * configure.ac:
	  Require core CVS for GstBaseSrc buffer caps setting magic.

2008-05-20 12:26:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Fix logic in last commit.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_fixate_channels):
	  Fix logic in last commit.

2008-05-20 12:15:34 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Passthrough the channel positions if the number of output channels is the same as...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_fixate_channels):
	  Passthrough the channel positions if the number of output channels is
	  the same as the number of input channels, the input had a channel
	  layout and downstream requests no special one. We did this already for
	  > 2 channels but now it's also done for 1 channel. Fixes bug #533617.

2008-05-20 11:13:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/gnomevfs/gstgnomevfssrc.*: Set the ICY caps on the srcpad from where they get picked up by the base class now and...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init),
	  (gst_gnome_vfs_src_finalize),
	  (gst_gnome_vfs_src_received_headers_callback),
	  (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_stop):
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  Set the ICY caps on the srcpad from where they get picked up by the base
	  class now and set on the outgoing buffers.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new):
	  BaseSrc now sets the caps on outgoing buffers automatically.

2008-05-20 11:09:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Change the way in which the ringbuffer is started when dealing with a slaved c...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_resample_slaving),
	  (gst_base_audio_sink_skew_slaving),
	  (gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_async_play),
	  (gst_base_audio_sink_change_state):
	  Change the way in which the ringbuffer is started when dealing with a
	  slaved clock and latency. We now sync to the clock until we reach
	  upstream latency before starting the ringbuffer. This has the effect
	  that we can accurately align the master and slave clocks and let the
	  rate correction code take care of the initial drift or rounding errors
	  instead of leaving them uncorrected with the old approach.

2008-05-20 08:12:19 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Correctly set the default channel positions when converting to 8 channels.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_fixate_channels):
	  Correctly set the default channel positions when converting to 8
	  channels.

2008-05-19 16:13:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Error out if we don't have the required version of core.
	  Original commit message from CVS:
	  * configure.ac:
	  Error out if we don't have the required version of core.

2008-05-19 15:59:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Use data scan helper in aac typefinder and stop scanning for headers when we've ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (aac_type_find):
	  Use data scan helper in aac typefinder and stop scanning
	  for headers when we've found a type. Also fix potential invalid
	  memory access when calculating the frame length.

2008-05-19 14:09:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Don't modify scan context when we return FALSE in ensure_data, so it's possible ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (data_scan_ctx_ensure_data),
	  (mpeg_sys_is_valid_pack):
	  Don't modify scan context when we return FALSE in ensure_data, so
	  it's possible to continue scanning, and we don't end up with a NULL
	  data pointer and a positive size, which might bite us the next time
	  we're called. Small constification.

2008-05-16 21:12:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: Adder doesn't support 24 bit samples so don't claim it supports them in the pad template caps.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Adder doesn't support 24 bit samples so don't claim it supports them
	  in the pad template caps.

2008-05-14 20:28:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Validate the RTP packet before further processing it. It's just too dangerous...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain):
	  Validate the RTP packet before further processing it. It's just too
	  dangerous to accept random packets and people are not forced to use a
	  jitterbuffer or session manager to filter out the bad packets.
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  (gst_rtp_buffer_set_extension_data),
	  (gst_rtp_buffer_get_payload_subbuffer):
	  Small cleanups.
	  When setting extension data in a buffer that is too small, we fail and
	  we should not set the extension bit.
	  Change GST_WARNINGS into g_warning because they really are
	  programming errors.
	  * tests/check/libs/rtp.c: (GST_START_TEST):
	  Catch the g_warnings now in the unit tests and that fact that failing to
	  set extension data left the extension bit untouched.

2008-05-14 13:57:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioresample/gstaudioresample.c: Revert previous change which made basetransform handle buffer_alloc and which b...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
	  Revert previous change which made basetransform handle buffer_alloc
	  and which breaks things badly in the non-passthrough case since it
	  returned buffers with a different (ie. sometimes smaller) size than
	  the size requested.

2008-05-14 13:43:12 +0000  Bernard B <b-gnome@largestprime.net>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Fix seqnum compare function for bordercase values and fix the docs again. Fixes #533...
	  Original commit message from CVS:
	  Patch by: Bernard B <b-gnome at largestprime dot net>
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum):
	  Fix seqnum compare function for bordercase values and fix the docs
	  again. Fixes #533075.
	  * tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
	  Add a testcase for seqnum compare function.

2008-05-14 10:58:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/adder/gstadder.c: Correctly declare the supported endianness on the pad templates and check for correct endiannes...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_setcaps),
	  (gst_adder_class_init):
	  Correctly declare the supported endianness on the pad templates
	  and check for correct endianness in the set caps function. Adder
	  only supports native endianness.
	  Also use gst_element_class_set_details_simple().

2008-05-14 09:12:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Better debug logging in port value handling. Merging separate port value loops into one.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Better debug logging in port value handling. Merging separate port
	  value loops into one.

2008-05-13 16:02:19 +0000  Hannes Bistry <hannesb@gmx.de>

	  gst/tcp/: Fix regression in clientsrc because we did not add the fd to the poll set anymore. Fixes #532364.
	  Original commit message from CVS:
	  Patch by: Hannes Bistry <hannesb at gmx dot de>
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start):
	  * gst/tcp/gsttcpserversink.c:
	  (gst_tcp_server_sink_handle_server_read),
	  (gst_tcp_server_sink_handle_wait), (gst_tcp_server_sink_init_send):
	  Fix regression in clientsrc because we did not add the fd to the poll
	  set anymore. Fixes #532364.
	  Do some cleanups here and there.

2008-05-13 13:04:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/playback/: Use correct marshallers. GstCaps are a boxed type and no GObject subclass.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
	  * gst/playback/gstplay-marshal.list:
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
	  Use correct marshallers. GstCaps are a boxed type and no GObject
	  subclass.

2008-05-13 11:37:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstrtsp.def: Add gst_rtsp_connection_(set|clear)_auth_param() to the exported symbols.
	  Original commit message from CVS:
	  * win32/common/libgstrtsp.def:
	  Add gst_rtsp_connection_(set|clear)_auth_param() to the exported
	  symbols.

2008-05-13 10:59:49 +0000  Sjoerd Simons <sjoerd@luon.net>

	  tests/check/elements/audioresample.c: Add unit test for the latest basetransform negotiation changes.
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
	  * tests/check/elements/audioresample.c:
	  (live_switch_alloc_only_48000), (live_switch_get_sink_caps),
	  (live_switch_push), (GST_START_TEST):
	  Add unit test for the latest basetransform negotiation changes.
	  See bug #526768.

2008-05-13 09:14:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/ffmpegcolorspace/imgconvert.c: Fix nv12<->nv21 conversion if stride is larger than width.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/imgconvert.c: (nv12_to_nv21):
	  Fix nv12<->nv21 conversion if stride is larger than width.

2008-05-13 07:28:21 +0000  j^ <j@oil21.org>

	  ext/ogg/gstoggdemux.*: Parse presentation time from skeleton streams and use it as offset for the timestamps. Fixes b...
	  Original commit message from CVS:
	  Patch by: j^ <j at oil21 dot org>
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead),
	  (gst_ogg_pad_parse_skeleton_fisbone):
	  * ext/ogg/gstoggdemux.h:
	  Parse presentation time from skeleton streams and use it as offset
	  for the timestamps. Fixes bug #530068.

2008-05-12 08:45:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Revert previous patch that attempted to more accurately calculate the initial ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
	  Revert previous patch that attempted to more accurately calculate the
	  initial offset between master and slave clock. The best thing we can do
	  in general is take the time of both clocks as the diff since we don't
	  know when the actual preroll happened.

2008-05-11 19:52:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/install-plugins.c: Fix docs: type and missing word.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/install-plugins.c:
	  Fix docs: type and missing word.

2008-05-10 20:16:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Don't do lots of 4-byte peeks, but use the 'new' data scan helper for this inste...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find):
	  Don't do lots of 4-byte peeks, but use the 'new' data scan helper
	  for this instead; don't check if we've found enough markers after
	  each and every step, it's enough to do that only if we've actually
	  found a new marker.
	  Embed a G_UNLIKELY into the IS_MPEG_HEADER macro.

2008-05-10 18:19:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Move scan helper thingy to the beginning of the file so we can use it in other t...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  (DATA_SCAN_CTX_CHUNK_SIZE), (DataScanCtx), (data_scan_ctx_advance),
	  (data_scan_ctx_ensure_data), (GST_MPEGVID_TYPEFIND_TRY_SYNC),
	  (mpeg_video_stream_type_find):
	  Move scan helper thingy to the beginning of the file so we can use
	  it in other typefind functions. Rename it to something more
	  generic. Also improve handling of things towards the end of the
	  typefind data: peek as much as we can if we know the size of the
	  data, rather than just min_size.

2008-05-09 21:42:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Document the GstTuner and GstColorBalance interfaces, and some other random API functions that needed it. 70% symbol ...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/interfaces/colorbalance.c:
	  * gst-libs/gst/interfaces/colorbalance.h:
	  * gst-libs/gst/interfaces/colorbalancechannel.c:
	  * gst-libs/gst/interfaces/colorbalancechannel.h:
	  * gst-libs/gst/interfaces/tuner.c:
	  * gst-libs/gst/interfaces/tunerchannel.c:
	  * gst-libs/gst/interfaces/tunerchannel.h:
	  * gst-libs/gst/interfaces/tunernorm.c:
	  * gst-libs/gst/interfaces/tunernorm.h:
	  * gst-libs/gst/video/video.c:
	  * gst-libs/gst/video/video.h:
	  Document the GstTuner and GstColorBalance interfaces, and some
	  other random API functions that needed it. 70% symbol coverage, woo.

2008-05-09 16:38:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Choose to allocate one less segment but require one additional segment as latency.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_acquire):
	  Choose to allocate one less segment but require one additional segment
	  as latency.
	  * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_acquire):
	  No need to increment the number of segments in the source.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_get_time), (clock_convert_external),
	  (gst_base_audio_sink_resample_slaving),
	  (gst_base_audio_sink_skew_slaving),
	  (gst_base_audio_sink_none_slaving), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_async_play):
	  Remove adding latency when returning the internal time while subtracting
	  it again when we use the value a little later.
	  When calculating the end timestamp, we are making a rounding error
	  with the current algorithm. Ensure that we don't accumulate these
	  rounding errors when aligning samples by not resampling at all if we
	  don't need to. Fixes #419351.
	  Make the initial calibration of the clock slaving a little more
	  predictable and accurate. Also handle the case where we don't do
	  clock slaving.

2008-05-09 08:34:52 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/ffmpegcolorspace/: Add conversions from/to NV12 and NV21 and conversions between those two formats. Fixes bug #53...
	  Original commit message from CVS:
	  Based on a patch by:
	  Björn Benderius <bjoern dot benderius at axis dot com>
	  * gst/ffmpegcolorspace/avcodec.h:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
	  (gst_ffmpegcsp_avpicture_fill):
	  * gst/ffmpegcolorspace/imgconvert.c: (nv12_to_nv21):
	  * gst/ffmpegcolorspace/imgconvert_template.h:
	  Add conversions from/to NV12 and NV21 and conversions between those
	  two formats. Fixes bug #532166.

2008-05-08 17:35:44 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Abort the h264 typefinding as soon as _peek() doesn't return anything, which hap...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find):
	  Abort the h264 typefinding as soon as _peek() doesn't return anything,
	  which happens for example with files smaller than 128kb.

2008-05-08 14:46:27 +0000  Wouter Cloetens <zombie@e2big.org>

	  gst-libs/gst/rtsp/: Add Digest authorization support for RTSP connections. See #532065.
	  Original commit message from CVS:
	  Patch by: Wouter Cloetens <zombie at e2big dot org>
	  * gst-libs/gst/rtsp/Makefile.am:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_create), (md5_digest_to_hex_string),
	  (auth_digest_compute_hex_urp), (auth_digest_compute_response),
	  (add_auth_header), (gst_rtsp_connection_free),
	  (gst_rtsp_connection_set_auth), (str_case_hash), (str_case_equal),
	  (gst_rtsp_connection_set_auth_param),
	  (gst_rtsp_connection_clear_auth_params):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  Add Digest authorization support for RTSP connections. See #532065.
	  * gst-libs/gst/rtsp/md5.c:
	  * gst-libs/gst/rtsp/md5.h:
	  Yeap, another md5 implementation until we can depend on a glib that has
	  support for it.

2008-05-08 06:20:42 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/audioresample/gstaudioresample.c: Let audioresample use the buffer allocation of basetransform instead of it's ow...
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons <sjoerd at luon dot net>
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
	  Let audioresample use the buffer allocation of basetransform instead
	  of it's own stuff.
	  * tests/check/elements/audioresample.c: (alloc_only_48000),
	  (GST_START_TEST), (audioresample_suite):
	  Add unit test for the recent basetransform bugfix, where upstream
	  changes caps to something that can't be passed through anymore.

2008-05-07 19:50:27 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>

	  win32/common/config.h.in: Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather use the real thing than h...
	  Original commit message from CVS:
	  * win32/common/config.h.in:
	  Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
	  use the real thing than having "???" unconditionally.

2008-05-07 15:47:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Report the latency with the new seglatency parameter.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_query):
	  Report the latency with the new seglatency parameter.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_debug_spec_buff), (gst_ring_buffer_parse_caps),
	  (gst_ring_buffer_acquire):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Add new field to the ringbufferspec to specify the expected latency
	  between the underlying device read/write pointer, this is needed
	  when writing sinks that sit a little closer to the hardware.
	  Add some more docs for other fields.

2008-05-07 10:38:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/: Add marshal.list, make it compile and add to cvsignore.
	  Original commit message from CVS:
	  * gst-libs/gst/app/.cvsignore:
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/app/gstapp-marshal.list:
	  Add marshal.list, make it compile and add to cvsignore.
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose),
	  (gst_app_sink_stop):
	  Small cleanups.
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
	  (gst_app_src_init), (gst_app_src_set_property),
	  (gst_app_src_get_property), (gst_app_src_unlock),
	  (gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
	  (gst_app_src_create), (gst_app_src_set_caps),
	  (gst_app_src_get_caps), (gst_app_src_set_size),
	  (gst_app_src_get_size), (gst_app_src_set_seekable),
	  (gst_app_src_get_seekable), (gst_app_src_set_max_buffers),
	  (gst_app_src_get_max_buffers), (gst_app_src_push_buffer),
	  (gst_app_src_end_of_stream):
	  * gst-libs/gst/app/gstappsrc.h:
	  Beat appsrc in shape, add signals and actions.
	  Add some docs.
	  Add properties for caps, size, seekability and max-buffers.
	  Fix unlock/stop code.

2008-05-06 12:35:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/volume/gstvolume.c: Return NOT_NEGOTIATED if we didn't set a process function yet for some reason instead of cras...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_transform_ip):
	  Return NOT_NEGOTIATED if we didn't set a process function yet for some
	  reason instead of crashing later. Might fix bug #509125.

2008-05-06 12:12:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	  gst/audioconvert/: Add support for more than 8 channels and NONE channel layouts. For more than 8 channels no channel...
	  Original commit message from CVS:
	  Based on a patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
	  * gst/audioconvert/audioconvert.c: (audio_convert_prepare_context):
	  * gst/audioconvert/audioconvert.h:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_parse_caps),
	  (structure_has_fixed_channel_positions),
	  (gst_audio_convert_transform_caps):
	  * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_matrix):
	  Add support for more than 8 channels and NONE channel layouts. For
	  more than 8 channels no channel conversion is supported yet, only
	  format conversions are supported. Fixes bug #398033.
	  * tests/check/elements/audioconvert.c: (verify_convert),
	  (GST_START_TEST), (audioconvert_suite):
	  Add some unit tests by Tim for checking the NONE channel layouts
	  and more than 8 channels and add some more unit tests for channel
	  conversions.

2008-05-06 10:16:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: When autoplugging fails, set the element back to NULL before unreffing it.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (connect_pad):
	  When autoplugging fails, set the element back to NULL before
	  unreffing it.

2008-05-06 09:59:43 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstaudio.def: Add gst_base_audio_src_[sg]et_slave_method() to the exported symbols.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  Add gst_base_audio_src_[sg]et_slave_method() to the exported
	  symbols.

2008-05-05 12:33:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/subparse/samiparse.c: Remove trailing, leading and double whitespaces.
	  Original commit message from CVS:
	  * gst/subparse/samiparse.c: (handle_start_sync),
	  (end_sami_element), (characters_sami):
	  Remove trailing, leading and double whitespaces.
	  Correctly timestamp buffers and output the last buffer too.
	  * tests/check/elements/subparse.c: (GST_START_TEST),
	  (subparse_suite):
	  Add a simple unit test for SAMI parsing.

2008-05-05 11:14:48 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: Only output characters inside the "sync" elements. There could be other elements like "styl...
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian dot net>
	  * gst/subparse/samiparse.c: (handle_start_sync),
	  (start_sami_element), (end_sami_element), (characters_sami),
	  (sami_context_reset):
	  Only output characters inside the "sync" elements. There could be
	  other elements like "style" that have some content but should
	  not be printed. Fixes bug #467911.

2008-05-05 10:27:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.*: Start some docs.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
	  (gst_app_sink_init), (gst_app_sink_set_property),
	  (gst_app_sink_get_property), (gst_app_sink_unlock_start),
	  (gst_app_sink_unlock_stop), (gst_app_sink_flush_unlocked),
	  (gst_app_sink_start), (gst_app_sink_stop), (gst_app_sink_event),
	  (gst_app_sink_preroll), (gst_app_sink_render),
	  (gst_app_sink_set_caps), (gst_app_sink_set_drop),
	  (gst_app_sink_get_drop):
	  * gst-libs/gst/app/gstappsink.h:
	  Start some docs.
	  Add property to drop buffers when the queue is filled
	  Fix unlocking and flushing when the queues are filled.

2008-05-05 10:03:51 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/playback/: Allow setting -1 as current-audio to mute the current audio stream, similar to what is done for subtit...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (set_audio_mute),
	  (set_active_source):
	  * gst/playback/gstplaybasebin.h:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init),
	  (playbin_set_audio_mute):
	  Allow setting -1 as current-audio to mute the current audio stream,
	  similar to what is done for subtitles. Fixes bug #342294.

2008-05-05 07:41:03 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/pbutils/descriptions.c: It's SorensOn and not SorensEn.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (formats):
	  It's SorensOn and not SorensEn.

2008-05-04 15:23:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/descriptions.c: Fix description of video/x-flash-video.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (formats):
	  Fix description of video/x-flash-video.

2008-05-04 15:02:20 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Remove some unused code.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
	  * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
	  * gst/tcp/gsttcp.c: (gst_tcp_socket_write):
	  * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_get_fps_list):
	  Remove some unused code.
	  * gst/audioconvert/gstaudioquantize.c:
	  (gst_audio_quantize_free_noise_shaping):
	  Don't return before freeing the noise shaping history.

2008-05-03 16:00:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/subparse.c: Add unit test for the tmplayer variant from bug #530962.
	  Original commit message from CVS:
	  * tests/check/elements/subparse.c: (do_test),
	  (test_tmplayer_style3b), (subparse_suite):
	  Add unit test for the tmplayer variant from bug #530962.

2008-05-03 15:45:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/: Fix parsing of tmplayer subtitle variant where every single line contains text and there isn't an empt...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (handle_buffer),
	  (gst_sub_parse_sink_event):
	  * gst/subparse/tmplayerparse.c: (tmplayer_process_buffer),
	  (tmplayer_parse_line):
	  Fix parsing of tmplayer subtitle variant where every single line contains
	  text and there isn't an empty line after each line to determine the
	  duration (#530962). Improve EOS handling for tmplayer subtitles a bit by
	  making sure that we push out the last line of text without a duration if
	  there's still text left in the buffer at the end.

2008-05-03 15:39:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Fix detection of discontinuities based on the buffer offset (doesn't work so well if no b...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (feed_textbuf):
	  Fix detection of discontinuities based on the buffer offset (doesn't work
	  so well if no buffer offset is set) and also check for the DISCONT buffer
	  flag. This keeps the parser state from being reset after each buffer in
	  the unit test.

2008-05-03 12:09:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Further fine-tuning: don't absolutely require sequence or GOP headers but adjust...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg_video_stream_type_find):
	  Further fine-tuning: don't absolutely require sequence or GOP headers
	  (as introduced in the previous commit), but adjust the typefind
	  probabilities returned accordingly if we don't see them. Also make sure
	  picture header and first slice are somewhat close to each other (which
	  is not perfect but still better than requiring a fixed offset or having
	  no limit at all).

2008-05-02 12:13:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Rename the setcaps/getcaps function internally to make it clear that they are c...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
	  (gst_basertppayload_sink_setcaps),
	  (gst_basertppayload_sink_getcaps):
	  Rename the setcaps/getcaps function internally to make it clear that
	  they are called for the sink pad.

2008-05-02 12:11:07 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Catch packet-lost events from the jitterbuffer and convert them into a vmetho...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_class_init),
	  (gst_base_rtp_depayload_handle_sink_event), (create_segment_event),
	  (gst_base_rtp_depayload_packet_lost),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Catch packet-lost events from the jitterbuffer and convert them into a
	  vmethod call (lost-packet) so that depayloaders can do something smart.
	  Also add a default packet-lost function that sends out a segment update
	  to the decoders.

2008-05-02 11:13:05 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/: Also include config.h when relying on defines from it. Fixes the build. Its been a please to serve :)
	  Original commit message from CVS:
	  * gst/playback/test4.c:
	  * gst/playback/test5.c:
	  * gst/playback/test6.c:
	  * gst/playback/test7.c:
	  Also include config.h when relying on defines from it. Fixes the
	  build. Its been a please to serve :)

2008-05-02 10:54:51 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	* ChangeLog:
	* gst/videotestsrc/videotestsrc.c:
	  Add support for NV12 and NV21 in videotestsrc
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c (paint_setup_NV12),
	  (paint_setup_NV21), (paint_hline_NV12_NV21):
	  Add support for NV12 and NV21 in videotestsrc

2008-05-02 10:02:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/videoscale/: Support 1x1 images as input and output as for example the BBC HQ new streams have 1x1 GIFs in the pl...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c:
	  * gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
	  * gst/videoscale/vs_image.c: (vs_image_scale_nearest_RGBA),
	  (vs_image_scale_linear_RGBA), (vs_image_scale_nearest_RGB),
	  (vs_image_scale_linear_RGB), (vs_image_scale_nearest_YUYV),
	  (vs_image_scale_linear_YUYV), (vs_image_scale_nearest_UYVY),
	  (vs_image_scale_linear_UYVY), (vs_image_scale_nearest_Y),
	  (vs_image_scale_linear_Y), (vs_image_scale_nearest_RGB565),
	  (vs_image_scale_linear_RGB565), (vs_image_scale_nearest_RGB555),
	  (vs_image_scale_linear_RGB555):
	  Support 1x1 images as input and output as for example the BBC HQ new
	  streams have 1x1 GIFs in the playlists for some reason.

2008-05-01 19:11:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: If we can't activate one of the decoders we plugged in (such as, say, musepackdec) for s...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (free_pad_probe_for_element),
	  (try_to_link_1):
	  If we can't activate one of the decoders we plugged in (such as,
	  say, musepackdec) for some reason (it might not support push mode,
	  for example), remove any pad probes that close_pad_link() might
	  have set up. This makes sure we later don't try to remove a probe
	  for a pad that doesn't exist any longer, and avoids nast warnings
	  and probably other things too.

2008-04-30 20:54:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Rework mpeg video stream typefinding a bit more: make sure sequence,
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  (mpeg_video_stream_ctx_ensure_data), (mpeg_video_stream_type_find),
	  (plugin_init):
	  Rework mpeg video stream typefinding a bit more: make sure sequence,
	  GOP, picture and slice headers appear in the order they should and
	  that we've in fact at least had one of each; fix picture header
	  detection; decouple picture and slice header check - don't assume
	  they're at a fixed offset, there may be extra data in between. Also,
	  announce varying degrees of probability depending on what we found
	  exactly (multiple pictures, at least one picture, just sequence and
	  GOP headers). Finally, in _ensure_data(), take into account that we
	  might be typefinding smaller amounts of data, such as the first
	  buffer of a stream, so fall back to the minimum size needed as long
	  as that's available, instead of erroring out if there's less than
	  2kB of data. Fixes #526173. Conveniently also doesn't recognise the
	  fuzzed file from #399342 as valid.

2008-04-30 17:06:45 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Cool kids don't divide by zero.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c:
	  Cool kids don't divide by zero.
	  Treat PAR of x:0 as 1:1.
	  Fixes #530719.

2008-04-30 14:37:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Refactor a bit: use context structure to track parsing offset and size of availa...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (MpegVideoStreamCtx),
	  (mpeg_video_stream_ctx_advance), (mpeg_video_stream_ctx_ensure_data),
	  (mpeg_video_stream_type_find):
	  Refactor a bit: use context structure to track parsing offset and size of
	  available data and make the code a bit clearer. Fixes bad memory access
	  in #356937.

2008-04-28 22:18:49 +0000  Michael Smith <msmith@xiph.org>

	  gst/: Include stdlib.h and unistd.h only if the appropriate HAVE_*_H macro is defined.
	  Original commit message from CVS:
	  * gst/playback/test4.c:
	  * gst/playback/test5.c:
	  * gst/playback/test6.c:
	  * gst/tcp/gstmultifdsink.c:
	  Include stdlib.h and unistd.h only if the appropriate HAVE_*_H macro
	  is defined.

2008-04-28 08:51:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.h: Clarify some docs.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Clarify some docs.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (slave_method_get_type),
	  (gst_base_audio_src_class_init), (gst_base_audio_src_init),
	  (gst_base_audio_src_set_slave_method),
	  (gst_base_audio_src_get_slave_method),
	  (gst_base_audio_src_set_property),
	  (gst_base_audio_src_get_property), (gst_base_audio_src_create):
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  Add property and methods for selecting the clock slave method in the
	  source, like in the sink.
	  We only implement "none" and "re-timestamp" for now.
	  API: gst_base_audio_src_set_slave_method()
	  API: gst_base_audio_src_get_slave_method()

2008-04-25 18:18:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.*: Add more docs.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init),
	  (gst_app_sink_init), (gst_app_sink_set_property),
	  (gst_app_sink_get_property), (gst_app_sink_event),
	  (gst_app_sink_preroll), (gst_app_sink_render),
	  (gst_app_sink_set_emit_signals), (gst_app_sink_get_emit_signals),
	  (gst_app_sink_set_max_buffers), (gst_app_sink_get_max_buffers),
	  (gst_app_sink_pull_buffer):
	  * gst-libs/gst/app/gstappsink.h:
	  Add more docs.
	  Add signals for when preroll and render buffers are available.
	  Add property to control signal emission.
	  Add property to control the max queue size.

2008-04-25 07:37:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Fix the docs about the seqnum compare function, it returns a difference.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  Fix the docs about the seqnum compare function, it returns a difference.

2008-04-24 09:27:35 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/alsa/gstalsadeviceprobe.c: Don't return before freeing up the allocated structures.
	  Original commit message from CVS:
	  * ext/alsa/gstalsadeviceprobe.c:
	  (gst_alsa_get_device_list): Don't return before freeing up
	  the allocated structures.

2008-04-24 08:19:35 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstplaybin.c: Remove obsolete streaminfo code and fix a leak. Fixes #529546
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c:
	  Remove obsolete streaminfo code and fix a leak. Fixes #529546

2008-04-23 13:50:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/ogg/gstoggdemux.c: Revert the event part, that should not go in.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c:
	  Revert the event part, that should not go in.

2008-04-23 13:45:29 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/ogg/gstoggdemux.c: Don't leak GstPluginFeatures when filtering.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c:
	  Don't leak GstPluginFeatures when filtering.

2008-04-23 08:58:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Add some logging for cases when grabbing the xv failed.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Add some logging for cases when grabbing the xv failed.

2008-04-22 06:18:04 +0000  David Schleef <ds@schleef.org>

	  ext/ogg/gstoggmux.c: Update Ogg/Dirac muxing.  Removes the weird "KW-DIRAC" bos packet.  Should conform to what we cu...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  Update Ogg/Dirac muxing.  Removes the weird "KW-DIRAC" bos
	  packet.  Should conform to what we currently think is the
	  final Ogg/Dirac muxing spec.

2008-04-22 06:13:43 +0000  David Schleef <ds@schleef.org>

	  sys/xvimage/xvimagesink.c: Fix typo that causes the overlay keying color to bright green on a 16-bit display.  Dark g...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Fix typo that causes the overlay keying color to bright green
	  on a 16-bit display.  Dark grey good.  Bright green bad.

2008-04-21 13:47:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/gnomevfs/gstgnomevfsuri.c: Add  FIXME comment about using uri-list for source and sink.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfsuri.c:
	  Add  FIXME comment about using uri-list for source and sink.

2008-04-20 11:42:37 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/ogg/gstogmparse.c: GST_TYPE_FRACTION contains gints so correctly cast gint64 arguments to vaargs functions to gin...
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
	  GST_TYPE_FRACTION contains gints so correctly cast gint64 arguments to
	  vaargs functions to gint. Otherwise the fractions will get 0 set
	  instead of the correct value on big endian systems. Fixes bug #529018.

2008-04-20 10:17:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gnomevfs/: Get the list of supported URI schemes in a threadsafe way and use the same list for the source and sink.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  (gst_gnome_vfs_sink_uri_get_protocols):
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  (gst_gnome_vfs_src_uri_get_protocols):
	  * ext/gnomevfs/gstgnomevfsuri.c: (_internal_get_supported_uris),
	  (gst_gnomevfs_get_supported_uris):
	  Get the list of supported URI schemes in a threadsafe way and use the
	  same list for the source and sink.

2008-04-20 10:11:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Don't generate a new supported protocols list on each call but cache it. It's supposed to be static...
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (_internal_get_supported_protocols),
	  (gst_gio_get_supported_protocols):
	  Don't generate a new supported protocols list on each call but cache
	  it. It's supposed to be static anyway, this way we only leak it once
	  per process.
	  * ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
	  (gst_gio_sink_class_init), (gst_gio_sink_finalize),
	  (gst_gio_sink_set_property), (gst_gio_sink_get_property),
	  (gst_gio_sink_start):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
	  (gst_gio_src_class_init), (gst_gio_src_finalize),
	  (gst_gio_src_set_property), (gst_gio_src_get_property),
	  (gst_gio_src_start):
	  * ext/gio/gstgiosrc.h:
	  API: Add "file" properties where one can set a GFile as source/destination.
	  Add locking to the properties and use gst_element_class_set_details_simple()
	  instead of a static GstElementDetails struct.

2008-04-19 20:06:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add "mpp" and "mp+" as possible extensions for MusePack files.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
	  (plugin_init):
	  Add "mpp" and "mp+" as possible extensions for MusePack files.
	  Add typefinding for MusePack StreamVersion 8 files and include the
	  stream version in the caps.

2008-04-19 16:33:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/rtp/gstrtppayloads.c: Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp().
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtppayloads.c:
	  (gst_rtp_payload_info_for_name):
	  Use g_ascii_strcasecmp() instead of the deprecated g_strcasecmp().

2008-04-18 17:10:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Bump Gtk+ requirement to 2.12.0 for gtk_range_set_fill_level (NB: this only affects compilation of some...
	  Original commit message from CVS:
	  * configure.ac:
	  Bump Gtk+ requirement to 2.12.0 for gtk_range_set_fill_level
	  (NB: this only affects compilation of some of the examples).
	  Remove some configure.ac cruft that's not needed any longer.

2008-04-18 14:54:01 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/gdp/gstgdpdepay.c: Don't validate the payload if there isn't any.
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
	  Don't validate the payload if there isn't any.
	  Fixes #525915

2008-04-17 07:33:46 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/gstringbuffer.c: Use g_atomic_int_set() instead of gst_atomic_int_set().
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_may_start):
	  Use g_atomic_int_set() instead of gst_atomic_int_set().

2008-04-17 07:29:28 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Return NULL instead of a gchar * array with one NULL element if we don't get any supported URI sche...
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
	  Return NULL instead of a gchar * array with one NULL element if we
	  don't get any supported URI schemes from GIO.

2008-04-15 19:06:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audiotestsrc/gstaudiotestsrc.c: Remove cpp style commented old code.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  Remove cpp style commented old code.

2008-04-15 19:02:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstdecodebin2.c: Fix signal docs.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  Fix signal docs.

2008-04-14 17:58:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Fix textoverlay unit test again by making the supposed default value for the wait-text pr...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
	  (gst_text_overlay_init):
	  Fix textoverlay unit test again by making the supposed default
	  value for the wait-text property the actual default value.
	  Also fix Since: tag for new property.

2008-04-11 17:13:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/video/video.c: Add guards to these functions to ensure sane input values.
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: (gst_video_format_new_caps),
	  (gst_video_format_to_fourcc), (gst_video_format_get_row_stride),
	  (gst_video_format_get_pixel_stride),
	  (gst_video_format_get_component_width),
	  (gst_video_format_get_component_height),
	  (gst_video_format_get_component_offset), (gst_video_format_get_size),
	  (gst_video_format_convert):
	  Add guards to these functions to ensure sane input values.
	  * tests/check/libs/video.c:
	  Fix unit test not to create caps with width=0 and height=0.

2008-04-11 01:25:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/design/draft-keyframe-force.txt: Fix typo.
	  Original commit message from CVS:
	  * docs/design/draft-keyframe-force.txt:
	  Fix typo.
	  * gst/playback/gstqueue2.c: (update_buffering),
	  (gst_queue_handle_src_query):
	  Set buffering mode in the messages.
	  Set buffering percent in the query.
	  * tests/examples/seek/seek.c: (update_fill), (msg_state_changed),
	  (do_stream_buffering), (do_download_buffering), (msg_buffering):
	  Do some more fancy things based on the buffering method in use.

2008-04-09 21:42:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add basic download reports to seek using the new buffering API.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (update_fill), (set_update_fill),
	  (play_cb), (pause_cb), (stop_cb), (msg_state_changed),
	  (msg_buffering), (main):
	  Add basic download reports to seek using the new buffering API.

2008-04-09 21:40:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Include extra buffering stats in the buffering message.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (update_buffering),
	  (gst_queue_close_temp_location_file), (gst_queue_handle_src_query),
	  (gst_queue_src_checkgetrange_function):
	  Include extra buffering stats in the buffering message.
	  Implement BUFFERING query.
	  * gst/playback/gsturidecodebin.c: (do_async_start),
	  (do_async_done), (type_found), (setup_streaming), (setup_source),
	  (gst_uri_decode_bin_change_state):
	  Only add decodebin2 when the type is found in streaming mode.
	  Make uridecodebin async to PAUSED even when we don't have decodebin2
	  added yet.

2008-04-09 08:38:19 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Filter cdda from the supported URI schemes. We can't support musicbrainz tags and everything else o...
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
	  Filter cdda from the supported URI schemes. We can't support
	  musicbrainz tags and everything else one expects from a cdda source
	  with GIO. Fixes bug #526794.

2008-04-07 22:37:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* sys/xvimage/xvimagesink.c:
	  Fix calculation of 'expected size' for YV12 buffers.
	  Original commit message from CVS:
	  2008-04-07  Jan Schmidt  <jan.schmidt@sun.com>
	  * sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_buffer_alloc):
	  Fix calculation of 'expected size' for YV12 buffers.
	  Be a little more verbose in the debug output for buffer-alloc'ed
	  buffers which turn out to have the wrong size.

2008-04-07 22:26:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  Fix calculation of 'expected size' for YV12 buffers.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_buffer_alloc):
	  Fix calculation of 'expected size' for YV12 buffers.
	  Be a little more verbose in the debug output for buffer-alloc'ed
	  buffers which turn out to have the wrong size.

2008-04-07 10:50:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Merge other changes from 0.10.19 release branch.
	  Original commit message from CVS:
	  * NEWS:
	  * RELEASE:
	  * gst-plugins-base.doap:
	  Merge other changes from 0.10.19 release branch.

2008-04-06 20:16:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Work around missing bits of thread-safety on older GLibs some more to avoid assertions when starting up multipl...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init):
	  * gst/playback/gstplayback.c: (plugin_init):
	  * gst/volume/gstvolume.c: (plugin_init):
	  Work around missing bits of thread-safety on older GLibs some
	  more to avoid assertions when starting up multiple playbin
	  objects concurrently (see #512382).

2008-04-06 17:19:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/missing-plugins.c: Remove some more fields.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
	  Remove some more fields.

2008-04-06 08:56:07 +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-03 23:01:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Bump version to 0.10.19.1 after the unplanned 0.10.19 release.
	  Original commit message from CVS:
	  * configure.ac:
	  Bump version to 0.10.19.1 after the unplanned 0.10.19 release.

2008-04-03 16:10:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add statusbar.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (play_cb), (pause_cb), (stop_cb),
	  (msg_buffering), (connect_bus_signals), (main):
	  Add statusbar.
	  Add buffering support with feedback in the statusbar.

2008-04-03 15:58:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggmux.c: Fix sample pipeline description.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  Fix sample pipeline description.

2008-04-03 14:58:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: Add playbin, playbin2, decodebin, decodebin2, uridecodebin and oggmux
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-overrides.txt:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  Add playbin, playbin2, decodebin, decodebin2, uridecodebin and oggmux
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  Update introspection data.
	  * ext/ogg/gstoggmux.c:
	  Document oggmux.
	  * gst/playback/gstdecodebin2.c:
	  Don't use gtk-doc style comment start for private stuff, but make it
	  formatted like this for consistency.

2008-04-03 12:16:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Remove fakesink hack, we can now implement this more elegantly.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
	  (gst_decode_bin_init), (gst_decode_bin_dispose),
	  (gst_decode_bin_set_sink_caps), (gst_decode_bin_get_sink_caps),
	  (gst_decode_bin_set_property), (gst_decode_bin_get_property),
	  (analyze_new_pad), (connect_pad), (expose_pad),
	  (gst_decode_group_new), (gst_decode_group_control_demuxer_pad),
	  (gst_decode_group_expose), (gst_decode_group_free),
	  (do_async_start), (do_async_done), (gst_decode_bin_change_state):
	  Remove fakesink hack, we can now implement this more elegantly.
	  Added property to bypass typefinding.
	  Removed underrun callback and demuxer pad probe, we now use the srcpad
	  probe to expose groups.
	  API::sink-caps property
	  * gst/playback/gstplaybin2.c: (no_more_pads_cb):
	  Guard against multiple emissions of the no_more_pads signal, which
	  happens when we are dealing with chained oggs.
	  * gst/playback/gsturidecodebin.c: (remove_decoders),
	  (make_decoder), (type_found), (setup_streaming), (source_new_pad),
	  (setup_source):
	  For streams, use our own typefind element and plug our queue after it.
	  We will need this to determine the type of buffering to use for the
	  queue soon.

2008-04-03 10:37:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Guard against over and underflows because of clock slaving.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render):
	  Guard against over and underflows because of clock slaving.
	  When we are using our own clock, still compensate for any calibrations
	  that we might have done to our clock.

2008-04-03 10:22:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Don't try to do anything fancy with the return code from pushing an event, it does not have e...
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_handle_type_packet),
	  (theora_dec_chain):
	  Don't try to do anything fancy with the return code from pushing an
	  event, it does not have enough information to turn it into a
	  GST_FLOW_ERROR.

2008-04-03 10:19:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Add small debug line.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_reset),
	  (gst_ogg_demux_chain_elem_pad):
	  Add small debug line.
	  Pass return code from the internal decoder instead of the too generic
	  GST_FLOW_ERROR.

2008-04-03 06:39:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/cdda/: Use GLib's base64 implementation instead of our own.
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/Makefile.am:
	  * gst-libs/gst/cdda/base64.c:
	  * gst-libs/gst/cdda/base64.h:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cddabasesrc_calculate_musicbrainz_discid):
	  Use GLib's base64 implementation instead of our own.

2008-04-02 15:41:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Refix oggdemux, we only have a problem if we failed to find a chain and we are not EOF.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
	  (gst_ogg_demux_read_chain):
	  Refix oggdemux, we only have a problem if we failed to find a chain and
	  we are not EOF.

2008-04-02 15:07:01 +0000  Victor STINNER <victor.stinner@haypocalc.com>

	  ext/ogg/gstoggdemux.c: When we fail to find a BOS page and we and up with no chain, error out properly instead of seg...
	  Original commit message from CVS:
	  Patch by: Victor STINNER <victor dot stinner at haypocalc dot com>
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
	  (gst_ogg_demux_read_chain):
	  When we fail to find a BOS page and we and up with no chain, error out
	  properly instead of segfaulting. Fixes #525665.

2008-04-02 14:58:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: The new-pad-group sequence is add-pads, no-more-pads, add-pads, no-more-pads...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain),
	  (gst_ogg_demux_read_chain), (gst_ogg_demux_handle_page):
	  The new-pad-group sequence is add-pads, no-more-pads, add-pads,
	  no-more-pads...

2008-04-02 11:08:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Update the estimated input data when we push out a buffer.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (update_out_rates),
	  (gst_queue_open_temp_location_file),
	  (gst_queue_close_temp_location_file), (gst_queue_handle_src_event),
	  (gst_queue_handle_src_query), (gst_queue_set_property):
	  Update the estimated input data when we push out a buffer.
	  Add some debug info about the temp file.
	  Only forward src events when we are not using a temp file.
	  Don't block the duration query, we need to find something better.
	  Don't leak the temp filename.

2008-04-01 14:01:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Require GLib 2.12 and liboil 0.3.14.
	  Original commit message from CVS:
	  * configure.ac:
	  Require GLib 2.12 and liboil 0.3.14.
	  * gst/volume/gstvolume.c: (volume_process_double):
	  Unconditionally use liboil 0.3.14 function.

2008-03-31 16:08:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: ms-gsm can have arbitrarty sample rates. See #481354.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  ms-gsm can have arbitrarty sample rates. See #481354.

2008-03-28 16:22:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: MP4S is generic MPEG-4, not a microsoft variant.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  MP4S is generic MPEG-4, not a microsoft variant.

2008-03-27 15:26:38 +0000  Michael Smith <msmith@xiph.org>

	  gst/gdp/gstgdpdepay.c: Check the body CRC (if set) when depayloading.
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
	  Check the body CRC (if set) when depayloading.
	  Fixes #522401.

2008-03-24 17:45:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Fix Since: version for new property.
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
	  Fix Since: version for new property.

2008-03-24 16:40:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Don't error when poll_wait returns EAGAIN.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect), (gst_rtsp_connection_write),
	  (gst_rtsp_connection_read_internal), (gst_rtsp_connection_poll):
	  Don't error when poll_wait returns EAGAIN.

2008-03-24 14:08:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: The queue is never filled when there are no buffers in the queue at all.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_is_filled):
	  The queue is never filled when there are no buffers in the queue at all.
	  Fixes #523993.

2008-03-24 12:26:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Update some docs.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (init_group), (free_group), (gst_play_bin_init),
	  (gst_play_bin_finalize), (gst_play_bin_set_uri),
	  (gst_play_bin_set_suburi), (gst_play_bin_get_video_tags),
	  (gst_play_bin_get_audio_tags), (gst_play_bin_get_text_tags),
	  (gst_play_bin_set_current_video_stream),
	  (gst_play_bin_set_current_audio_stream),
	  (gst_play_bin_set_current_text_stream),
	  (gst_play_bin_set_encoding), (gst_play_bin_set_property),
	  (gst_play_bin_get_property), (pad_added_cb), (pad_removed_cb),
	  (no_more_pads_cb), (perform_eos), (autoplug_select_cb),
	  (activate_group), (deactivate_group), (setup_next_source),
	  (save_current_group), (gst_play_bin_change_state):
	  Update some docs.
	  Add new locks and conds to protect pipeline creation and group
	  switching.
	  Implement the sub-uri property.
	  Keep track of pending uridecodebin creation and configure the output
	  pipeline after all streams are configured.
	  Propagate subtitle encoding to the uridecodebins.
	  Implement getting the video/audio/visualisation elements.
	  Use input-selector for stream switching.
	  If we are asked to do visualisation, prefer to autoplug raw sinks
	  instead of sinks that accept encoded data.

2008-03-24 12:15:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.*: Add methods to get audio/video/vis elements.
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gst_play_sink_class_init),
	  (gst_play_sink_init), (gst_play_sink_dispose),
	  (gst_play_sink_set_video_sink), (gst_play_sink_get_video_sink),
	  (gst_play_sink_set_audio_sink), (gst_play_sink_get_audio_sink),
	  (gst_play_sink_vis_unblocked), (gst_play_sink_vis_blocked),
	  (gst_play_sink_set_vis_plugin), (gst_play_sink_get_vis_plugin),
	  (gst_play_sink_set_volume), (gst_play_sink_get_volume),
	  (gst_play_sink_set_mute), (gen_video_chain), (gen_text_chain),
	  (gen_audio_chain), (gen_vis_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
	  (gst_play_sink_send_event_to_sink), (gst_play_sink_change_state):
	  * gst/playback/gstplaysink.h:
	  Add methods to get audio/video/vis elements.
	  Add methods to set the font description for the overlay.
	  Remove properties, we're using this element with its methods only.
	  Add support for subtitles.
	  Rearrange the locking a bit to not use the object lock for protecting
	  the pipeline construction.
	  Try to use the volume and mute property on the sink when its available.
	  Implement the mute option with volume when the sink does not have a mute
	  property.
	  Only add volume element when the sink has no volume property.
	  Only do visualisations with raw audio pads.

2008-03-24 12:03:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/pango/gsttextoverlay.*: Add property to configure waiting for text on the textpad or not, with the default behavi...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
	  (gst_text_overlay_init), (gst_text_overlay_set_property),
	  (gst_text_overlay_get_property), (gst_text_overlay_src_event),
	  (gst_text_overlay_text_event), (gst_text_overlay_video_event),
	  (gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
	  (gst_text_overlay_change_state):
	  * ext/pango/gsttextoverlay.h:
	  Add property to configure waiting for text on the textpad or not, with
	  the default behaviour being the old one (always wait for text before
	  rendering the video). This default behaviour is usually not the best one
	  because the text stream can very sparse and could require queueing a lot
	  of video.
	  Fix the flushing and EOS handing so that we don't mix up their meaning.

2008-03-24 11:54:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gsturidecodebin.c: Add a readonly source property and notify.
	  Original commit message from CVS:
	  * gst/playback/gsturidecodebin.c:
	  (gst_uri_decode_bin_autoplug_factories),
	  (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
	  (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_encoding),
	  (gst_uri_decode_bin_set_property),
	  (gst_uri_decode_bin_get_property), (no_more_pads_full),
	  (new_decoded_pad_cb), (gen_source_element), (remove_decoders),
	  (proxy_autoplug_factories_signal), (make_decoder),
	  (source_new_pad), (setup_source):
	  Add a readonly source property and notify.
	  Add new lock for protecting the construction of the pipeline.
	  Keep track of the decodebins we plugged.
	  Correctly proxy the autoplug signal so that it actually continues.
	  Proxy subtitle-encoding to the decodebins.

2008-03-24 11:46:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Rearrange some buttons in playbin2 and make some other boxes insensitive when needed.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (audio_toggle_cb), (video_toggle_cb),
	  (text_toggle_cb), (update_streams), (main):
	  Rearrange some buttons in playbin2 and make some other boxes insensitive
	  when needed.
	  Add language codes to subtitle selection boxes when we gind the right
	  tags for the streams.

2008-03-24 11:36:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Protect caps property with the object lock.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
	  (gst_decode_bin_set_caps), (gst_decode_bin_get_caps),
	  (gst_decode_bin_set_subs_encoding),
	  (gst_decode_bin_get_subs_encoding),
	  (gst_decode_bin_autoplug_factories), (connect_pad), (are_raw_caps),
	  (deactivate_free_recursive):
	  Protect caps property with the object lock.
	  Protect encoding property with the object lock.
	  Keep list of elements we added that have the subtitle-encoding property.
	  Distribute the subtitle-encoding to all of the elements when it
	  changes.

2008-03-24 11:24:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Small debug improvement.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (gst_audioringbuffer_release):
	  Small debug improvement.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  Fix bug in determining the sample start/stop position, we want to base
	  this decision on the fact that we are going forwards or backwards, not
	  slower or faster. This fixes some ugly resync warnings when playing at
	  very slow speeds.

2008-03-23 13:41:28 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Correctly set the supported URI schemes and don't leave some schemes in the middle or at the start ...
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
	  Correctly set the supported URI schemes and don't leave
	  some schemes in the middle or at the start at NULL.

2008-03-23 13:12:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/gdpdepay.c: Make test compile without unused function/variable warnings on PPC.
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c:
	  Make test compile without unused function/variable warnings on PPC.

2008-03-22 15:00:53 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use static strings (i.e. all). This gives us less memory u...
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_class_init):
	  * ext/alsa/gstalsasink.c: (gst_alsasink_class_init):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  (gst_cd_paranoia_src_class_init):
	  * ext/gio/gstgiosink.c: (gst_gio_sink_class_init):
	  * ext/gio/gstgiosrc.c: (gst_gio_src_class_init):
	  * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_class_init):
	  * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_class_init):
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init):
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
	  * ext/pango/gsttextrender.c: (gst_text_render_class_init):
	  * ext/theora/theoradec.c: (gst_theora_dec_class_init):
	  * ext/theora/theoraenc.c: (gst_theora_enc_class_init):
	  * ext/theora/theoraparse.c: (gst_theora_parse_class_init):
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_class_init):
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  (gst_audio_filter_template_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init):
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_class_init):
	  * gst-libs/gst/interfaces/mixertrack.c:
	  (gst_mixer_track_class_init):
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_class_init):
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_class_init):
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_class_init):
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_class_init):
	  * gst/audioresample/gstaudioresample.c:
	  (gst_audioresample_class_init):
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_class_init):
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (preroll_unlinked):
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init):
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init):
	  * gst/playback/gstplaysink.c: (gst_play_sink_class_init):
	  * gst/playback/gstqueue2.c: (gst_queue_class_init):
	  * gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
	  * gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
	  (gst_stream_selector_class_init):
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init):
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
	  * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
	  * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
	  * gst/videorate/gstvideorate.c: (gst_video_rate_class_init):
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_class_init):
	  * gst/volume/gstvolume.c: (gst_volume_class_init):
	  * sys/v4l/gstv4lelement.c: (gst_v4lelement_class_init):
	  * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
	  * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init):
	  * sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
	  Use G_PARAM_STATIC_STRINGS everywhere for GParamSpecs that use
	  static strings (i.e. all). This gives us less memory usage,
	  fewer allocations and thus less memory defragmentation. Depend
	  on core CVS for this. Fixes bug #523806.

2008-03-22 14:13:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Filter http and https protocols. GIO/GVfs handles them but it's impossible to implement iradio/icec...
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
	  Filter http and https protocols. GIO/GVfs handles them but it's
	  impossible to implement iradio/icecast with it. Better use
	  souphttpsrc or something else for this.
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
	  If getting the file informations by a query fails try it with the
	  seek-to-end trick too.

2008-03-21 16:46:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/volume/gstvolume.c: memset buffers to zero if we get a GAP buffer. We usually see a buffer as one unit so let's h...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (gst_volume_interface_supported),
	  (gst_volume_base_init), (gst_volume_class_init),
	  (volume_process_double), (volume_process_float),
	  (volume_transform_ip), (plugin_init):
	  memset buffers to zero if we get a GAP buffer. We usually see a
	  buffer as one unit so let's handle it as one and don't care about
	  volume changes while processing one buffer.
	  Also clean up some stuff a bit.

2008-03-21 15:58:44 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Make audioconvert GAP-aware by outputting silence buffers when the input has the ...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init),
	  (gst_audio_convert_create_silence_buffer),
	  (gst_audio_convert_transform):
	  Make audioconvert GAP-aware by outputting silence buffers when the
	  input has the GAP flag set. This is up to 8x faster.
	  Based on a patch by Stefan Kost. Fixes bug #517813.

2008-03-21 15:54:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/volume/gstvolume.c: Use oil_scalarmultiply_f64_ns() for double processing when it's available at compile time.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_process_double):
	  Use oil_scalarmultiply_f64_ns() for double processing when it's
	  available at compile time.

2008-03-21 13:27:47 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Fix lrint/lrintf checks to actually work. These functions are in libm on Linux at least so try to link ...
	  Original commit message from CVS:
	  * configure.ac:
	  Fix lrint/lrintf checks to actually work. These functions are
	  in libm on Linux at least so try to link to it.

2008-03-21 00:36:20 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Back to development - 0.10.18.1
	  Original commit message from CVS:
	  * configure.ac:
	  Back to development - 0.10.18.1

=== release 0.10.18 ===

2008-03-21 00:26:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-queue2.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-uridecodebin.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* po/LINGUAS:
	* win32/common/config.h:
	  Release 0.10.18
	  Original commit message from CVS:
	  Release 0.10.18

2008-03-21 00:16:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* 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/fi.po:
	* po/hu.po:
	* po/it.po:
	* po/lt.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.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-03-18 12:19:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  0.10.17.4 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/common/config.h:
	  0.10.17.4 pre-release

2008-03-18 11:20:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.c: Use GST_STR_NULL when trying to print strings that could be NULL because this might...
	  Original commit message from CVS:
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_dump):
	  Use GST_STR_NULL when trying to print strings that could be NULL because
	  this might crash on some platforms. See #520808.

2008-03-18 11:10:12 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Generic Windows fixes that makes libgstrtsp work on Windows when coupled with ...
	  Original commit message from CVS:
	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect), (gst_rtsp_connection_write),
	  (read_line), (gst_rtsp_connection_read_internal):
	  Generic Windows fixes that makes libgstrtsp work on Windows when
	  coupled with the new GstPoll API. See #520808.

2008-03-17 22:06:56 +0000  Milosz Derezynski <internalerror@gmail.com>

	  ext/gio/gstgiobasesrc.c: If seeking to a new position succeeds don't simply return from create() without creating a b...
	  Original commit message from CVS:
	  Patch by: Milosz Derezynski <internalerror at gmail dot com>
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_create):
	  If seeking to a new position succeeds don't simply return from
	  create() without creating a buffer. Do this only in the case
	  seeking to the new position fails. Fixes bug #523054.

2008-03-17 10:32:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/video/video.c: Fix gst_video_format_parse_caps() for RGB caps with alpha channel (#522635).
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: (gst_video_format_parse_caps),
	  (gst_video_format_from_rgba32_masks):
	  Fix gst_video_format_parse_caps() for RGB caps with alpha channel
	  (#522635).
	  * tests/check/libs/video.c: (test_parse_caps_rgb), (video_suite):
	  Add unit test for the RGB caps parsing and creation, checking for
	  internal consistency of the new API and consistency of the API with
	  the old GST_VIDEO_CAPS_* defines.

2008-03-14 18:42:35 +0000  David Schleef <ds@schleef.org>

	  gst/videotestsrc/videotestsrc.c: Oops, revert last change because -base is in freeze.
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c:  Oops, revert last change
	  because -base is in freeze.

2008-03-14 17:33:09 +0000  William M. Brack <wbrack@mmm.hk>

	  gst/videotestsrc/videotestsrc.c: Fix Bayer pattern generation.
	  Original commit message from CVS:
	  Patch by: William M. Brack
	  * gst/videotestsrc/videotestsrc.c: Fix Bayer pattern generation.

2008-03-14 09:54:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gststreamselector.*: Revert change that caused regression until a real fix is found.
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c: (gst_selector_pad_event),
	  (gst_selector_pad_chain):
	  * gst/playback/gststreamselector.h:
	  Revert change that caused regression until a real fix is found.
	  Fixes #522203.

2008-03-12 12:39:13 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/audio/gstringbuffer.*: Rename recently added buffer types to make more sense.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Rename recently added buffer types to make more sense.
	  * ext/alsa/gstalsasink.c: (alsasink_parse_spec),
	  (gst_alsasink_write):
	  Adapt for above API changes.
	  Fixes bug #520523.

2008-03-11 13:23:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  win32/common/libgstnetbuffer.def: Add new symbol gst_netaddress_equal. Fixes bug #521743.
	  Original commit message from CVS:
	  * win32/common/libgstnetbuffer.def:
	  Add new symbol gst_netaddress_equal. Fixes bug #521743.

2008-03-11 00:25:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  0.10.17.3 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/common/config.h:
	  0.10.17.3 pre-release

2008-03-10 17:19:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Fix duration when no clock was provided. Fixes #520300.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Fix duration when no clock was provided. Fixes #520300.

2008-03-07 18:17:44 +0000  Olivier Crete <tester@tester.ca>

	  Add trivial function to compare GstNetAddress. See #520626.
	  Original commit message from CVS:
	  Patch by: Olivier Crete  <tester at tester ca>
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netaddress_equal):
	  * gst-libs/gst/netbuffer/gstnetbuffer.h:
	  Add trivial function to compare GstNetAddress. See #520626.
	  API: GstNetBuffer::gst_netaddress_equal

2008-03-07 16:10:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.c: Update mode property docs, it's deprecated now.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  Update mode property docs, it's deprecated now.

2008-03-07 15:48:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/: Remove GstPollMode from gstpoll constructor.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_create):
	  * gst/tcp/gstmultifdsink.c: (gst_fdset_mode_get_type),
	  (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_start):
	  * gst/tcp/gstmultifdsink.h:
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_start):
	  * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_start):
	  Remove GstPollMode from gstpoll constructor.

2008-03-04 00:26:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  0.10.17.2 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/common/config.h:
	  0.10.17.2 pre-release

2008-03-03 23:59:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/Makefile.am: GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean them twice
	  Original commit message from CVS:
	  * gst/Makefile.am:
	  GST_PLUGINS_ALL correctly lists subparse and tcp now, don't distclean
	  them twice
	  * win32/common/libgstinterfaces.def:
	  * win32/common/libgstrtp.def:
	  Add new API to the defs

2008-03-03 16:11:50 +0000  Mersad Jelacic <mersad@axis.com>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.*: API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it po...
	  Original commit message from CVS:
	  Patch by: Mersad Jelacic  <mersad at axis dot com>
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  API: add gst_base_rtp_audio_payload_set_samplebits_options() to make it
	  possible to specify the sample size in bits. (#509637)

2008-03-03 13:59:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/mixer.c: Add a few simple checks for the new message types.
	  Original commit message from CVS:
	  * tests/check/libs/mixer.c:
	  Add a few simple checks for the new message types.

2008-03-03 13:56:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add gst_mixer_options_list_changed(), gst_mixer_mixer_changed() and gst_mixer_message_parse_options_list_changed...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/interfaces/mixer.c: (gst_mixer_option_changed),
	  (gst_mixer_options_list_changed), (gst_mixer_mixer_changed),
	  (gst_mixer_message_get_type),
	  (gst_mixer_message_parse_option_changed),
	  (gst_mixer_message_parse_options_list_changed):
	  * gst-libs/gst/interfaces/mixer.h: (GstMixerType),
	  (GST_MIXER_MESSAGE_OPTION_CHANGED),
	  (GST_MIXER_MESSAGE_OPTIONS_LIST_CHANGED),
	  (GST_MIXER_MESSAGE_MIXER_CHANGED):
	  API: add gst_mixer_options_list_changed(), gst_mixer_mixer_changed()
	  and gst_mixer_message_parse_options_list_changed(). Fixes #519916.

2008-03-03 13:50:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixeroptions.*: API: add GstMixerOptions::get_values vfunc (#519906)
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixeroptions.c: (gst_mixer_options_init),
	  (gst_mixer_options_get_values):
	  * gst-libs/gst/interfaces/mixeroptions.h:
	  (GST_MIXER_OPTIONS_GET_CLASS), (GstMixerOptionsClass),
	  (_GstMixerOptions), (_GstMixerOptionsClass):
	  API: add GstMixerOptions::get_values vfunc (#519906)

2008-03-03 12:01:15 +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-03-03 06:22:39 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for IMelody files, using audio/x-imelody.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Add typefinder for IMelody files, using audio/x-imelody.
	  See bug #519516.

2008-03-03 06:04:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Correct all relevant warnings found by the sparse semantic code analyzer. This include marking several symbols static...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_get_type):
	  * ext/alsa/gstalsasink.c: (set_hwparams):
	  * ext/alsa/gstalsasrc.c: (set_hwparams):
	  * ext/gio/gstgio.c: (gst_gio_uri_handler_get_uri):
	  * ext/ogg/gstoggmux.h:
	  * ext/ogg/gstogmparse.c:
	  * gst-libs/gst/audio/audio.c:
	  * gst-libs/gst/fft/kiss_fft_f64.c: (kiss_fft_f64_alloc):
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  (gst_missing_uri_sink_message_new),
	  (gst_missing_element_message_new),
	  (gst_missing_decoder_message_new),
	  (gst_missing_encoder_message_new):
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c:
	  (gst_rtcp_packet_bye_get_reason):
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/audioresample/gstaudioresample.c:
	  * gst/ffmpegcolorspace/imgconvert.c:
	  * gst/playback/test.c: (gen_video_element), (gen_audio_element):
	  * gst/typefind/gsttypefindfunctions.c:
	  * gst/videoscale/vs_4tap.c:
	  * gst/videoscale/vs_4tap.h:
	  * sys/v4l/gstv4lelement.c:
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_get_any_caps):
	  * sys/v4l/v4l_calls.c:
	  * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_capture_init),
	  (gst_v4lsrc_try_capture):
	  * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
	  (gst_ximagesink_ximage_new):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls),
	  (gst_xvimagesink_xvimage_new):
	  * tests/check/elements/audioconvert.c:
	  * tests/check/elements/audioresample.c:
	  (fail_unless_perfect_stream):
	  * tests/check/elements/audiotestsrc.c: (setup_audiotestsrc):
	  * tests/check/elements/decodebin.c:
	  * tests/check/elements/gdpdepay.c: (setup_gdpdepay),
	  (setup_gdpdepay_streamheader):
	  * tests/check/elements/gdppay.c: (setup_gdppay), (GST_START_TEST),
	  (setup_gdppay_streamheader):
	  * tests/check/elements/gnomevfssink.c: (setup_gnomevfssink):
	  * tests/check/elements/multifdsink.c: (setup_multifdsink):
	  * tests/check/elements/textoverlay.c:
	  * tests/check/elements/videorate.c: (setup_videorate):
	  * tests/check/elements/videotestsrc.c: (setup_videotestsrc):
	  * tests/check/elements/volume.c: (setup_volume):
	  * tests/check/elements/vorbisdec.c: (setup_vorbisdec):
	  * tests/check/elements/vorbistag.c:
	  * tests/check/generic/clock-selection.c:
	  * tests/check/generic/states.c: (setup), (teardown):
	  * tests/check/libs/cddabasesrc.c:
	  * tests/check/libs/video.c:
	  * tests/check/pipelines/gio.c:
	  * tests/check/pipelines/oggmux.c:
	  * tests/check/pipelines/simple-launch-lines.c:
	  (simple_launch_lines_suite):
	  * tests/check/pipelines/streamheader.c:
	  * tests/check/pipelines/theoraenc.c:
	  * tests/check/pipelines/vorbisdec.c:
	  * tests/check/pipelines/vorbisenc.c:
	  * tests/examples/seek/scrubby.c:
	  * tests/examples/seek/seek.c: (query_positions_elems),
	  (query_positions_pads):
	  * tests/icles/stress-xoverlay.c: (myclock):
	  Correct all relevant warnings found by the sparse semantic code
	  analyzer. This include marking several symbols static, using
	  NULL instead of 0 for pointers and using "foo (void)" instead
	  of "foo ()" for declarations.
	  * win32/common/libgstrtp.def:
	  Add gst_rtp_buffer_set_extension_data to the symbol definition file.

2008-03-02 18:43:15 +0000  José Alburquerque <jaalburqu@svn.gnome.org>

	  gst/playback/gstplaybin2.c: Make the function signature of the _get_*_tags() functions match the signature of the vfu...
	  Original commit message from CVS:
	  Patch by: José Alburquerque <jaalburqu svn gnome org>
	  * gst/playback/gstplaybin2.c:
	  Make the function signature of the _get_*_tags() functions match
	  the signature of the vfuncs they implement, ie. return a
	  GstTagList rather than a GstStructure, which is more correct,
	  even if one is typedef'ed to the other (#518940).

2008-03-02 18:32:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Don't include unix headers unconditionally (fixes #518037).
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  Don't include unix headers unconditionally (fixes #518037).

2008-03-02 18:24:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/video.c: Add unit test that makes sure that the strides, offsets and sizes returned for the various ...
	  Original commit message from CVS:
	  * tests/check/libs/video.c: (paintinfo), (paintinfo_struct),
	  (fourcc_list_struct), (fourcc_list), (fourcc_get_size),
	  (paint_setup_I420), (paint_setup_YV12), (paint_setup_AYUV),
	  (paint_setup_YUY2), (paint_setup_UYVY), (paint_setup_YVYU),
	  (paint_setup_IYU2), (paint_setup_Y41B), (paint_setup_Y42B),
	  (paint_setup_Y800), (paint_setup_YVU9), (paint_setup_YUV9),
	  (gst_video_format_is_packed), (video_format_is_packed):
	  Add unit test that makes sure that the strides, offsets and
	  sizes returned for the various YUV formats by the new video API
	  match the old reference implementation in videotestsrc.

2008-03-02 18:20:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/video/video.*: API: add GST_VIDEO_FORMAT_Y41B and GST_VIDEO_FORMAT_Y42B.
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: (gst_video_calculate_display_ratio),
	  (gst_video_format_from_fourcc), (gst_video_format_to_fourcc),
	  (gst_video_format_is_rgb), (gst_video_format_is_yuv),
	  (gst_video_format_has_alpha), (gst_video_format_get_row_stride),
	  (gst_video_format_get_pixel_stride),
	  (gst_video_format_get_component_width),
	  (gst_video_format_get_component_height),
	  (gst_video_format_get_component_offset), (gst_video_format_get_size):
	  * gst-libs/gst/video/video.h: (GST_VIDEO_FORMAT_Y41B),
	  (GST_VIDEO_FORMAT_Y42B):
	  API: add GST_VIDEO_FORMAT_Y41B and GST_VIDEO_FORMAT_Y42B.

2008-03-02 18:07:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/video/video.c: YV12 is I420 with swapped components 1 and 2, so the offset of component 1 for I420 shoul...
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c: (gst_video_format_get_component_offset):
	  YV12 is I420 with swapped components 1 and 2, so the offset of
	  component 1 for I420 should be the offset for component 2 for YV12
	  and vice versa.

2008-02-29 21:48:00 +0000  Rene Stadler <mail@renestadler.de>

	  sys/v4l/gstv4lelement.c: Add missing semicolon to fix indentation.
	  Original commit message from CVS:
	  * sys/v4l/gstv4lelement.c:
	  Add missing semicolon to fix indentation.

2008-02-29 18:44:36 +0000  Julien Moutte <julien@moutte.net>

	  ext/alsa/gstalsa.c: Probe for IEC958 pcm to detect if we can do SPDIF output.
	  Original commit message from CVS:
	  2008-02-29  Julien Moutte  <julien@fluendo.com>
	  * ext/alsa/gstalsa.c: (gst_alsa_open_iec958_pcm),
	  (gst_alsa_probe_supported_formats): Probe for IEC958 pcm to
	  detect
	  if we can do SPDIF output.
	  * ext/alsa/gstalsa.h:
	  * ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec),
	  (gst_alsasink_prepare), (gst_alsasink_close),
	  (gst_alsasink_write):
	  * ext/alsa/gstalsasink.h: Initial support for SPDIF.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_parse_caps):
	  * gst-libs/gst/audio/gstringbuffer.h: Add non linear buffer
	  types
	  to support AC3, EC3 and IEC958 buffers.

2008-02-29 17:59:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixer.c: De-cruft and fix message type assertions (NULL is not a really valid mixer message t...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixer.c: (GST_MIXER_MESSAGE_HAS_TYPE),
	  (gst_mixer_message_parse_mute_toggled),
	  (gst_mixer_message_parse_record_toggled),
	  (gst_mixer_message_parse_volume_changed),
	  (gst_mixer_message_parse_option_changed):
	  De-cruft and fix message type assertions (NULL is not a really
	  valid mixer message type string).

2008-02-29 14:52:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: When negotiating, actually start from a format that we can support instead of from the too ge...
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_vis_src_negotiate):
	  When negotiating, actually start from a format that we can support
	  instead of from the too generic template.

2008-02-29 12:26:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Enable vis setting.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_set_property):
	  Enable vis setting.
	  * gst/playback/gstplaysink.c: (gst_play_sink_init),
	  (gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
	  (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
	  (gen_vis_chain):
	  Implement vis switching while playing.

2008-02-29 00:04:57 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/riff/riff-media.c: Add Dirac mapping
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: Add Dirac mapping

2008-02-28 10:54:14 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst/tcp/: Removed fdset and stress test, they are now known as GstPoll in core.
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst/tcp/Makefile.am:
	  * gst/tcp/fdsetstress.c:
	  * gst/tcp/gstfdset.c:
	  * gst/tcp/gstfdset.h:
	  Removed fdset and stress test, they are now known as GstPoll in
	  core.
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
	  (gst_multi_fd_sink_add_full), (gst_multi_fd_sink_remove),
	  (gst_multi_fd_sink_clear), (gst_multi_fd_sink_remove_client_link),
	  (gst_multi_fd_sink_handle_client_write),
	  (gst_multi_fd_sink_queue_buffer),
	  (gst_multi_fd_sink_handle_clients), (gst_multi_fd_sink_start),
	  (gst_multi_fd_sink_stop):
	  * gst/tcp/gstmultifdsink.h:
	  * gst/tcp/gsttcp.c: (gst_tcp_socket_read), (gst_tcp_socket_close),
	  (gst_tcp_read_buffer), (gst_tcp_gdp_read_buffer),
	  (gst_tcp_gdp_read_caps):
	  * gst/tcp/gsttcp.h:
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_init),
	  (gst_tcp_client_sink_setcaps), (gst_tcp_client_sink_render),
	  (gst_tcp_client_sink_start), (gst_tcp_client_sink_stop):
	  * gst/tcp/gsttcpclientsink.h:
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_init),
	  (gst_tcp_client_src_create), (gst_tcp_client_src_start),
	  (gst_tcp_client_src_stop), (gst_tcp_client_src_unlock):
	  * gst/tcp/gsttcpclientsrc.h:
	  * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_handle_wait),
	  (gst_tcp_server_sink_init_send), (gst_tcp_server_sink_close):
	  * gst/tcp/gsttcpserversink.h:
	  * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_init),
	  (gst_tcp_server_src_create), (gst_tcp_server_src_start),
	  (gst_tcp_server_src_stop), (gst_tcp_server_src_unlock):
	  * gst/tcp/gsttcpserversrc.h:
	  Port to GstPoll. See #505417.

2008-02-28 09:54:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	* ChangeLog:
	  Patch Changelog a bit to give credit and refer to the relevant bug.
	  Original commit message from CVS:
	  Patch Changelog a bit to give credit and refer to the
	  relevant bug.

2008-02-28 09:50:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspconnection.*: Use GstPoll for the rtsp connection.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_create), (gst_rtsp_connection_connect),
	  (gst_rtsp_connection_write), (gst_rtsp_connection_read_internal),
	  (gst_rtsp_connection_receive), (gst_rtsp_connection_close),
	  (gst_rtsp_connection_free), (gst_rtsp_connection_poll),
	  (gst_rtsp_connection_flush):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  Use GstPoll for the rtsp connection.

2008-02-27 12:19:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add combo box for visualisations, populate it with a factory list of all visualisation pl...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (vis_toggle_cb), (filter_features),
	  (init_visualization_features), (vis_combo_cb), (shot_cb), (main):
	  Add combo box for visualisations, populate it with a factory list
	  of all visualisation plugins, configure vis plugin instance in
	  playbin2.

2008-02-27 10:55:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/libs/rtp.c: Add check for RTP buffer defaults, padding and marker bit API.
	  Original commit message from CVS:
	  * tests/check/libs/rtp.c: (GST_START_TEST):
	  Add check for RTP buffer defaults, padding and marker bit API.

2008-02-27 10:42:08 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/cdda/sha1.c: Use memcpy() instead of upcasting a byte array to long *. This fixes an unaligned memory ac...
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/sha1.c: (sha_transform):
	  Use memcpy() instead of upcasting a byte array to long *. This
	  fixes an unaligned memory access, resulting in SIGBUS on IA64.
	  This should be ported to GCheckSum once we can use GLib 2.16.
	  Partially fixes bug #500833.

2008-02-27 10:23:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gsttagdemux.c: Push tag event after the newsegment event. Log the pointer of the buffer we're actual...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_chain):
	  Push tag event after the newsegment event. Log the pointer of
	  the buffer we're actually going to push rather than the buffer
	  we're feeding to _make_metadata_writable().

2008-02-25 07:21:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Comment smoke typefinder for now. The smokedec plugin needs one frame per buffer...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Comment smoke typefinder for now. The smokedec plugin needs one
	  frame per buffer but we have no parser yet, thus it simply crashes
	  in most situations.

2008-02-25 06:48:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for the smoke video codec. Copied from the jpeg plugin.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Add typefinder for the smoke video codec. Copied from the jpeg plugin.

2008-02-25 06:29:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/typefind/gsttypefindfunctions.c: Add midi typefinder, copied from the timidity plugin.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mid_type_find),
	  (plugin_init):
	  Add midi typefinder, copied from the timidity plugin.

2008-02-23 09:51:26 +0000  Tomasz Sałaciński <tsalacinski@gmail.com>

	  Forward slashes at the beginning and end of a line also signify italics (Fixes: #518162).
	  Original commit message from CVS:
	  Based on patch by: Tomasz Sałaciński <tsalacinski gmail com>
	  * gst/subparse/gstsubparse.c: (parse_mdvdsub):
	  * tests/check/elements/subparse.c: (test_microdvd_with_italics),
	  (subparse_suite):
	  Forward slashes at the beginning and end of a line also signify
	  italics (Fixes: #518162).

2008-02-22 06:38:08 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/gst-plugins-base.supp: Add a suppression for a cached value in GIO that wasn't moved while moving gio fro...
	  Original commit message from CVS:
	  * tests/check/gst-plugins-base.supp:
	  Add a suppression for a cached value in GIO that wasn't moved
	  while moving gio from -bad to -base.

2008-02-22 05:27:24 +0000  Brian Cameron <brian.cameron@sun.com>

	  configure.ac: Don't hardcode -Wall and -Werror for configure checks, this fails with non-GCC compilers. Fixes bug #51...
	  Original commit message from CVS:
	  Patch by: Brian Cameron <brian dot cameron at sun dot com>
	  * configure.ac:
	  Don't hardcode -Wall and -Werror for configure checks, this fails
	  with non-GCC compilers. Fixes bug #517991.

2008-02-21 08:05:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audiotestsrc/gstaudiotestsrc.c: Mark buffers as GAP,if volume is 0.0 and fix the previous logic.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  Mark buffers as GAP,if volume is 0.0 and fix the previous logic.

2008-02-20 15:37:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gnomevfs/gstgnomevfssink.c: Return FALSE when seeking for a new segment fails instead of silently ignoring the fa...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  (gst_gnome_vfs_sink_handle_event):
	  Return FALSE when seeking for a new segment fails instead
	  of silently ignoring the failure and appending every buffer
	  that comes for the new segment.

2008-02-20 11:52:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Recursively search the sink element for a last-frame property so that we can also find th...
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (find_property),
	  (gst_play_sink_find_property), (gen_video_chain),
	  (gst_play_sink_reconfigure), (gst_play_sink_get_last_frame):
	  Recursively search the sink element for a last-frame property so that we
	  can also find the property in autovideosink and friends that don't
	  always proxy the internal sink properties.

2008-02-19 20:42:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: Fix confusing terminology in docs and code: structure fields are 'fields' and not ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (GST_AUDIO_CHANNEL_POSITIONS_FIELD_NAME),
	  (gst_audio_get_channel_positions), (gst_audio_set_channel_positions),
	  (gst_audio_set_structure_channel_positions_list),
	  (add_list_to_struct), (gst_audio_set_caps_channel_positions_list),
	  (gst_audio_fixate_channel_positions):
	  Fix confusing terminology in docs and code: structure fields are
	  'fields' and not 'properties'.

2008-02-19 20:36:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: Give more useful warning messages if one of the channel layout enums passed to us ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions), (add_list_to_struct):
	  Give more useful warning messages if one of the channel
	  layout enums passed to us is invalid and if the "channels"
	  field in the caps has a GType we don't expect.

2008-02-19 20:22:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: Fix typo in docs blurb.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  Fix typo in docs blurb.

2008-02-19 16:16:55 +0000  Josep Torra Valles <josep@fluendo.com>

	  gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS typefind lookup to fix typefinding on HD clips.
	  Original commit message from CVS:
	  2008-02-19  Julien Moutte  <julien@fluendo.com>
	  Patch by: Josep Torra Valles <josep@fluendo.com>
	  * gst/typefind/gsttypefindfunctions.c: Increase the MPEG PS
	  typefind lookup to fix typefinding on HD clips.

2008-02-19 15:50:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstscreenshot.*: Fix up copyright (I rewrote the GStreamer-0.10 code for this from scratch back in the d...
	  Original commit message from CVS:
	  * gst/playback/gstscreenshot.c:
	  * gst/playback/gstscreenshot.h:
	  Fix up copyright (I rewrote the GStreamer-0.10 code for
	  this from scratch back in the days).

2008-02-19 15:02:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Add screenshot conversion code from totem.
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstscreenshot.c: (feed_fakesrc), (save_result),
	  (create_element), (gst_play_frame_conv_convert):
	  * gst/playback/gstscreenshot.h:
	  Add screenshot conversion code from totem.
	  * gst/playback/gstplay-marshal.list:
	  * gst/playback/gstplaybin2.c: (gst_play_marshal_BUFFER__BOXED),
	  (gst_play_bin_class_init), (gst_play_bin_convert_frame),
	  (gst_play_bin_get_property), (no_more_pads_cb), (activate_group):
	  Implement frame property to get a color-unconverted snapshot.
	  Implement convert-frame action signal to get a converted snapshot image.
	  Configure connection speed in uridecodebin.
	  Document some more properties.
	  * gst/playback/gstplaysink.c: (gst_play_sink_class_init),
	  (gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_get_last_frame):
	  * gst/playback/gstplaysink.h:
	  Use last-buffer property of the video sink to get a video snapshot.
	  * tests/examples/seek/seek.c: (shot_cb), (main):
	  Add snapshot button for playbin2 and use the frame property to save the
	  frame as a png in the current directory.

2008-02-19 11:45:56 +0000  Josep Torra Valles <josep@fluendo.com>

	  gst/typefind/gsttypefindfunctions.c: Add typefinding support for h264 elementary streams.
	  Original commit message from CVS:
	  Patch by: Josep Torra Valles <josep at fluendo dot com>
	  * gst/typefind/gsttypefindfunctions.c: (h264_video_type_find),
	  (plugin_init):
	  Add typefinding support for h264 elementary streams.
	  Fixes bug #517420.

2008-02-18 13:51:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Require CVS of core for new API in collectpads.
	  Original commit message from CVS:
	  * configure.ac:
	  Require CVS of core for new API in collectpads.
	  * gst/adder/gstadder.c:
	  Use new API to make adder sparse stream aware.

2008-02-18 11:54:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Get the object data correct so that we can remove our channels correctly.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (pad_added_cb), (pad_removed_cb),
	  (no_more_pads_cb):
	  Get the object data correct so that we can remove our channels
	  correctly.
	  * gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
	  (gen_vis_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_request_pad):
	  Add option to disable async behaviour in the sinks when possible. This
	  makes it possible to avoid an audio queue when dealing with
	  visualisations.
	  Add option to add a queue for the audio path.
	  * tests/examples/seek/seek.c: (clear_streams), (update_streams),
	  (main):
	  Disable the vis checkbox to match the defaults of playbin2.
	  Only get the stream info when we need to.

2008-02-17 05:15:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Don't use async operations as they require a running main loop.
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesink.c: (gst_gio_base_sink_stop),
	  (gst_gio_base_sink_set_stream):
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_stop),
	  (gst_gio_base_src_set_stream):
	  * ext/gio/gstgiosink.c: (gst_gio_sink_start):
	  * ext/gio/gstgiosrc.c: (gst_gio_src_start):
	  Don't use async operations as they require a running main loop.
	  This makes us block again when closing streams and unable
	  to mount the enclosing volume of an URI if it isn't yet.

2008-02-15 18:38:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaysink.c: Move tee in front of the audio and vis pipelines.
	  Original commit message from CVS:
	  * gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
	  (gst_play_sink_get_mute), (gen_video_chain), (gen_audio_chain),
	  (gen_vis_chain), (gst_play_sink_reconfigure),
	  (gst_play_sink_request_pad):
	  Move tee in front of the audio and vis pipelines.
	  Add queue for audio for now.
	  Add visualisation support.
	  * tests/examples/seek/seek.c: (main):
	  Visualisation is by default disabled.

2008-02-15 11:58:06 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Improve debugging a bit.
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesink.c: (close_stream_cb):
	  * ext/gio/gstgiobasesrc.c: (close_stream_cb):
	  Improve debugging a bit.
	  * ext/gio/gstgiosink.c: (mount_cb), (gst_gio_sink_start):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.c: (mount_cb), (gst_gio_src_start):
	  * ext/gio/gstgiosrc.h:
	  Try to mount the enclosing volume of a GFile if it isn't mounted
	  yet. This requires us to wait for an async operation to finish, done
	  with an nested GMainLoop. Authentication is not supported yet, will
	  come later.

2008-02-14 18:24:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Add mute property.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (gst_play_bin_set_property), (gst_play_bin_get_property),
	  (pad_added_cb), (pad_removed_cb), (no_more_pads_cb):
	  * gst/playback/gstplaysink.c: (gst_play_sink_set_mute),
	  (gst_play_sink_get_mute), (gen_audio_chain):
	  * gst/playback/gstplaysink.h:
	  Add mute property.
	  * gst/playback/gststreamselector.c: (gst_selector_pad_event),
	  (gst_selector_pad_chain):
	  * gst/playback/gststreamselector.h:
	  Make sure we forward the event only once.
	  * tests/examples/seek/seek.c: (stop_cb), (mute_toggle_cb), (main):
	  Add and implement the mute button for playbin2.

2008-02-13 14:34:55 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  ext/alsa/gstalsasink.c: Add some more debug info.
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_delay):
	  Add some more debug info.
	  Make sure we never return a negative delay. Fixes #516246.

2008-02-12 20:09:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsasink.c: Revert patch that makes the sink hold the object lock when calling snd_pcm_delay(), since it ...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_delay):
	  Revert patch that makes the sink hold the object lock when
	  calling snd_pcm_delay(), since it breaks playback for me.

2008-02-12 19:50:36 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Add some seek flags when changing rate.
	  Original commit message from CVS:
	  2008-02-12  Julien Moutte  <julien@fluendo.com>
	  * tests/examples/seek/seek.c: (rate_spinbutton_changed_cb): Add
	  some seek flags when changing rate.

2008-02-12 14:51:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Fix potential leaks.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_handle_frame_based_buffer),
	  (gst_base_rtp_audio_payload_handle_sample_based_buffer):
	  Fix potential leaks.
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_chain):
	  Fix leak when there is no function configured.

2008-02-12 11:36:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  sys/v4l/v4lsrc_calls.c: Correctly chain up the finalize method.
	  Original commit message from CVS:
	  * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_class_init),
	  (gst_v4lsrc_buffer_finalize):
	  Correctly chain up the finalize method.

2008-02-12 09:24:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Add documentation and example code for giostreamsink/giostreamsrc.
	  Original commit message from CVS:
	  * ext/gio/gstgiostreamsink.c:
	  * ext/gio/gstgiostreamsrc.c:
	  Add documentation and example code for giostreamsink/giostreamsrc.
	  * tests/check/pipelines/gio.c: (GST_START_TEST):
	  Ask the GMemoryOutputStream for the data instead of assuming that
	  the pointer to the data stayed the same. It could've been realloc'ed.

2008-02-12 08:55:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Make the documentation of giosink/giosrc complete, large parts are based on the gnomevfssink/gnomevfssrc docs.
	  Original commit message from CVS:
	  * ext/gio/gstgiosink.c:
	  * ext/gio/gstgiosrc.c:
	  Make the documentation of giosink/giosrc complete, large parts
	  are based on the gnomevfssink/gnomevfssrc docs.

2008-02-12 08:13:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  docs/plugins/: Add the GIO documentation again and while at that run make update.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gio.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playback.xml:
	  * docs/plugins/inspect/plugin-queue2.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-uridecodebin.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  Add the GIO documentation again and while at that run make update.

2008-02-11 20:23:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/: Don't use snd_pcm_sw_params_set_xfer_align() if we're compiling against libasound >= 1.0.16, since it's be...
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.h: (GST_CHECK_ALSA_VERSION):
	  * ext/alsa/gstalsasink.c: (set_swparams):
	  * ext/alsa/gstalsasrc.c: (set_swparams), (gst_alsasrc_open):
	  Don't use snd_pcm_sw_params_set_xfer_align() if we're compiling
	  against libasound >= 1.0.16, since it's been deprecated in
	  0.10.16, and alignment is always 1 then, apparently. (#512899)

2008-02-11 18:31:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Handle case where we can't create the volume element a bit better (#514307).
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_audio_element):
	  * gst/playback/gstplaysink.c: (gen_audio_chain):
	  Handle case where we can't create the volume element a bit
	  better (#514307).

2008-02-11 18:02:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/: Add support for https protocol. Fixes #510229.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_check_get_range):
	  * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
	  Add support for https protocol. Fixes #510229.

2008-02-11 17:03:18 +0000  Alan Peevers <peeves@pacbell.net>

	  ext/alsa/gstalsasink.c: Take appropriate lock when calling alsa methods.
	  Original commit message from CVS:
	  2008-02-11  Julien Moutte  <julien@fluendo.com>
	  Patch by: Alan Peevers <peeves@pacbell.net>
	  * ext/alsa/gstalsasink.c: (gst_alsasink_delay): Take appropriate
	  lock when calling alsa methods.

2008-02-11 13:03:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Bump rank of jpeg and png typefinders, which will return maximum probability in ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  Bump rank of jpeg and png typefinders, which will return maximum
	  probability in the most common cases (thus short-circuiting more
	  expensive typefinders like the mp3 one for these two quite common
	  image types).

2008-02-11 09:48:03 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/theora/theoraparse.c: Fix long description of the theora parser to be more verbose than just the type name.
	  Original commit message from CVS:
	  * ext/theora/theoraparse.c:
	  Fix long description of the theora parser to be more verbose than just
	  the type name.

2008-02-11 06:47:50 +0000  Branko Čibej <brane@xbc.nu>

	  sys/xvimage/xvimagesink.c: Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X.
	  Original commit message from CVS:
	  Patch by: Branko Čibej <brane at xbc dot nu>
	  * sys/xvimage/xvimagesink.c:
	  Fix build of xvimagesink if we don't have XShm, e.g. on Mac OS X.
	  Fixes bug #515654.

2008-02-09 10:41:36 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  gst/playback/gstplaybasebin.c: Set is_dynamic as True if there are elements with both request and sometimes src pad t...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  Set is_dynamic as True if there are elements with both request
	  and sometimes src pad templates instead of breaking out when it
	  finds the first pad template that is a src.

2008-02-08 18:17:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add some stream switching and volume gui for playbin2.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (stop_cb), (clear_streams),
	  (update_streams), (video_combo_cb), (audio_combo_cb),
	  (text_combo_cb), (volume_spinbutton_changed_cb), (main):
	  Add some stream switching and volume gui for playbin2.

2008-02-08 17:47:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplay-marshal.list: Added marshal for streamselector Tags.
	  Original commit message from CVS:
	  * gst/playback/gstplay-marshal.list:
	  Added marshal for streamselector Tags.
	  * gst/playback/gstplaybasebin.c: (set_active_source):
	  Streamselector now selects pads based on the pad object instead of its
	  name.
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (init_group), (gst_play_bin_init), (get_group), (get_tags),
	  (gst_play_bin_get_video_tags), (gst_play_bin_get_audio_tags),
	  (gst_play_bin_get_text_tags),
	  (gst_play_bin_set_current_video_stream),
	  (gst_play_bin_set_current_audio_stream),
	  (gst_play_bin_set_current_text_stream),
	  (gst_play_bin_set_property), (gst_play_bin_get_property),
	  (pad_added_cb), (pad_removed_cb), (autoplug_select_cb):
	  Remove option to mute streams with the current-a/v/t property, we have
	  this functionality in the flags.
	  Add signals to notify when the number of A/V/T channels changed.
	  Add action signals to get tags for the A/V/T streams.
	  Implement setting the current A/V/T stream.
	  Rearrange some things to simplify stream selection.
	  Implement volume.
	  * gst/playback/gstplaysink.c: (gst_play_sink_set_volume),
	  (gst_play_sink_get_volume), (gst_play_sink_set_property),
	  (gst_play_sink_get_property), (gen_video_chain), (gen_audio_chain),
	  (activate_vis), (gst_play_sink_reconfigure):
	  * gst/playback/gstplaysink.h:
	  Add and implement volume setting methods.
	  * gst/playback/gststreamselector.c: (gst_selector_pad_class_init),
	  (gst_selector_pad_finalize), (gst_selector_pad_get_property),
	  (gst_selector_pad_event), (gst_stream_selector_class_init),
	  (gst_stream_selector_init), (gst_stream_selector_finalize),
	  (gst_stream_selector_set_property),
	  (gst_stream_selector_get_property),
	  (gst_stream_selector_get_linked_pad),
	  (gst_stream_selector_request_new_pad):
	  * gst/playback/gststreamselector.h:
	  Add pad properties for tags and status of pads.
	  Keep tags on pads.
	  Make active pad selection based on pad object instead of name.

2008-02-08 16:10:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Revert last change as we now check in gtk-doc.m4 for sed.
	  Original commit message from CVS:
	  * configure.ac:
	  Revert last change as we now check in gtk-doc.m4 for sed.

2008-02-08 14:54:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Find and subst SED when building the docs.
	  Original commit message from CVS:
	  * configure.ac:
	  Find and subst SED when building the docs.

2008-02-08 14:34:41 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Make sure bus signals are reconnected when pressing STOP and then PLAY again for a parse ...
	  Original commit message from CVS:
	  2008-02-08  Julien Moutte  <julien@fluendo.com>
	  * tests/examples/seek/seek.c: (stop_cb), (connect_bus_signals),
	  (main): Make sure bus signals are reconnected when pressing STOP
	  and then PLAY again for a parse launch pipeline. Fix a ref leak
	  on the bus.
	  * win32/common/config.h: Updated.

2008-02-08 00:57:21 +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:45:56 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Subst GIO_LDFLAGS to avoid undefined Makefile var error Zaheer is reporting
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/gio/Makefile.am:
	  Subst GIO_LDFLAGS to avoid undefined Makefile var error Zaheer is
	  reporting

2008-02-07 23:40:30 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  docs/plugins/Makefile.am: Add the headers which need scanning for the GIO plugin. The rest of the docs still need mig...
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  Add the headers which need scanning for the GIO plugin. The rest of
	  the docs still need migrating.

2008-02-07 23:22:23 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add gio in a few more places.
	  Original commit message from CVS:
	  * ext/Makefile.am:
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/.cvsignore:
	  Add gio in a few more places.

2008-02-07 23:18:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Move gio plugin from -bad and mark as experimental.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/Makefile.am:
	  * tests/check/Makefile.am:
	  Move gio plugin from -bad and mark as experimental.

2008-02-07 22:39:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/: Comment out a couple of other things which break the build when
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixeroptions.c:
	  * gst-libs/gst/interfaces/mixertrack.c:
	  Comment out a couple of other things which break the build when
	  GST_DISABLE_DEPRECATED isn't on but -Werror is.

2008-02-07 18:28:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Fix pbutils header.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Fix pbutils header.

2008-02-07 18:07:41 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  commit spec file update which includes all the split .pc files
	  Original commit message from CVS:
	  commit spec file update which includes all the split .pc files

2008-02-07 12:17:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspmessage.c: Fix compiler warning.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset):
	  Fix compiler warning.

2008-02-07 11:00:45 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst-libs/gst/sdp/gstsdpmessage.c: Clear the addrinfo struct using memset. Fixes #514937.
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
	  Clear the addrinfo struct using memset. Fixes #514937.

2008-02-06 15:07:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstfdset.h: Remove unused field to same some memory.
	  Original commit message from CVS:
	  * gst/tcp/gstfdset.h:
	  Remove unused field to same some memory.
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  Mark action signals as such.

2008-02-06 13:35:58 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Increment granulepos for new-bitstream versions appropriately.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (_theora_granule_frame),
	  (_inc_granulepos):
	  Increment granulepos for new-bitstream versions appropriately.
	  Fixes #514623.

2008-02-04 11:51:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Remove obsolete stream_time reset after flushing seek, core does that automatically now.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (do_seek),
	  (rate_spinbutton_changed_cb), (update_streams), (main):
	  Remove obsolete stream_time reset after flushing seek, core does that
	  automatically now.
	  Improve accuracy of speed spinbutton.
	  Only do playbin2 stuff when we actually use it.

2008-02-02 17:29:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Revert previous change of the test environment's GST_PLUGIN_PATH.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Revert previous change of the test environment's GST_PLUGIN_PATH.
	  The problem is not with the plugins, but with element factories
	  and only occurs if elements are split out from existing plugins
	  or if plugins change name (see #512740).

2008-02-02 15:32:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Fix the tests environment's GST_PLUGIN_PATH: we want the directory with the core's plugins f...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Fix the tests environment's GST_PLUGIN_PATH: we want the directory
	  with the core's plugins first and our local build directories last,
	  since we might be building against an installed core, and that
	  core's plugin directory may contain older or other versions of
	  our own -base plugins, but we really do want to test our local
	  ones (if there are multiple plugins or element factories with the
	  same name, those inspected last will trump those read in earlier).
	  Fixes #512740 for the most part.

2008-02-02 07:13:15 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Use gmtime_r if available as gmtime is not MT-safe.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
	  Use gmtime_r if available as gmtime is not MT-safe.
	  Fixes bug #511810.

2008-02-02 06:52:41 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Cast glong to time_t as time_t might have a different type on other platforms,...
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
	  Cast glong to time_t as time_t might have a different type on
	  other platforms, like FreeBSD, and we get a compiler warning
	  otherwise. Fixes bug #511825.

2008-02-01 16:44:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Remove stream-info, we going for something easier.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (get_group), (get_n_pads), (gst_play_bin_get_property),
	  (pad_added_cb), (no_more_pads_cb), (perform_eos),
	  (autoplug_select_cb), (deactivate_group):
	  Remove stream-info, we going for something easier.
	  Refactor getting the current group.
	  Implement getting the number of audio/video/text streams.
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_class_init), (gst_stream_selector_init),
	  (gst_stream_selector_get_property),
	  (gst_stream_selector_request_new_pad),
	  (gst_stream_selector_release_pad):
	  * gst/playback/gststreamselector.h:
	  Add property for number of pads.
	  * tests/examples/seek/seek.c: (set_scale), (update_flag),
	  (vis_toggle_cb), (audio_toggle_cb), (video_toggle_cb),
	  (text_toggle_cb), (update_streams), (msg_async_done),
	  (msg_state_changed), (main):
	  Block slider callback when updating the slider position.
	  Add gui elements for controlling playbin2.
	  Add callback for async_done that updates position/duration.

2008-02-01 12:56:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: First round of plugin docs cleansups.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.prerequisites:
	  First round of plugin docs cleansups.
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  Regenerate.
	  * ext/ogg/Makefile.am:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggmux.h:
	  Add header for oggmux. the c-file needs a doc blob still.

2008-02-01 11:09:16 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  Add gst_rtp_buffer_set_extension_data()
	  Original commit message from CVS:
	  Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  (gst_rtp_buffer_set_extension_data):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  * tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
	  Add gst_rtp_buffer_set_extension_data()
	  Add a unit test for this addition. Fixes #511478.
	  API: GstRTPBuffer:gst_rtp_buffer_set_extension_data()

2008-01-31 17:18:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.c: Really clean up the queue instead of just unreffing all buffers in it.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose):
	  Really clean up the queue instead of just unreffing all buffers
	  in it.
	  * gst-libs/gst/app/gstappsrc.c: (gst_app_src_base_init),
	  (gst_app_src_class_init), (gst_app_src_init),
	  (gst_app_src_dispose), (gst_app_src_finalize):
	  Fix dispose/finalize.

2008-01-30 15:34:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Use async variants of the close stream functions to prevent blocking for a long time there and add some mor...
	  Original commit message from CVS:
	  * ext/gio/gstgiobasesink.c: (close_stream_cb),
	  (gst_gio_base_sink_stop), (gst_gio_base_sink_event),
	  (gst_gio_base_sink_render), (gst_gio_base_sink_set_stream):
	  * ext/gio/gstgiobasesrc.c: (close_stream_cb),
	  (gst_gio_base_src_stop), (gst_gio_base_src_create),
	  (gst_gio_base_src_set_stream):
	  Use async variants of the close stream functions to prevent blocking
	  for a long time there and add some more sanity checks for a correct
	  stream.

2008-01-30 14:42:14 +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.17 ===

2008-01-30 14:19:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/config.h:
	  Release 0.10.17
	  Original commit message from CVS:
	  Release 0.10.17

2008-01-30 13:45:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/: Also remove the conditional registration of the signals that disappeared with the ABI chang...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixeroptions.c:
	  * gst-libs/gst/interfaces/mixertrack.c:
	  Also remove the conditional registration of the signals
	  that disappeared with the ABI change in 0.10.14

2008-01-30 12:28:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Revert patch to gstrtspconnection.c for brown paper bag release of -base. Re-o...
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  Revert patch to gstrtspconnection.c for brown paper bag
	  release of -base. Re-opens: #511825

2008-01-30 12:20:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/: Change the way these deprecated function pointers are removed so that the compiled ABI is u...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixeroptions.h:
	  * gst-libs/gst/interfaces/mixertrack.h:
	  Change the way these deprecated function pointers are removed
	  so that the compiled ABI is unconditionally smaller. This
	  sets in stone an ABI break that actually occurred when the
	  things were deprecated in 0.10.14, which seems to be the best
	  fix as the only known users are oss-mixer and sunaudio-mixer in
	  gst-plugins-good.
	  Fixes: #513018

2008-01-30 12:19:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/: Change the way these deprecated function pointers are removed so that the compiled ABI is u...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixeroptions.h:
	  * gst-libs/gst/interfaces/mixertrack.h:
	  Change the way these deprecated function pointers are removed
	  so that the compiled ABI is unconditionally smaller. This
	  sets in stone an ABI break that actually occurred when the
	  things were deprecated in 0.10.14, which seems to be the best
	  fix as the only known users are oss-mixer and sunaudio-mixer in
	  gst-plugins-good.

2008-01-30 11:43:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/common/libgstpbutils.def: Export the two new _get_type() functions which are needed by the python bindings.
	  Original commit message from CVS:
	  * win32/common/libgstpbutils.def:
	  Export the two new _get_type() functions which are needed
	  by the python bindings.

2008-01-29 09:59:03 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Cast glong to time_t as time_t might have a different type on other platforms,...
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (add_date_header):
	  Cast glong to time_t as time_t might have a different type on
	  other platforms, like FreeBSD, and we get a compiler warning
	  otherwise. Fixes bug #511825.

2008-01-29 09:47:12 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/gstaudiofilter.c: Initialize the GstRingerBuffer class to get it's debug category initialized. gst...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  (gst_audio_filter_class_init):
	  Initialize the GstRingerBuffer class to get it's debug category
	  initialized. gst_ring_buffer_parse_caps() uses the ringbuffer debug
	  category and otherwise we get some g_critical(). Fixes bug #512334.

2008-01-28 23:35:21 +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.16 ===

2008-01-28 23:31:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.prerequisites:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/config.h:
	  Release 0.10.16
	  Original commit message from CVS:
	  Release 0.10.16

2008-01-28 22:15:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* common:
	* 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/fi.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.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-01-23 13:18:24 +0000  Christian Schaller <uraeus@gnome.org>

	* gst/rawparse/Makefile.am:
	  Add missing no_inst header files to Makefile.am so disting still works
	  Original commit message from CVS:
	  Add missing no_inst header files to Makefile.am so disting still works
	  Update spec file with latest changes

2008-01-22 15:37:49 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Fix typos and wrong extension check. Fixes #511274.
	  Original commit message from CVS:
	  Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  (gst_rtp_buffer_get_extension_data):
	  Fix typos and wrong extension check. Fixes #511274.

2008-01-18 00:03:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  po/sk.po: Oops - add new sk.po mentioned in the LINGUAS I just committed
	  Original commit message from CVS:
	  * po/sk.po:
	  Oops - add new sk.po mentioned in the LINGUAS I just committed

2008-01-17 22:31:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  po/LINGUAS: Add ca translation to the disted list.
	  Original commit message from CVS:
	  * po/LINGUAS:
	  Add ca translation to the disted list.
	  * win32/vs6/libgstsdp.dsp:
	  Convert line endings to CRLF

2008-01-17 21:58:53 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/MANIFEST: Add win32/vs6/libgstrtsp.dsp to MANIFEST
	  Original commit message from CVS:
	  * win32/MANIFEST:
	  Add win32/vs6/libgstrtsp.dsp to MANIFEST

2008-01-16 05:40:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Update for API changes in GIO and require GIO 2.15.2 for this.
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/check/pipelines/gio.c: (GST_START_TEST):
	  Update for API changes in GIO and require GIO 2.15.2 for this.

2008-01-14 22:20:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/common/: Add new API declarations
	  Original commit message from CVS:
	  * win32/common/libgstsdp.def:
	  * win32/common/libgstvideo.def:
	  Add new API declarations

2008-01-14 17:00:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/theora/: Take a 2nd stab at handling libtheora granulepos changes in the decoder and parser by inspecting the bit...
	  Original commit message from CVS:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/gsttheoraparse.h:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraparse.c:
	  Take a 2nd stab at handling libtheora granulepos changes in the decoder
	  and parser by inspecting the bitstream version of the incoming data.

2008-01-14 13:11:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Provide one pkg-config file for every gst-plugins-base library.
	  Original commit message from CVS:
	  * configure.ac:
	  * pkgconfig/Makefile.am:
	  * pkgconfig/gstreamer-audio-uninstalled.pc.in:
	  * pkgconfig/gstreamer-audio.pc.in:
	  * pkgconfig/gstreamer-cdda-uninstalled.pc.in:
	  * pkgconfig/gstreamer-cdda.pc.in:
	  * pkgconfig/gstreamer-fft-uninstalled.pc.in:
	  * pkgconfig/gstreamer-fft.pc.in:
	  * pkgconfig/gstreamer-floatcast-uninstalled.pc.in:
	  * pkgconfig/gstreamer-floatcast.pc.in:
	  * pkgconfig/gstreamer-interfaces-uninstalled.pc.in:
	  * pkgconfig/gstreamer-interfaces.pc.in:
	  * pkgconfig/gstreamer-netbuffer-uninstalled.pc.in:
	  * pkgconfig/gstreamer-netbuffer.pc.in:
	  * pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	  * pkgconfig/gstreamer-pbutils.pc.in:
	  * pkgconfig/gstreamer-riff-uninstalled.pc.in:
	  * pkgconfig/gstreamer-riff.pc.in:
	  * pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	  * pkgconfig/gstreamer-rtp.pc.in:
	  * pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	  * pkgconfig/gstreamer-rtsp.pc.in:
	  * pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	  * pkgconfig/gstreamer-sdp.pc.in:
	  * pkgconfig/gstreamer-tag-uninstalled.pc.in:
	  * pkgconfig/gstreamer-tag.pc.in:
	  * pkgconfig/gstreamer-video-uninstalled.pc.in:
	  * pkgconfig/gstreamer-video.pc.in:
	  Provide one pkg-config file for every gst-plugins-base library.
	  This makes linking to those libraries much more intuitive and
	  provides standard pkg-config behaviour for them. Fixes bug #499697.

2008-01-14 01:19:34 +0000  David Schleef <ds@schleef.org>

	  gst/videoscale/vs_4tap.c: Fix valgrind error on 4tap scaling method.
	  Original commit message from CVS:
	  * gst/videoscale/vs_4tap.c:
	  Fix valgrind error on 4tap scaling method.

2008-01-13 21:40:45 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/sdp/gstsdpmessage.c: Include Winsock2.h for VS6 and use a different way initialize hints structure so it...
	  Original commit message from CVS:
	  * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address):
	  Include Winsock2.h for VS6 and use a different way initialize
	  hints structure so it can build with VS6.
	  * win32/MANIFEST:
	  * win32/vs6/libgstsdp.dsp:
	  * win32/common/libgstsdp.def:
	  Add new files for libgstsdp.
	  * win32/vs6/grammar.dsp:
	  Copy pbutils-enumtypes* from win32/common to pbutils sources folder.
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstdecodebin.dsp:
	  * win32/vs6/libgstdecodebin2.dsp:
	  * win32/vs6/libgstplaybin.dsp:
	  * win32/vs6/libgstvolume.dsp:
	  Add new dependencies to the link list.

2008-01-13 17:24:49 +0000  Julien Moutte <julien@moutte.net>

	  win32/common/: Update/Add generated files in the win32 build directory.
	  Original commit message from CVS:
	  2008-01-13  Julien Moutte  <julien@fluendo.com>
	  * win32/common/config.h:
	  * win32/common/gstrtsp-enumtypes.c: (gst_rtsp_result_get_type),
	  (gst_rtsp_event_get_type), (gst_rtsp_family_get_type),
	  (gst_rtsp_state_get_type), (gst_rtsp_version_get_type),
	  (gst_rtsp_method_get_type), (gst_rtsp_auth_method_get_type),
	  (gst_rtsp_header_field_get_type),
	  (gst_rtsp_status_code_get_type):
	  * win32/common/interfaces-enumtypes.c:
	  (gst_color_balance_type_get_type), (gst_mixer_type_get_type),
	  (gst_mixer_message_type_get_type), (gst_mixer_flags_get_type),
	  (gst_mixer_track_flags_get_type),
	  (gst_tuner_channel_flags_get_type):
	  * win32/common/multichannel-enumtypes.c:
	  (gst_audio_channel_position_get_type):
	  * win32/common/pbutils-enumtypes.c:
	  (gst_install_plugins_return_get_type):
	  * win32/common/pbutils-enumtypes.h: Update/Add generated files
	  in the win32 build directory.

2008-01-12 23:24:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/Makefile.am: Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS.
	  * tests/check/elements/audiorate.c: (do_perfect_stream_test):
	  * tests/check/elements/playbin.c:
	  * tests/check/libs/mixer.c: (test_element_interface_supported),
	  (gst_implements_interface_init):
	  * tests/check/libs/rtp.c: (GST_START_TEST):
	  Fix various assignment type mismatches.

2008-01-12 23:08:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add test to see if hstrerror is available or if we need libresolv (Solaris) for it, then use it in libgstrtsp.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/rtsp/Makefile.am:
	  Add test to see if hstrerror is available or if we need libresolv
	  (Solaris) for it, then use it in libgstrtsp.

2008-01-12 14:54:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/tag/Makefile.am: Fix include path order
	  Original commit message from CVS:
	  * gst-libs/gst/tag/Makefile.am:
	  Fix include path order

2008-01-11 17:15:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/.gitignore:
	  Ignore more and make buildbot happy
	  Original commit message from CVS:
	  Ignore more and make buildbot happy

2008-01-11 16:18:10 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/pbutils/install-plugins.*: Add GBoxed GType for GstInstallPluginsContext, this eases the wrapping for bi...
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/install-plugins.c:
	  (gst_install_plugins_context_copy),
	  (gst_install_plugins_context_get_type):
	  * gst-libs/gst/pbutils/install-plugins.h:
	  Add GBoxed GType for GstInstallPluginsContext, this eases the wrapping
	  for bindings.

2008-01-11 15:48:11 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Adapt for post-alpha meaning of granulepos, when we have a newer version of libtheora.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (gst_theora_dec_class_init),
	  (_theora_granule_frame), (_theora_granule_start_time),
	  (theora_dec_sink_convert), (theora_dec_decode_buffer):
	  Adapt for post-alpha meaning of granulepos, when we
	  have a newer version of libtheora.
	  * ext/theora/theoraenc.c: (gst_theora_enc_class_init),
	  (theora_enc_get_ogg_packet_end_time), (theora_enc_sink_event),
	  (theora_enc_is_discontinuous), (theora_enc_chain):
	  Likewise.
	  * tests/check/Makefile.am:
	  Link libtheora into theoraenc test so we can check which version of
	  libtheora we're testing against.
	  * tests/check/pipelines/theoraenc.c: (check_libtheora),
	  (check_buffer_granulepos),
	  (check_buffer_granulepos_from_starttime), (GST_START_TEST),
	  (theoraenc_suite):
	  Adapt tests to check the values that are now defined for theora; make
	  the tests backwards-adapt the passed values if we're running against an
	  old libtheora.
	  Fixes #497964

2008-01-10 17:55:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/: Ref audio clock class from a thread-safe context to make sure however unlikely that may be in pr...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init):
	  Ref audio clock class from a thread-safe context to make sure
	  we're not bit by GObjects lack of thread-safety here (#349410),
	  however unlikely that may be in practice.

2008-01-10 12:22:46 +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-08 21:10:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gsttagdemux.c: Post an error message if we can't pull as many bytes as we need for the tag. This mak...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_pull_start_tag):
	  Post an error message if we can't pull as many bytes as we need
	  for the tag. This makes sure the user gets to see a proper error
	  message if a file with a partial ID3 tag is fed to decodebin, and
	  not a 'no ID3 tag demuxer' error, which would be confusing
	  (see #508138).

2008-01-08 20:59:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/descriptions.c: Add description strings for ID3, APE, and ICY tags.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (formats):
	  Add description strings for ID3, APE, and ICY tags.

2008-01-08 20:48:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: Make sure we error out correctly if we can't activate one of the elements we've added.  ...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (try_to_link_1):
	  Make sure we error out correctly if we can't activate one of
	  the elements we've added.  Fixes #508138.

2008-01-07 13:59:43 +0000  Bastien Nocera <hadess@hadess.net>

	  ext/alsa/gstalsamixer.c: Use snd_mixer_selem_set_{playback|capture}_volume_all() if the volume is the same for all ch...
	  Original commit message from CVS:
	  Patch by: Bastien Nocera <hadess at hadess net>
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume),
	  (check_if_volumes_are_the_same), (gst_alsa_mixer_set_volume):
	  Use snd_mixer_selem_set_{playback|capture}_volume_all() if
	  the volume is the same for all channels. This works around
	  some problem in alsa that leaves us with inconsistent state
	  for some reason (#486840).

2008-01-07 13:19:50 +0000  Jerone Young <jerone@gmail.com>

	  ext/alsa/gstalsamixer.c: If there's no mixer track by the name of 'Master' or 'Front', check if there's one called 'P...
	  Original commit message from CVS:
	  Patch by: Jerone Young <jerone at gmail com>
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer):
	  If there's no mixer track by the name of 'Master' or 'Front',
	  check if there's one called 'PCM' before trying the generic
	  fallback logic (fixes #506928, where we pick 'Mic' as master
	  track for the AD1984 card in a Thinkpad T61/X61 laptop).

2008-01-07 11:40:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplay-enum.*: Add enums for configuration flags.
	  Original commit message from CVS:
	  * gst/playback/gstplay-enum.c:
	  (register_gst_autoplug_select_result),
	  (gst_autoplug_select_result_get_type), (register_gst_play_flags),
	  (gst_play_flags_get_type):
	  * gst/playback/gstplay-enum.h:
	  Add enums for configuration flags.
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (init_group), (gst_play_bin_init), (gst_play_bin_set_property),
	  (gst_play_bin_get_property), (no_more_pads_cb),
	  (autoplug_select_cb), (gst_play_bin_change_state):
	  Merge mode with flags.
	  Add more property getters/setters, defaults and docs.
	  Add properties to get number of audio/video/text streams.
	  Create sink object in _init so that we can always rely on it being
	  there.
	  * gst/playback/gstplaysink.c: (gst_play_sink_init),
	  (gen_video_chain), (gen_audio_chain), (gen_vis_chain),
	  (activate_vis), (gst_play_sink_reconfigure),
	  (gst_play_sink_set_flags), (gst_play_sink_get_flags),
	  (gst_play_sink_change_state):
	  * gst/playback/gstplaysink.h:
	  Use flags to configure the sink pipelines.
	  Add tee before audio pipeline so that we can use it for visualisations.
	  Start working on integrating visualisations.
	  Remove mode, we can do everything with the flags now.
	  Add method to configue the sink pipeline.

2008-01-06 16:36:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Update to GMemoryInputStream API changes in GLib SVN and require gio-2.0 >= 2.15.1 for this. Fixes bug #507584.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
	  * tests/check/pipelines/gio.c: (free_input), (GST_START_TEST):
	  Update to GMemoryInputStream API changes in GLib SVN and require
	  gio-2.0 >= 2.15.1 for this. Fixes bug #507584.
	  We can also report the duration for every GSeekable, not only
	  GFileInputStream and GMemoryInputStream.

2008-01-06 14:39:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/theoraenc.c: Turn these functions into macros so we can see right away where the failure occured.
	  Original commit message from CVS:
	  * tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
	  (check_buffer_timestamp), (check_buffer_duration):
	  Turn these functions into macros so we can see right away
	  where the failure occured.

2008-01-05 22:25:05 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.c: Add debugging information to understand how X calculates the stride for XvImages.
	  Original commit message from CVS:
	  2008-01-05  Julien Moutte  <julien@fluendo.com>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new): Add
	  debugging information to understand how X calculates the stride
	  for XvImages.

2008-01-03 20:33:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/volume/: Use GstAudioFilter as base class for the volume element instead of plain GstBaseTransform.
	  Original commit message from CVS:
	  * gst/volume/Makefile.am:
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (gst_volume_base_init), (gst_volume_class_init), (gst_volume_init),
	  (volume_setup):
	  * gst/volume/gstvolume.h:
	  Use GstAudioFilter as base class for the volume element instead of
	  plain GstBaseTransform.

2008-01-03 07:17:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/gstaudiofilter.c: Don't set element details for the abstract GstAudioFilter class.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type):
	  Don't set element details for the abstract GstAudioFilter class.

2008-01-02 12:09:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/gstaudiofilter.c: Implement get_unit_size() vmethod of GstBaseTransform.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  (gst_audio_filter_class_init), (gst_audio_filter_get_unit_size):
	  Implement get_unit_size() vmethod of GstBaseTransform.

2008-01-01 12:53:48 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/pbutils/: Use glib-enum generator to have a proper enum GType for
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/Makefile.am:
	  * gst-libs/gst/pbutils/pbutils.h:
	  Use glib-enum generator to have a proper enum GType for
	  GST_TYPE_INSTALL_PLUGINS_RETURN so we can easily wrap it in bindings.

2008-01-01 01:21:47 +0000  David Schleef <ds@schleef.org>

	  tests/check/: Reenable theoraenc test, which fails on the buildbot but not locally.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/theoraenc.c:
	  Reenable theoraenc test, which fails on the buildbot but
	  not locally.

2007-12-31 21:31:01 +0000  David Schleef <ds@schleef.org>

	  docs/: Add *-undeclared.txt to fix buildbot.
	  Original commit message from CVS:
	  * docs/libs/.cvsignore:
	  * docs/plugins/.cvsignore:
	  Add *-undeclared.txt to fix buildbot.

2007-12-31 20:45:28 +0000  David Schleef <ds@schleef.org>

	  tests/check/Makefile.am: Second attempt at disabling theoraenc test long enough to get buildbot to compile -base.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Second attempt at disabling theoraenc test long enough to
	  get buildbot to compile -base.

2007-12-31 20:21:20 +0000  David Schleef <ds@schleef.org>

	  tests/check/pipelines/theoraenc.c: Disable theoraenc test long enough to get the buildbot to compile a recent -base.
	  Original commit message from CVS:
	  * tests/check/pipelines/theoraenc.c:
	  Disable theoraenc test long enough to get the buildbot to
	  compile a recent -base.

2007-12-31 13:17:29 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Make sure we reset the slider value to 0.0 without racing against a possible g_idle that ...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (stop_cb):
	  Make sure we reset the slider value to 0.0 without racing against a
	  possible g_idle that sets it to something else.

2007-12-31 00:32:53 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  sys/ximage/ximagesink.c: fix typo
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c:
	  fix typo

2007-12-30 19:21:16 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspdefs.*: Add Location header so that we can start implementing redirects.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status):
	  * gst-libs/gst/rtsp/gstrtspdefs.h:
	  Add Location header so that we can start implementing redirects.
	  See #506025.

2007-12-29 20:55:39 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst/subparse/gstssaparse.c: combine if's
	  Original commit message from CVS:
	  * gst/subparse/gstssaparse.c:
	  combine if's

2007-12-29 19:23:59 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst/subparse/gstssaparse.c: remove duplicate log message
	  Original commit message from CVS:
	  * gst/subparse/gstssaparse.c:
	  remove duplicate log message

2007-12-29 17:29:17 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Update to latest API changes in GLib/GIO and require at least gio-2.0 2.15.0 for this.
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/gio/gstgio.c:
	  * ext/gio/gstgio.h:
	  * ext/gio/gstgiobasesink.h:
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_get_size):
	  * ext/gio/gstgiobasesrc.h:
	  * ext/gio/gstgiosink.c: (gst_gio_sink_start):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.h:
	  * ext/gio/gstgiostreamsink.h:
	  * ext/gio/gstgiostreamsrc.h:
	  * tests/check/pipelines/gio.c:
	  Update to latest API changes in GLib/GIO and require at least
	  gio-2.0 2.15.0 for this.
	  * ext/gio/Makefile.am:
	  Add GST_PLUGIN_LDFLAGS to LDFLAGS.

2007-12-29 16:23:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/libvisual/visual.c: Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached()...
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_chain):
	  Fix 'xyz may be used uninitialized' compiler warnings caused
	  by broken g_assert_not_reached() macro in GLib-2.15.x and don't
	  abort() in any case but properly report the error.

2007-12-28 09:00:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin2.c: Code cleanups.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (gst_play_bin_finalize), (gst_play_bin_set_uri),
	  (gst_play_bin_set_suburi), (gst_play_bin_set_property),
	  (gst_play_bin_get_property), (pad_removed_cb), (drained_cb),
	  (autoplug_select_cb), (activate_group), (deactivate_group),
	  (setup_next_source), (save_current_group),
	  (gst_play_bin_change_state):
	  Code cleanups.
	  Remove next-uri, we can use the uri property just fine.
	  Fix some crasher.
	  Unref uridecodebin when switching.
	  Fix going to READY.
	  * gst/playback/gstplaysink.c: (gst_play_sink_class_init),
	  (gst_play_sink_init), (gst_play_sink_dispose),
	  (gst_play_sink_finalize), (gst_play_sink_vis_unblocked),
	  (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
	  (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
	  (gst_play_sink_set_property), (gst_play_sink_get_property),
	  (gen_video_chain), (gen_text_element), (gen_audio_chain),
	  (gen_vis_element), (gst_play_sink_get_mode),
	  (gst_play_sink_set_mode), (gst_play_sink_set_flags),
	  (gst_play_sink_get_flags), (gst_play_sink_request_pad),
	  (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
	  (gst_play_sink_change_state):
	  * gst/playback/gstplaysink.h:
	  Add some locking to make things threadsafe.
	  * gst/playback/test7.c: (about_to_finish_cb):
	  Fix test.

2007-12-23 06:22:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add new plugin rawparse that contains a base class for raw data parsers and the two elements audioparse and videopars...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/rawparse/Makefile.am:
	  * gst/rawparse/README:
	  * gst/rawparse/gstaudioparse.c: (gst_audio_parse_format_get_type),
	  (gst_audio_parse_endianness_get_type), (gst_audio_parse_base_init),
	  (gst_audio_parse_class_init), (gst_audio_parse_init),
	  (gst_audio_parse_set_property), (gst_audio_parse_get_property),
	  (gst_audio_parse_update_frame_size), (gst_audio_parse_get_caps):
	  * gst/rawparse/gstaudioparse.h:
	  * gst/rawparse/gstrawparse.c: (gst_raw_parse_base_init),
	  (gst_raw_parse_class_init), (gst_raw_parse_init),
	  (gst_raw_parse_dispose),
	  (gst_raw_parse_class_set_src_pad_template),
	  (gst_raw_parse_class_set_multiple_frames_per_buffer),
	  (gst_raw_parse_reset), (gst_raw_parse_chain),
	  (gst_raw_parse_convert), (gst_raw_parse_sink_event),
	  (gst_raw_parse_src_event), (gst_raw_parse_src_query_type),
	  (gst_raw_parse_src_query), (gst_raw_parse_set_framesize),
	  (gst_raw_parse_set_fps), (gst_raw_parse_get_fps),
	  (gst_raw_parse_is_negotiated):
	  * gst/rawparse/gstrawparse.h:
	  * gst/rawparse/gstvideoparse.c: (gst_video_parse_format_get_type),
	  (gst_video_parse_endianness_get_type), (gst_video_parse_base_init),
	  (gst_video_parse_class_init), (gst_video_parse_init),
	  (gst_video_parse_set_property), (gst_video_parse_get_property),
	  (gst_video_parse_format_to_fourcc),
	  (gst_video_parse_update_frame_size), (gst_video_parse_get_caps):
	  * gst/rawparse/gstvideoparse.h:
	  * gst/rawparse/plugin.c: (plugin_init):
	  Add new plugin rawparse that contains a base class for raw data
	  parsers and the two elements audioparse and videoparse that can
	  be used to parse raw audio and video. These are inspired by the
	  old videoparse element which the new rawparse plugin deprecates.

2007-12-22 12:06:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videoscale/gstvideoscale.c: Don't claim to be able to handle/transform caps that can't really be handled by the c...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_set_property),
	  (gst_video_scale_get_property), (gst_video_scale_transform_caps),
	  (gst_video_scale_transform):
	  Don't claim to be able to handle/transform caps that can't really
	  be handled by the currently selected scaling method (here: RGB or
	  packed YUV with 4-tap method). Also add locking to method property.
	  * tests/check/pipelines/simple-launch-lines.c: (setup_pipeline),
	  (test_basetransform_based):
	  Some test pipelines for the above (not entirely valgrind clean yet
	  apparently).

2007-12-22 05:19:00 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/video/video.*: Add additional RGBA and RGB-24 video formats.
	  Original commit message from CVS:
	  * gst-libs/gst/video/video.c:
	  * gst-libs/gst/video/video.h:
	  Add additional RGBA and RGB-24 video formats.

2007-12-21 22:46:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Don't use GST_PLUGIN_DEFINE_STATIC, it's not portable and will be deprecated in the future (see #498924).
	  Original commit message from CVS:
	  * tests/check/elements/playbin.c: (test_sink_usage_video_only_stream),
	  (test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
	  (test_suburi_error_wrongproto), (test_missing_primary_decoder):
	  * tests/check/libs/cddabasesrc.c: (GST_START_TEST), (GST_START_TEST),
	  (cddabasesrc_suite):
	  Don't use GST_PLUGIN_DEFINE_STATIC, it's not portable and will be
	  deprecated in the future (see #498924).

2007-12-21 22:26:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreamselector.c: Don't leak event.
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c: (gst_selector_pad_event):
	  Don't leak event.

2007-12-20 19:43:25 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  gst-libs/gst/riff/riff-read.c: Use GST_ROUND_UP_2 macro
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c:
	  Use GST_ROUND_UP_2 macro

2007-12-20 17:13:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/.cvsignore: Ignore more.
	  Original commit message from CVS:
	  * gst/playback/.cvsignore:
	  Ignore more.

2007-12-20 10:41:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Make switching off of subtitles work. To avoid all kind of problems with unlinking of the subtitle input, we just kee...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init):
	  * gst/playback/gstplaybasebin.c: (set_subtitles_visible),
	  (set_active_source):
	  * gst/playback/gstplaybasebin.h:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init),
	  (setup_sinks), (playbin_set_subtitles_visible):
	  Make switching off of subtitles work. To avoid all kind of
	  problems with unlinking of the subtitle input, we just keep
	  the subtitle inputs linked as they are and tell textoverlay
	  not to render them. Fixes #373011.
	  Other subtitle switching issues (esp. when there are both
	  external and in-stream subtitles) remain. They'll be solved
	  in playbin2.

2007-12-18 16:21:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gststreamselector.c: Init the pad segment too.
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c: (gst_selector_pad_init):
	  Init the pad segment too.

2007-12-18 15:56:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Improve debug output.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
	  (gst_audioringbuffer_open_device),
	  (gst_audioringbuffer_close_device), (gst_audioringbuffer_acquire),
	  (gst_audioringbuffer_release), (gst_audioringbuffer_start),
	  (gst_audioringbuffer_pause), (gst_audioringbuffer_stop),
	  (gst_audio_sink_create_ringbuffer):
	  Improve debug output.
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_start),
	  (gst_ring_buffer_pause), (gst_ring_buffer_delay):
	  Prevent some functions from doing things and failing when the
	  ringbuffer is not yet acquired.

2007-12-18 15:32:49 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/interfaces/interfaces.h: Also remove interfaces.h from CVS as it is not needed anymore.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/interfaces.h:
	  Also remove interfaces.h from CVS as it is not needed anymore.

2007-12-18 15:20:12 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/interfaces/Makefile.am: interfaces.h is not used anymore so remove it from the build process.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/Makefile.am:
	  interfaces.h is not used anymore so remove it from the build
	  process.

2007-12-18 01:01:23 +0000  David Schleef <ds@schleef.org>

	  gst/videotestsrc/gstvideotestsrc.*: Add a "blink" pattern.  Turn on the pain.  Apologies.  It's useful for testing ve...
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  Add a "blink" pattern.  Turn on the pain.  Apologies.  It's useful
	  for testing vertical refresh synchronization.

2007-12-18 00:13:26 +0000  David Schleef <ds@schleef.org>

	  Add new GstVideFormat enum and write a bunch of helper functions based around it.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/video/video.c:
	  * gst-libs/gst/video/video.h:
	  Add new GstVideFormat enum and write a bunch of helper functions
	  based around it.

2007-12-17 23:41:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Makefile.am: Use new common/win32.mak.
	  Original commit message from CVS:
	  * Makefile.am:
	  Use new common/win32.mak.

2007-12-17 16:44:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Add debug info.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create), (gst_base_audio_src_change_state):
	  Add debug info.
	  When going from PLAYING to PAUSED, pause the ringbuffer before calling
	  the parent state change function, just like the audiosink, because the
	  parent waits for the element to finish its processing before completing
	  the state change. This makes going to PAUSED a lot snappier.
	  When going from READY to PAUSED, don't allow the ringbuffer to start
	  yet.

2007-12-17 00:01:00 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Yet another fix for broken software that produce files with an empty blockalign field...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Yet another fix for broken software that produce files with an empty
	  blockalign field. Instead of completely failing, make a second attempt
	  at guessing the width/depth by looking at strf->size.

2007-12-16 23:52:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/: Turn a few g_assert_not_reached() into g_return_val_if_reached() to avoid compiler warnings (#503930).
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_do_seek),
	  (gst_cdda_base_src_handle_track_seek), (gst_cdda_base_src_create):
	  * gst-libs/gst/pbutils/install-plugins.c:
	  (gst_install_plugins_spawn_child), (gst_install_plugins_supported):
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  (gst_missing_plugin_message_get_installer_detail),
	  (gst_missing_encoder_installer_detail_new):
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_send):
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset):
	  Turn a few g_assert_not_reached() into g_return_val_if_reached() to
	  avoid compiler warnings (#503930).

2007-12-16 23:46:16 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Be apologetic of software that use the 'jpeg' instead of 'JPEG' FOURCC for jpeg video...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Be apologetic of software that use the 'jpeg' instead of 'JPEG' FOURCC
	  for jpeg video streams.
	  Add the 'avc1'/'AVC1' fourcc mapping for h264, same software-comment as
	  for the above modification.

2007-12-15 17:27:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/xoverlay.c: More guards (we don't want klass to end up being NULL).
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/xoverlay.c: (gst_x_overlay_expose),
	  (gst_x_overlay_handle_events):
	  More guards (we don't want klass to end up being NULL).

2007-12-15 03:40:34 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Use new gst_base_transform_set_gap_aware() function as volume correctly handles GST_BUFFER_FLAG_GAP. Require core 0.1...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/volume/gstvolume.c: (gst_volume_init):
	  Use new gst_base_transform_set_gap_aware() function as volume
	  correctly handles GST_BUFFER_FLAG_GAP. Require core 0.10.15.1
	  for this.

2007-12-14 19:06:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Don't go to READY on EOS as this avoids testing of seeking and restarting after EOS, use ...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (msg_segment_done), (main):
	  Don't go to READY on EOS as this avoids testing of seeking and
	  restarting after EOS, use the stop button when you want to READY.
	  Don't try to do a flushing seek in segment-done, it does not make
	  sense to use this for gapless playback and is not needed.

2007-12-14 18:46:12 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Use separate timers for input and output rates.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_finalize),
	  (reset_rate_timer), (update_in_rates), (update_out_rates),
	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
	  (gst_queue_chain), (gst_queue_loop):
	  Use separate timers for input and output rates.
	  Pause measuring the output rate when we block for more data.
	  See #503262.

2007-12-14 16:23:06 +0000  Christian Schaller <uraeus@gnome.org>

	* gst/speexresample/Makefile.am:
	  update spec file and add two missing files for disting
	  Original commit message from CVS:
	  update spec file and add two missing files for disting

2007-12-14 09:24:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Pause the timer to measure the input rate when we block because the queue is filled. See #5...
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_chain):
	  Pause the timer to measure the input rate when we block because the
	  queue is filled. See #503262.

2007-12-13 15:54:00 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Close control sockets. Fixes #503440.
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_free):
	  Close control sockets. Fixes #503440.

2007-12-13 12:31:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Expose the right pad in the right place with the right element.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (analyze_new_pad), (connect_pad):
	  Expose the right pad in the right place with the right element.

2007-12-13 11:40:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/descriptions.c: Add description for 'private' dts caps (who come up with that name?).
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (formats):
	  Add description for 'private' dts caps (who come up with that name?).

2007-12-13 10:10:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Makefile.am: Add check-exports target and run it with 'make check'.
	  Original commit message from CVS:
	  * Makefile.am:
	  Add check-exports target and run it with 'make check'.
	  * configure.ac:
	  Be stricter about what we export in our libraries: change regexp so that
	  we only export _gst_foo(), but not __gst_foo().
	  * gst-libs/gst/cdda/base64.h: (rfc822_binary):
	  * gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final):
	  Change internal functions to __gst_foo so they dont' get exported.
	  * win32/common/libgstaudio.def:
	  Add missing symbols.

2007-12-11 21:18:57 +0000  David Schleef <ds@schleef.org>

	* ChangeLog:
	  ChangeLog: remove conflict markers
	  Original commit message from CVS:
	  ChangeLog: remove conflict markers

2007-12-11 17:14:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/: Use gst_tag_freeform_string_to_utf8() here, which also takes into account any character sets specified...
	  Original commit message from CVS:
	  * ext/gnomevfs/Makefile.am:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_unicodify):
	  Use gst_tag_freeform_string_to_utf8() here, which also takes
	  into account any character sets specified by the user via
	  environment variables.

2007-12-10 15:21:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audioconvert/Makefile.am: Also link to libm.
	  Original commit message from CVS:
	  * gst/audioconvert/Makefile.am:
	  Also link to libm.

2007-12-10 15:13:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: No need for floating point operations here. avoids having to link against the math li...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  No need for floating point operations here. avoids having to link
	  against the math library too.

2007-12-10 11:16:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add one or two missing formats.  Generate ADPCM description dynamically depending on layout/format.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (formats),
	  (format_info_get_desc):
	  * tests/check/libs/pbutils.c: (GST_START_TEST), (caps_strings),
	  (GST_START_TEST):
	  Add one or two missing formats.  Generate ADPCM description
	  dynamically depending on layout/format.

2007-12-09 04:28:38 +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-08 18:38:39 +0000  Robin Stocker <robin.stocker@gmx.ch>

	  gst/subparse/gstsubparse.c: Some .srt files start with chunk number 0 and not chunk number 1, recognise and accept th...
	  Original commit message from CVS:
	  Patch by: Robin Stocker <robin dot stocker at gmx dot ch>
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_data_format_autodetect):
	  Some .srt files start with chunk number 0 and not chunk number 1,
	  recognise and accept those as well (fixes #502497).
	  * tests/check/elements/subparse.c: (srt_input), (srt_input0),
	  (test_src):
	  Add unit test for the above.

2007-12-06 12:08:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplay-enum.*: Add missing files.
	  Original commit message from CVS:
	  * gst/playback/gstplay-enum.c:
	  (register_gst_autoplug_select_result),
	  (gst_autoplug_select_result_get_type):
	  * gst/playback/gstplay-enum.h:
	  Add missing files.

2007-12-05 17:11:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/Makefile.am: Group decodebin2 and uridecodebin into the same plugin so that they can share the GEnumType.
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  Group decodebin2 and uridecodebin into the same plugin so that they
	  can share the GEnumType.
	  * gst/playback/gstdecodebin2.c: (_gst_array_accumulator),
	  (_gst_select_accumulator), (gst_decode_bin_class_init),
	  (gst_decode_bin_init), (gst_decode_bin_autoplug_sort),
	  (gst_decode_bin_autoplug_select), (gst_decode_bin_autoplug_add),
	  (analyze_new_pad), (connect_pad), (gst_decode_bin_plugin_init):
	  Add signal to sort factories instead of the more awkward autoplug-select
	  signal.
	  Modify autoplug_select so that we can try, skip or expose the
	  autopluggin of an element on a pad.
	  * gst/playback/gstfactorylists.c: (compare_ranks),
	  (decoders_filter), (sinks_filter), (gst_factory_list_is_type),
	  (element_filter), (gst_factory_list_get_elements),
	  (gst_factory_list_debug), (gst_factory_list_filter):
	  * gst/playback/gstfactorylists.h:
	  Simplify the API, allow getting elements based on mask.
	  * gst/playback/gstplay-marshal.list:
	  Add some more marshallers.
	  * gst/playback/gstplaybin2.c: (init_group), (gst_play_bin_init),
	  (gst_play_bin_finalize), (pad_removed_cb), (autoplug_factories_cb),
	  (autoplug_select_cb), (activate_group):
	  Add support for managing non-raw sinks by providing a custom element and
	  sink list to decodebin2.
	  Try to plug non-raw sinks when decodebin2 using autoplug-select of
	  decodebin2.
	  * gst/playback/gstplaysink.c: (gen_video_chain), (gen_audio_chain),
	  (gst_play_sink_set_mode), (gst_play_sink_request_pad):
	  * gst/playback/gstplaysink.h:
	  Add support for raw and non-raw sinks.
	  Add support to force sinks selected by playbin2.
	  Don't plug raw converters for non-raw sinks.
	  * gst/playback/gsturidecodebin.c: (_gst_array_accumulator),
	  (_gst_select_accumulator), (gst_uri_decode_bin_class_init),
	  (proxy_autoplug_select_signal), (gst_uri_decode_bin_plugin_init),
	  (plugin_init):
	  Use right accumulators.
	  Proxy new signal.

2007-12-03 13:47:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Use runnning time as the base time instead of the timestamp.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
	  Use runnning time as the base time instead of the timestamp.
	  Spotted by Saur on IRC.

2007-12-03 11:32:30 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Add 'WVC1' codec mapping for Windows Media VC-1 video codec.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Add 'WVC1' codec mapping for Windows Media VC-1 video codec.

2007-12-03 10:58:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: If we find a new serial number but it does not contain a BOS page, make sure we initialize the...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_bisect_forward_serialno),
	  (gst_ogg_demux_read_chain):
	  If we find a new serial number but it does not contain a BOS page, make
	  sure we initialize the chain to NULL because else we will try to scan it
	  and crash. Fixes #500763

2007-11-30 17:47:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Refactor some common code to filter factories and check caps compat.
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstfactorylists.c: (compare_ranks), (print_feature),
	  (get_feature_array), (decoders_filter), (sinks_filter),
	  (gst_factory_list_get_decoders), (gst_factory_list_get_sinks),
	  (gst_factory_list_filter):
	  * gst/playback/gstfactorylists.h:
	  Refactor some common code to filter factories and check caps compat.
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
	  (gst_decode_bin_init), (gst_decode_bin_dispose),
	  (gst_decode_bin_autoplug_continue),
	  (gst_decode_bin_autoplug_factories),
	  (gst_decode_bin_autoplug_select), (analyze_new_pad),
	  (find_compatibles):
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gstplaybin2.c: (gst_play_bin_class_init),
	  (gst_play_bin_init), (gst_play_bin_finalize),
	  (autoplug_factories_cb), (activate_group):
	  * gst/playback/gstqueue2.c:
	  * gst/playback/gsturidecodebin.c: (proxy_unknown_type_signal),
	  (proxy_autoplug_continue_signal),
	  (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
	  (proxy_drained_signal):
	  Add some more debug info and use factor filtering code.

2007-11-26 13:19:46 +0000  Julien Moutte <julien@moutte.net>

	  configure.ac: Add QuickTime Wrapper plug-in.
	  Original commit message from CVS:
	  2007-11-26  Julien Moutte  <julien@fluendo.com>
	  * configure.ac: Add QuickTime Wrapper plug-in.
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_push_drain), (gst_speex_resample_process): Fix
	  build on Mac OS X Leopard. Incorrect printf format arguments.
	  * sys/Makefile.am:
	  * sys/qtwrapper/Makefile.am:
	  * sys/qtwrapper/audiodecoders.c:
	  (qtwrapper_audio_decoder_base_init),
	  (qtwrapper_audio_decoder_class_init),
	  (qtwrapper_audio_decoder_init),
	  (clear_AudioStreamBasicDescription), (fill_indesc_mp3),
	  (fill_indesc_aac), (fill_indesc_samr), (fill_indesc_generic),
	  (make_samr_magic_cookie), (open_decoder),
	  (qtwrapper_audio_decoder_sink_setcaps), (process_buffer_cb),
	  (qtwrapper_audio_decoder_chain),
	  (qtwrapper_audio_decoder_sink_event),
	  (qtwrapper_audio_decoders_register):
	  * sys/qtwrapper/codecmapping.c: (audio_caps_from_string),
	  (fourcc_to_caps):
	  * sys/qtwrapper/codecmapping.h:
	  * sys/qtwrapper/imagedescription.c: (image_description_for_avc1),
	  (image_description_for_mp4v), (image_description_from_stsd_buffer),
	  (image_description_from_codec_data):
	  * sys/qtwrapper/imagedescription.h:
	  * sys/qtwrapper/qtutils.c: (get_name_info_from_component),
	  (get_output_info_from_component), (dump_avcc_atom),
	  (dump_image_description), (dump_codec_decompress_params),
	  (addSInt32ToDictionary), (dump_cvpixel_buffer),
	  (DestroyAudioBufferList), (AllocateAudioBufferList):
	  * sys/qtwrapper/qtutils.h:
	  * sys/qtwrapper/qtwrapper.c: (plugin_init):
	  * sys/qtwrapper/qtwrapper.h:
	  * sys/qtwrapper/videodecoders.c:
	  (qtwrapper_video_decoder_base_init),
	  (qtwrapper_video_decoder_class_init),
	  (qtwrapper_video_decoder_init), (qtwrapper_video_decoder_finalize),
	  (fill_image_description), (new_image_description), (close_decoder),
	  (open_decoder), (qtwrapper_video_decoder_sink_setcaps),
	  (decompressCb), (qtwrapper_video_decoder_chain),
	  (qtwrapper_video_decoder_sink_event),
	  (qtwrapper_video_decoders_register): Initial import of QuickTime
	  wrapper jointly developped by Songbird authors (Pioneers of the
	  Inevitable) and Fluendo.

2007-11-26 12:25:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/: Add GAP-flag support.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  * gst/volume/gstvolume.c:
	  * gst/volume/gstvolume.h:
	  Add GAP-flag support.

2007-11-26 08:43:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/: Update speex resampler to latest SVN. We're now down to only the changes noted in README again.
	  Original commit message from CVS:
	  * gst/speexresample/README:
	  * gst/speexresample/arch.h:
	  * gst/speexresample/resample.c: (resampler_basic_direct_single),
	  (resampler_basic_direct_double),
	  (resampler_basic_interpolate_single),
	  (resampler_basic_interpolate_double),
	  (speex_resampler_process_native), (speex_resampler_process_float),
	  (speex_resampler_process_int),
	  (speex_resampler_process_interleaved_float),
	  (speex_resampler_process_interleaved_int),
	  (speex_resampler_get_input_latency),
	  (speex_resampler_get_output_latency):
	  * gst/speexresample/speex_resampler.h:
	  Update speex resampler to latest SVN. We're now down to only the
	  changes noted in README again.
	  * gst/speexresample/speex_resampler_wrapper.h:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_push_drain), (gst_speex_resample_query):
	  Adjust to API changes.

2007-11-24 15:02:01 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Increase the range of the rate selector as I would like to test QOS behavior at higher fo...
	  Original commit message from CVS:
	  2007-11-24  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (main): Increase the range of the
	  rate selector as I would like to test QOS behavior at higher
	  forward and reverse playback speed like say 64x.

2007-11-23 10:21:31 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Only post the latency message if we have a resampler state already.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_update_state):
	  Only post the latency message if we have a resampler state already.

2007-11-23 10:21:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioresample/gstaudioresample.c: Implement latency query.
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
	  (audioresample_query), (audioresample_query_type),
	  (gst_audioresample_set_property):
	  Implement latency query.

2007-11-23 10:01:33 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Also post GST_MESSAGE_LATENCY if the latency changes.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_update_state):
	  Also post GST_MESSAGE_LATENCY if the latency changes.

2007-11-23 08:48:50 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/: Add functions to push the remaining samples and to get the latency of the resampler. These will g...
	  Original commit message from CVS:
	  * gst/speexresample/resample.c: (speex_resampler_get_latency),
	  (speex_resampler_drain_float), (speex_resampler_drain_int),
	  (speex_resampler_drain_interleaved_float),
	  (speex_resampler_drain_interleaved_int):
	  * gst/speexresample/speex_resampler.h:
	  * gst/speexresample/speex_resampler_wrapper.h:
	  Add functions to push the remaining samples and to get the latency
	  of the resampler. These will get added to Speex SVN in this or a
	  slightly changed form at some point too and should get merged then
	  again.
	  * gst/speexresample/gstspeexresample.c: (gst_speex_resample_init),
	  (gst_speex_resample_init_state),
	  (gst_speex_resample_transform_size),
	  (gst_speex_resample_push_drain), (gst_speex_resample_event),
	  (gst_speex_fix_output_buffer), (gst_speex_resample_process),
	  (gst_speex_resample_query), (gst_speex_resample_query_type):
	  Drop the prepending zeroes and output the remaining samples on EOS.
	  Also properly implement the latency query for this. speexresample
	  should be completely ready for production use now.

2007-11-21 18:02:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Our EOS time contains the base_time, _wait_eos() expects a running_time so we ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain):
	  Our EOS time contains the base_time, _wait_eos() expects a running_time
	  so we have to subtract the base_time again before calling the function.
	  This fixes an EOS regression where the base_time was added twice and EOS
	  took longer and longer in certain situations.
	  Fixes #498767.

2007-11-21 13:04:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Expose methods for some object properties so that subclasses can more easily configure them.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
	  (gst_base_audio_sink_set_provide_clock),
	  (gst_base_audio_sink_get_provide_clock),
	  (gst_base_audio_sink_set_slave_method),
	  (gst_base_audio_sink_get_slave_method),
	  (gst_base_audio_sink_set_property),
	  (gst_base_audio_sink_get_property), (gst_base_audio_sink_drain),
	  (gst_base_audio_sink_none_slaving),
	  (gst_base_audio_sink_handle_slaving):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Expose methods for some object properties so that subclasses can more
	  easily configure them.
	  Added slave method none, that completely disables slaving to the
	  internal clock.
	  API: gst_base_audio_sink_set_provide_clock()
	  API: gst_base_audio_sink_get_provide_clock()
	  API: gst_base_audio_sink_set_slave_method()
	  API: gst_base_audio_sink_get_slave_method()
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_set_provide_clock),
	  (gst_base_audio_src_get_provide_clock),
	  (gst_base_audio_src_set_property),
	  (gst_base_audio_src_get_property), (gst_base_audio_src_create):
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  Expose methods for some object properties so that subclasses can more
	  easily configure them.
	  API: gst_base_audio_src_set_provide_clock()
	  API: gst_base_audio_src_get_provide_clock()

2007-11-21 10:18:56 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/README: Add README explaining where the resampling code was taken from and which changes were done.
	  Original commit message from CVS:
	  * gst/speexresample/README:
	  Add README explaining where the resampling code was taken from
	  and which changes were done.
	  * gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
	  (speex_free):
	  Use g_malloc() and friends instead of malloc() to achieve higher
	  portability and define the functions inline.
	  * gst/speexresample/speex_resampler.h:
	  Add back some useless preprocessor stuff to keep the diff between
	  our version and the one from the Speex SVN repository lower.

2007-11-20 20:23:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: Some small cleanup and addition of a TODO item.
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_fix_output_buffer), (gst_speex_resample_transform):
	  Some small cleanup and addition of a TODO item.

2007-11-20 12:56:00 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/Makefile.am: Add missing file.
	  Original commit message from CVS:
	  * gst/speexresample/Makefile.am:
	  Add missing file.

2007-11-20 07:53:56 +0000  Joe Peterson <lavajoe@gentoo.org>

	  gst-libs/gst/sdp/gstsdpmessage.c: Fix compilation on FreeBSD (Gentoo). Fixes #498228.
	  Original commit message from CVS:
	  Patch by: Joe Peterson <lavajoe at gentoo dot org>
	  * gst-libs/gst/sdp/gstsdpmessage.c:
	  Fix compilation on FreeBSD (Gentoo). Fixes #498228.

2007-11-20 07:47:27 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add speexresample to the docs and while at that do a make update.
	  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:
	  * docs/plugins/gst-plugins-bad-plugins.args:
	  * docs/plugins/gst-plugins-bad-plugins.signals:
	  * docs/plugins/inspect/plugin-bz2.xml:
	  * docs/plugins/inspect/plugin-cdxaparse.xml:
	  * docs/plugins/inspect/plugin-dtsdec.xml:
	  * docs/plugins/inspect/plugin-equalizer.xml:
	  * docs/plugins/inspect/plugin-faac.xml:
	  * docs/plugins/inspect/plugin-faad.xml:
	  * docs/plugins/inspect/plugin-filter.xml:
	  * docs/plugins/inspect/plugin-freeze.xml:
	  * docs/plugins/inspect/plugin-gio.xml:
	  * docs/plugins/inspect/plugin-gsm.xml:
	  * docs/plugins/inspect/plugin-gstrtpmanager.xml:
	  * docs/plugins/inspect/plugin-h264parse.xml:
	  * docs/plugins/inspect/plugin-modplug.xml:
	  * docs/plugins/inspect/plugin-mpeg2enc.xml:
	  * docs/plugins/inspect/plugin-musepack.xml:
	  * docs/plugins/inspect/plugin-musicbrainz.xml:
	  * docs/plugins/inspect/plugin-nsfdec.xml:
	  * docs/plugins/inspect/plugin-replaygain.xml:
	  * docs/plugins/inspect/plugin-soundtouch.xml:
	  * docs/plugins/inspect/plugin-spcdec.xml:
	  * docs/plugins/inspect/plugin-spectrum.xml:
	  * docs/plugins/inspect/plugin-speed.xml:
	  * docs/plugins/inspect/plugin-tta.xml:
	  * docs/plugins/inspect/plugin-videosignal.xml:
	  * docs/plugins/inspect/plugin-xingheader.xml:
	  * docs/plugins/inspect/plugin-xvid.xml:
	  * gst/speexresample/gstspeexresample.h:
	  Add speexresample to the docs and while at that do a make update.

2007-11-20 07:30:30 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/speexresample/gstspeexresample.c: If the resampler gives less output samples than expected adjust the output buff...
	  Original commit message from CVS:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_fix_output_buffer), (gst_speex_resample_process):
	  If the resampler gives less output samples than expected
	  adjust the output buffer and print a warning.

2007-11-20 07:02:45 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add resample element based on the Speex resampling algorithm.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/speexresample/arch.h:
	  * gst/speexresample/fixed_generic.h:
	  * gst/speexresample/gstspeexresample.c:
	  (gst_speex_resample_base_init), (gst_speex_resample_class_init),
	  (gst_speex_resample_init), (gst_speex_resample_start),
	  (gst_speex_resample_stop), (gst_speex_resample_get_unit_size),
	  (gst_speex_resample_transform_caps),
	  (gst_speex_resample_init_state), (gst_speex_resample_update_state),
	  (gst_speex_resample_reset_state), (gst_speex_resample_parse_caps),
	  (gst_speex_resample_transform_size), (gst_speex_resample_set_caps),
	  (gst_speex_resample_event), (gst_speex_resample_check_discont),
	  (gst_speex_resample_process), (gst_speex_resample_transform),
	  (gst_speex_resample_set_property),
	  (gst_speex_resample_get_property), (plugin_init):
	  * gst/speexresample/gstspeexresample.h:
	  * gst/speexresample/resample.c: (speex_alloc), (speex_realloc),
	  (speex_free), (compute_func), (main), (sinc), (cubic_coef),
	  (resampler_basic_direct_single), (resampler_basic_direct_double),
	  (resampler_basic_interpolate_single),
	  (resampler_basic_interpolate_double), (update_filter),
	  (speex_resampler_init), (speex_resampler_init_frac),
	  (speex_resampler_destroy), (speex_resampler_process_native),
	  (speex_resampler_process_float), (speex_resampler_process_int),
	  (speex_resampler_process_interleaved_float),
	  (speex_resampler_process_interleaved_int),
	  (speex_resampler_set_rate), (speex_resampler_get_rate),
	  (speex_resampler_set_rate_frac), (speex_resampler_get_ratio),
	  (speex_resampler_set_quality), (speex_resampler_get_quality),
	  (speex_resampler_set_input_stride),
	  (speex_resampler_get_input_stride),
	  (speex_resampler_set_output_stride),
	  (speex_resampler_get_output_stride), (speex_resampler_skip_zeros),
	  (speex_resampler_reset_mem), (speex_resampler_strerror):
	  * gst/speexresample/speex_resampler.h:
	  * gst/speexresample/speex_resampler_float.c:
	  * gst/speexresample/speex_resampler_int.c:
	  * gst/speexresample/speex_resampler_wrapper.h:
	  Add resample element based on the Speex resampling algorithm.

2007-11-19 12:30:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  tests/check/libs/fft.c: Fix scaling to really have dB instead of something else.
	  Original commit message from CVS:
	  * tests/check/libs/fft.c: (GST_START_TEST):
	  Fix scaling to really have dB instead of something else.

2007-11-19 12:08:16 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: There's a nice macro to check
	  Original commit message from CVS:
	  2007-11-19  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (main): There's a nice macro to
	  check
	  GTK version, use it.

2007-11-19 11:59:20 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Try to support stable version of GTK.
	  Original commit message from CVS:
	  2007-11-19  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (main): Try to support stable version
	  of GTK.

2007-11-17 15:25:15 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/: Fix the build + little README update.
	  Original commit message from CVS:
	  * gst/playback/README:
	  * gst/playback/test7.c:
	  Fix the build + little README update.

2007-11-16 16:02:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add playbin2 seek pipeline.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (make_playerbin2_pipeline), (main):
	  Add playbin2 seek pipeline.

2007-11-16 15:44:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Add playbin2.
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstplayback.c: (plugin_init):
	  * gst/playback/test7.c: (update_scale), (warning_cb), (error_cb),
	  (eos_cb), (about_to_finish_cb), (main):
	  Add playbin2.
	  Added gapless playback example.
	  * gst/playback/gstplaybasebin.c:
	  * gst/playback/gstplaybasebin.h:
	  * gst/playback/gstplaybin.c: (gst_play_bin_plugin_init):
	  * gst/playback/gstqueue2.c:
	  * gst/playback/test.c:
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
	  (pad_removed_cb):
	  * gst/playback/gststreaminfo.h:
	  Change email.
	  * gst/playback/gstplaybin2.c: (gst_play_bin_get_type),
	  (gst_play_bin_class_init), (init_group), (gst_play_bin_init),
	  (gst_play_bin_dispose), (gst_play_bin_set_uri),
	  (gst_play_bin_set_suburi), (gst_play_bin_set_property),
	  (gst_play_bin_get_property), (gst_play_bin_handle_message),
	  (pad_added_cb), (pad_removed_cb), (no_more_pads_cb), (perform_eos),
	  (drained_cb), (unlink_group), (activate_group),
	  (setup_next_source), (gst_play_bin_change_state),
	  (gst_play_bin2_plugin_init):
	  Added raw first version of playbin2. Does chained oggs and gapless
	  playback fine. No support for raw sinks yet. No visualisations or
	  subtitles yet.
	  * gst/playback/gstplaysink.c: (gst_play_sink_get_type),
	  (gst_play_sink_class_init), (gst_play_sink_init),
	  (gst_play_sink_dispose), (gst_play_sink_vis_unblocked),
	  (gst_play_sink_vis_blocked), (gst_play_sink_set_video_sink),
	  (gst_play_sink_set_audio_sink), (gst_play_sink_set_vis_plugin),
	  (gst_play_sink_set_property), (gst_play_sink_get_property),
	  (post_missing_element_message), (free_chain), (add_chain),
	  (activate_chain), (gen_video_chain), (gen_text_element),
	  (gen_audio_chain), (gen_vis_element), (gst_play_sink_get_mode),
	  (gst_play_sink_set_mode), (gst_play_sink_request_pad),
	  (gst_play_sink_release_pad), (gst_play_sink_send_event_to_sink),
	  (gst_play_sink_send_event), (gst_play_sink_change_state):
	  * gst/playback/gstplaysink.h:
	  Added Element that abstracts the sinks and their pipelines for playbin2.

2007-11-16 15:05:07 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gststreamselector.*: Improve streamselector, make it select and unselect the current pad more intelligen...
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c: (gst_selector_pad_get_type),
	  (gst_selector_pad_class_init), (gst_selector_pad_init),
	  (gst_selector_pad_finalize), (gst_selector_pad_reset),
	  (gst_selector_pad_get_linked_pads), (gst_selector_pad_event),
	  (gst_selector_pad_getcaps), (gst_selector_pad_bufferalloc),
	  (gst_selector_pad_chain), (gst_stream_selector_get_type),
	  (gst_stream_selector_base_init), (gst_stream_selector_class_init),
	  (gst_stream_selector_init), (gst_stream_selector_set_property),
	  (gst_stream_selector_get_linked_pad),
	  (gst_stream_selector_getcaps),
	  (gst_stream_selector_is_active_sinkpad),
	  (gst_stream_selector_activate_sinkpad),
	  (gst_stream_selector_get_linked_pads),
	  (gst_stream_selector_request_new_pad),
	  (gst_stream_selector_release_pad):
	  * gst/playback/gststreamselector.h:
	  Improve streamselector, make it select and unselect the current pad more
	  intelligently.
	  Subclass GstPad for the sinkpads of the selector.
	  Handle segments more correctly.
	  Fix caps negotiation.
	  Implement release_pad.

2007-11-16 12:51:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Add drained signal fired when decodebin finishes decoding the data.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
	  (gst_decode_group_check_if_drained), (source_pad_event_probe),
	  (remove_fakesink):
	  Add drained signal fired when decodebin finishes decoding the data.
	  Remove deprecated STATE_DIRTY message.
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
	  (unknown_type_cb), (new_decoded_pad_cb), (pad_removed_cb),
	  (analyse_source), (proxy_drained_signal), (make_decoder),
	  (source_new_pad), (value_list_append_structure_list),
	  (handle_redirect_message), (handle_message):
	  Proxy the new drained signal.
	  Handle pad removed from decodebin.
	  Handle redirect messages by sorting multiple redirections based on the
	  connection speed.

2007-11-16 11:22:09 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  gst-libs/gst/rtsp/gstrtspmessage.c: Fix leaking headers. Fixes #496761.
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_unset):
	  Fix leaking headers. Fixes #496761.

2007-11-16 11:16:58 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  sys/: Don't leak the PAR on errors. Fixes #496731.
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_get),
	  (gst_ximagesink_change_state):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_get):
	  Don't leak the PAR on errors. Fixes #496731.

2007-11-16 10:14:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstid3tag.c: Add mapping for audio cd discid tags, so we can extract them from tags as well (see #34...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c: (user_tag_matches),
	  (gst_tag_from_id3_user_tag):
	  Add mapping for audio cd discid tags, so we can extract
	  them from tags as well (see #347848). Also compare identifiers
	  in ID3v2 TXXX frames in a case-insensitive way to increase
	  compatibility when reading tags (discid vs. DiscID vs. DiscId).

2007-11-16 01:21:40 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-plugins-base.doap: Oops, fix the release name.
	  Original commit message from CVS:
	  * gst-plugins-base.doap:
	  Oops, fix the release name.

2007-11-16 00:44:58 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-plugins-base.doap: Add 0.10.15 release
	  Original commit message from CVS:
	  * gst-plugins-base.doap:
	  Add 0.10.15 release

2007-11-16 00:24:55 +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.15 ===

2007-11-16 00:14:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.15, "No need to argue"
	  Original commit message from CVS:
	  === release 0.10.15 ===
	  2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
	  * configure.ac:
	  releasing 0.10.15, "No need to argue"

2007-11-16 00:04:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* 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/fi.po:
	* po/hu.po:
	* po/it.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.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

2007-11-15 21:40:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/vs6/libgstfft.dsp: Convert line endings to DOS.
	  Original commit message from CVS:
	  * win32/vs6/libgstfft.dsp:
	  Convert line endings to DOS.

2007-11-15 21:14:04 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/: Add a project file for fft plugin and remove socket based plugin which don't build from the workspace.* win32...
	  Original commit message from CVS:
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstfft.dsp:
	  * win32/MANIFEST:
	  Add a project file for fft plugin and remove socket
	  based plugin which don't build from the workspace.* win32/vs6/libgstaudio.dsp:
	  * win32/vs6/libgstrtp.dsp:
	  * win32/vs6/libgsttag.dsp:
	  Convert line endings back to DOS.
	  Fixes #496724

2007-11-14 12:27:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  win32/vs6/: Convert line endings back to DOS
	  Original commit message from CVS:
	  * win32/vs6/libgstinterfaces.dsp:
	  * win32/vs6/libgstrtsp.dsp:
	  Convert line endings back to DOS

2007-11-14 11:08:48 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/fft/: Don't include malloc.h which doesn't exist on Mac OSX.
	  Original commit message from CVS:
	  * gst-libs/gst/fft/kiss_fft_f32.h:
	  * gst-libs/gst/fft/kiss_fft_f64.h:
	  * gst-libs/gst/fft/kiss_fft_s16.h:
	  * gst-libs/gst/fft/kiss_fft_s32.h:
	  Don't include malloc.h which doesn't exist on Mac OSX.
	  Instead, pull in glib.h and use g_malloc/g_free for
	  consistency. Fixes: #496548

2007-11-09 15:54:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstdecodebin2.c: Dont leak ghostpad. Fixes #475451.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  Dont leak ghostpad. Fixes #475451.

2007-11-09 12:21:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Update some more docs and comments.
	  Original commit message from CVS:
	  * docs/design/design-decodebin.txt:
	  * gst/playback/gstdecodebin2.c: (analyze_new_pad):
	  Update some more docs and comments.

2007-11-07 16:47:32 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Require GIO >= 0.1.2 and adjust unit test for an API change.
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/check/pipelines/gio.c: (GST_START_TEST):
	  Require GIO >= 0.1.2 and adjust unit test for an API change.

2007-11-07 15:18:54 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.h: Add macro to check if a stream supports seeking.
	  Original commit message from CVS:
	  * ext/gio/gstgio.h:
	  Add macro to check if a stream supports seeking.
	  * ext/gio/Makefile.am:
	  * ext/gio/gstgiobasesink.c: (gst_gio_base_sink_base_init),
	  (gst_gio_base_sink_class_init), (gst_gio_base_sink_init),
	  (gst_gio_base_sink_finalize), (gst_gio_base_sink_start),
	  (gst_gio_base_sink_stop), (gst_gio_base_sink_unlock),
	  (gst_gio_base_sink_unlock_stop), (gst_gio_base_sink_event),
	  (gst_gio_base_sink_render), (gst_gio_base_sink_query),
	  (gst_gio_base_sink_set_stream):
	  * ext/gio/gstgiobasesink.h:
	  * ext/gio/gstgiobasesrc.c: (gst_gio_base_src_base_init),
	  (gst_gio_base_src_class_init), (gst_gio_base_src_init),
	  (gst_gio_base_src_finalize), (gst_gio_base_src_start),
	  (gst_gio_base_src_stop), (gst_gio_base_src_get_size),
	  (gst_gio_base_src_is_seekable), (gst_gio_base_src_unlock),
	  (gst_gio_base_src_unlock_stop), (gst_gio_base_src_check_get_range),
	  (gst_gio_base_src_create), (gst_gio_base_src_set_stream):
	  * ext/gio/gstgiobasesrc.h:
	  Refactor common GIO functions to GstGioBaseSink and GstGioBaseSrc
	  base classes that only require a GInputStream or GOutputStream to
	  work.
	  * ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
	  (gst_gio_sink_class_init), (gst_gio_sink_init),
	  (gst_gio_sink_finalize), (gst_gio_sink_start):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
	  (gst_gio_src_class_init), (gst_gio_src_init),
	  (gst_gio_src_finalize), (gst_gio_src_start):
	  * ext/gio/gstgiosrc.h:
	  Use the newly created base classes here.
	  * ext/gio/gstgio.c: (plugin_init):
	  * ext/gio/gstgiostreamsink.c: (gst_gio_stream_sink_base_init),
	  (gst_gio_stream_sink_class_init), (gst_gio_stream_sink_init),
	  (gst_gio_stream_sink_finalize), (gst_gio_stream_sink_set_property),
	  (gst_gio_stream_sink_get_property):
	  * ext/gio/gstgiostreamsink.h:
	  * ext/gio/gstgiostreamsrc.c: (gst_gio_stream_src_base_init),
	  (gst_gio_stream_src_class_init), (gst_gio_stream_src_init),
	  (gst_gio_stream_src_finalize), (gst_gio_stream_src_set_property),
	  (gst_gio_stream_src_get_property):
	  * ext/gio/gstgiostreamsrc.h:
	  Implement GstGioStreamSink and GstGioStreamSrc that have a property
	  to set the GInputStream/GOutputStream that should be used.
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/.cvsignore:
	  * tests/check/pipelines/gio.c: (message_handler), (GST_START_TEST),
	  (gio_testsuite), (main):
	  Add unit test for giostreamsrc and giostreamsink.

2007-11-07 11:48:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Remove nowadays unnecessary workaround for a crash.
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (plugin_init):
	  Remove nowadays unnecessary workaround for a crash.
	  * ext/gio/gstgiosink.c: (gst_gio_sink_finalize),
	  (gst_gio_sink_start), (gst_gio_sink_stop),
	  (gst_gio_sink_unlock_stop):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.c: (gst_gio_src_finalize), (gst_gio_src_start),
	  (gst_gio_src_stop), (gst_gio_src_unlock_stop):
	  * ext/gio/gstgiosrc.h:
	  Make the finalize function safer, clean up everything that could stay
	  around.
	  Reset the cancellable instead of creating a new one after cancelling
	  some operation.
	  Don't store the GFile in the element, it's only necessary for creating
	  the streams.

2007-11-06 23:35:39 +0000  Sebastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/rtp/: Fix some C99-isms and and a missing function that some versions of
	  Original commit message from CVS:
	  Patch by: Sebastien Moutte  <sebastien moutte net>
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
	  (gst_rtcp_unix_to_ntp):
	  * gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_name):
	  Fix some C99-isms and and a missing function that some versions of
	  MSVC don't like too much (#494346).
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstaudio.dsp:
	  * win32/vs6/libgstrtp.dsp:
	  * win32/vs6/libgsttag.dsp:
	  Update vs6 projects files (#494346).

2007-11-06 16:38:49 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>

	  win32/common/: More missing symbols to export (fixes #493986).
	  Original commit message from CVS:
	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
	  * win32/common/libgstaudio.def:
	  * win32/common/libgstcdda.def:
	  * win32/common/libgstinterfaces.def:
	  * win32/common/libgstnetbuffer.def:
	  * win32/common/libgstpbutils.def:
	  * win32/common/libgstrtp.def:
	  * win32/common/libgstrtsp.def:
	  * win32/common/libgsttag.def:
	  * win32/common/libgstvideo.def:
	  More missing symbols to export (fixes #493986).

2007-11-06 11:58:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Remove the magnitude and phase calculation functions as these have very special use cases and can't even be used for ...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/fft/gstfftf32.c:
	  * gst-libs/gst/fft/gstfftf32.h:
	  * gst-libs/gst/fft/gstfftf64.c:
	  * gst-libs/gst/fft/gstfftf64.h:
	  * gst-libs/gst/fft/gstffts16.c:
	  * gst-libs/gst/fft/gstffts16.h:
	  * gst-libs/gst/fft/gstffts32.c:
	  * gst-libs/gst/fft/gstffts32.h:
	  * tests/check/libs/fft.c: (GST_START_TEST):
	  Remove the magnitude and phase calculation functions as these have
	  very special use cases and can't even be used for the spectrum
	  element. Also adjust the docs to mention some properties of the used
	  FFT implemention, i.e. how the values are scaled. Fixes #492098.

2007-11-06 11:09:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Avoid crash when there are external subtitles (fixes #491722).
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (queue_threshold_reached),
	  (finish_source):
	  Avoid crash when there are external subtitles (fixes #491722).

2007-11-03 10:39:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/: 'Could not open resource for writing' is not an acceptable even less so when we're trying to open it to re...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_open):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_open):
	  'Could not open resource for writing' is not an acceptable
	  error message when we can't open the audio device (see #492334),
	  even less so when we're trying to open it to record something.

2007-11-02 21:03:01 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>

	  win32/common/libgstrtp.def: Add some more missing symbols (#492813).
	  Original commit message from CVS:
	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
	  * win32/common/libgstrtp.def:
	  Add some more missing symbols (#492813).

2007-11-02 14:59:06 +0000  Thijs Vermeir <thijsvermeir@gmail.com>

	  tests/check/elements/audioconvert.c: Add check to make sure that the out caps have a channel layout set on them where...
	  Original commit message from CVS:
	  Patch by: Thijs Vermeir <thijsvermeir@gmail.com>
	  * tests/check/elements/audioconvert.c: (verify_convert):
	  Add check to make sure that the out caps have a channel layout
	  set on them where they should have one.

2007-11-01 13:28:59 +0000  Vincent Torri <vtorri@univ-evry.fr>

	  gst-libs/gst/fft/: Include our own _stdint.h instead of sys/types.h, makes MingW happy (#492306).
	  Original commit message from CVS:
	  Patch by: Vincent Torri <vtorri at univ-evry dot fr>
	  * gst-libs/gst/fft/kiss_fft_s16.h: (KISS_FFT_S16_MALLOC):
	  * gst-libs/gst/fft/kiss_fft_s32.h: (KISS_FFT_S32_MALLOC):
	  Include our own _stdint.h instead of sys/types.h, makes MingW happy
	  (#492306).
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (gst_rtsp_connection_create):
	  Use _pipe directly, GLib doesn't have a pipe() macro any longer
	  (it disappeared in GLib 2.14.0) (#492306).
	  * gst-libs/gst/sdp/Makefile.am:
	  * gst-libs/gst/sdp/gstsdpmessage.c:
	  Fix includes and LIBS for win32/Mingw (#492306).
	  * tests/examples/dynamic/addstream.c (pause_play_stream):
	  Use more portable g_usleep() instead of sleep() (#492306).

2007-11-01 12:51:57 +0000  Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>

	  gst-libs/gst/audio/gstringbuffer.c: Return NULL instead of an enum that happens to be 0, fixes warning on MSVC (#4921...
	  Original commit message from CVS:
	  Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
	  * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
	  (gst_ring_buffer_parse_caps):
	  Return NULL instead of an enum that happens to be 0, fixes warning
	  on MSVC (#492114).
	  * gst-libs/gst/audio/gstringbuffer.h:
	  No trailing commas in enum list (for gcc-2.9x).
	  * gst/videotestsrc/videotestsrc.c: (random_char):
	  Make information loss explicit instead of implicitly truncating to
	  eight bits via the return value.  Fixes runtime error on MSVC when
	  using the debug CRT (#492114).
	  * win32/common/config.h.in:
	  Fix a bunch of '#undef FOO bar', which MSVC doesn't like (#492114).
	  * win32/common/libgstinterfaces.def:
	  * win32/common/libgstrtp.def:
	  Export a few more symbols (#492114).

2007-11-01 08:06:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/audio.*: Readd the deprecation guards, but preserve compilability.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.c:
	  * gst-libs/gst/audio/audio.h:
	  Readd the deprecation guards, but preserve compilability.

2007-10-31 17:54:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/gstaudioconvert.c: Preserve channel layout when fixating the number of channels in the output caps, ...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (find_suitable_channel_layout),
	  (gst_audio_convert_fixate_channels), (gst_audio_convert_fixate_caps):
	  Preserve channel layout when fixating the number of channels in the
	  output caps, or make sure there's a suitable channel position layout
	  set on the caps if required. Fixes #430677.

2007-10-31 17:32:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/decodebin.c: Make sure the pipeline really operates in push mode as it should in this case.
	  Original commit message from CVS:
	  * tests/check/elements/decodebin.c: (test_text_plain_streams):
	  Make sure the pipeline really operates in push mode as it should
	  in this case.

2007-10-31 15:30:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/audio.h: Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or compilation with DISABLE_...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.h:
	  Don't guard deprecated enum with #ifndef DISABLE_DEPRECATED, or
	  compilation with DISABLE_DEPRECATED and without REMOVE_DEPRECATED
	  (ie. normal cvs builds) will fail.

2007-10-31 12:47:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tell gtk-doc about the deprecation guard. Apply more doc fixes.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * gst-libs/gst/audio/audio.c:
	  * gst-libs/gst/audio/audio.h:
	  * gst-libs/gst/interfaces/mixer.c:
	  tell gtk-doc about the deprecation guard. Apply more doc fixes.

2007-10-31 12:30:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/audio.c: Add simple unit test to make sure GstValue intersection of channel layouts works the way I ...
	  Original commit message from CVS:
	  * tests/check/libs/audio.c: (init_value_to_channel_layout),
	  (test_channel_layout_value_intersect), (audio_suite):
	  Add simple unit test to make sure GstValue intersection
	  of channel layouts works the way I think it does.

2007-10-30 20:32:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix the docs according to what gtk-doc complained about.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  * gst-libs/gst/interfaces/mixer.h:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  * gst-libs/gst/sdp/gstsdpmessage.c:
	  Fix the docs according to what gtk-doc complained about.

2007-10-30 19:46:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/icles/stress-playbin.c: Fix the build.
	  Original commit message from CVS:
	  * tests/icles/stress-playbin.c:
	  Fix the build.

2007-10-30 15:54:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Post nice/more useful error message if we don't have a decoder for the primary type.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (close_pad_link), (type_found):
	  * gst/playback/gstdecodebin2.c: (analyze_new_pad):
	  Post nice/more useful error message if we don't have a decoder for
	  the primary type.

2007-10-30 15:07:58 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Be a bit more useful, unblock the pads after we fired the no-more-pads signal so that w...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_group_expose):
	  Be a bit more useful, unblock the pads after we fired the no-more-pads
	  signal so that we can use the signal to inspect and connect all pads
	  without having to keep extra state outside of decodebin.

2007-10-30 15:00:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gsturidecodebin.c: Implement default signal handler so that we return TRUE when nothing is connected.
	  Original commit message from CVS:
	  * gst/playback/gsturidecodebin.c:
	  (gst_uri_decode_bin_autoplug_continue),
	  (gst_uri_decode_bin_class_init), (no_more_pads_full):
	  Implement default signal handler so that we return TRUE when nothing is
	  connected.

2007-10-28 11:53:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Use the ALSA channel layout as default for wav files without channel layout informati...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c:
	  (gst_riff_wavext_add_channel_layout),
	  (gst_riff_wave_add_default_channel_layout),
	  (gst_riff_wavext_get_default_channel_mask),
	  (gst_riff_create_audio_caps):
	  Use the ALSA channel layout as default for wav files without channel
	  layout information. This fixes playback of chan-id.wav on 5.1 systems
	  for example. Also refactor the channel layout setting a bit and add
	  more default channel orders. Fixes #489010.

2007-10-28 11:46:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	* ChangeLog:
	  Use the ALSA channel layout as default for wav files without channel layout information. This fixes playback of chan-...
	  Original commit message from CVS:
	  (gst_riff_wavext_add_channel_layout),
	  (gst_riff_wave_add_default_channel_layout),
	  (gst_riff_wavext_get_default_channel_mask),
	  (gst_riff_create_audio_caps):
	  Use the ALSA channel layout as default for wav files without channel
	  layout information. This fixes playback of chan-id.wav on 5.1 systems
	  for example. Also refactor the channel layout setting a bit and add
	  more default channel orders. Fixes #489010.

2007-10-26 18:57:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/tag.c: GST_TAG_MUSICBRAINZ_SORTNAME is deprecated and we compile with
	  Original commit message from CVS:
	  * tests/check/libs/tag.c: (test_musicbrainz_tag_registration):
	  GST_TAG_MUSICBRAINZ_SORTNAME is deprecated and we compile with
	  -DGST_DISABLE_DEPRECATED, so use new GST_TAG_ARTIST_SORTNAME
	  instead.

2007-10-26 12:07:14 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update spec file
	  Original commit message from CVS:
	  update spec file

2007-10-25 17:36:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Move subtitle encoding property to decodebin2 so that it can set the property value on ...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
	  (gst_decode_bin_dispose), (gst_decode_bin_set_caps),
	  (gst_decode_bin_set_subs_encoding),
	  (gst_decode_bin_get_subs_encoding), (gst_decode_bin_set_property),
	  (gst_decode_bin_get_property), (analyze_new_pad):
	  Move subtitle encoding property to decodebin2 so that it can set the
	  property value on all elements that it autoplugs and that require it.
	  Make caps refcounting more consistent in get/set.
	  * gst/playback/gsturidecodebin.c: (_gst_boolean_accumulator),
	  (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
	  (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
	  (gst_uri_decode_bin_get_property), (proxy_unknown_type_signal),
	  (proxy_autoplug_continue_signal),
	  (proxy_autoplug_factories_signal), (proxy_autoplug_select_signal),
	  (make_decoder):
	  Proxy properties and relevant signals from the internal decodebin.
	  Make properties MT safe.

2007-10-25 15:10:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/: Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tag.h: (GST_TAG_MUSICBRAINZ_SORTNAME):
	  * gst-libs/gst/tag/tags.c:
	  Deprecate GST_TAG_MUSICBRAINZ_SORTNAME, replaced by the newly-added
	  GST_TAG_ARTIST_SORTNAME (in an API and ABI compatible way).
	  * gst-libs/gst/tag/gstid3tag.c: (tag_matches):
	  Map ID3v2 TSOP, TSOA and TSOT frames to new SORTNAME tags (#414539).
	  * gst-libs/gst/tag/gstvorbistag.c: (tag_matches),
	  (gst_tag_to_vorbis_comments):
	  Map new SORTNAME tags (these tags aren't even semi-official, so I'm
	  just mapping everything I found in the wild) (#414539).

2007-10-24 11:07:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Remove the autoplug-sort signal and replace it with a binding friendly autoplug-select signal.
	  Original commit message from CVS:
	  Inspired by patch of: René Stadler <mail at renestadler dot de>
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init),
	  (gst_decode_bin_autoplug_continue),
	  (gst_decode_bin_autoplug_factories),
	  (gst_decode_bin_autoplug_select), (analyze_new_pad), (connect_pad),
	  (find_compatibles):
	  * gst/playback/gstplay-marshal.list:
	  Remove the autoplug-sort signal and replace it with a binding friendly
	  autoplug-select signal.
	  Add an autoplug-factories signal that can be used to generate a list of
	  factories to try to autoplug.
	  Add the GstPad to the autoplugging signal args as it might be needed to
	  make a good factory selection.
	  Fix up the marshallers for this. Fixes #407282.

2007-10-23 14:23:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gsttagdemux.c: Don't abort with an assertion if we receive a seek event with a start type of NONE (s...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c:
	  Don't abort with an assertion if we receive a seek event with
	  a start type of NONE (see launchpad bug #155878).

2007-10-22 10:21:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/: Make sure that before we clean up the X resources, we shutdown and join the event thread.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_event_thread),
	  (gst_ximagesink_xcontext_get), (gst_ximagesink_xcontext_clear),
	  (gst_ximagesink_change_state), (gst_ximagesink_reset):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_event_thread),
	  (gst_xvimagesink_xcontext_get), (gst_xvimagesink_xcontext_clear),
	  (gst_xvimagesink_change_state), (gst_xvimagesink_reset):
	  Make sure that before we clean up the X resources, we shutdown and join
	  the event thread.
	  Also make sure the event thread does not shut down immediatly after
	  startup because the running variable is not yet correctly set.
	  Fixes #378770.

2007-10-16 16:48:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Make the window for a race in typefind and shutting down smaller until we figure out the...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (new_pad), (type_found):
	  Make the window for a race in typefind and shutting down smaller until
	  we figure out the right locking here. Avoids #485753 usually.
	  * gst/playback/gstdecodebin2.c: (type_found), (pad_added_group_cb):
	  Remove unneeded lock causing a race in typefind and shutting down.
	  Fixes #485753.
	  * gst/playback/gstplaybin.c: (gst_play_bin_change_state):
	  Also remove sinks when going to NULL because we might not complete the
	  state change to PAUSED, causing the PAUSED->READY state change not to
	  happen.

2007-10-16 15:33:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Also explicitly release the ringbuffer when going to NULL because it is requir...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain), (gst_base_audio_sink_change_state):
	  Also explicitly release the ringbuffer when going to NULL because it
	  is required in the setcaps function, before the state change to PAUSED
	  completes.

2007-10-16 14:58:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/icles/: Does what it says on the tin.
	  Original commit message from CVS:
	  * tests/icles/.cvsignore:
	  * tests/icles/Makefile.am:
	  * tests/icles/stress-playbin.c:
	  Does what it says on the tin.

2007-10-15 11:38:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Fix queue negotiation. See #486758.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_init), (gst_queue_push_one):
	  Fix queue negotiation. See #486758.

2007-10-12 10:52:18 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Actual code change to go along with:
	  Original commit message from CVS:
	  Actual code change to go along with:
	  2007-10-12  Jan Schmidt  <Jan.Schmidt@sun.com>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
	  (gst_xvimagesink_xwindow_new),
	  (gst_xvimagesink_update_colorbalance),
	  (gst_xvimagesink_handle_xevents), (gst_xvimagesink_xcontext_get):
	  Fix handling of some of the X atoms. If the last parameter is True,
	  XInternAtom won't create the atom if it doesn't exist, and therefore
	  might return None. This causes X errors on Xv implementations that
	  don't provide the colour balance attributes.

2007-10-12 10:37:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  Remove stray character from the changelog.
	  Original commit message from CVS:
	  Remove stray character from the changelog.

2007-10-12 10:33:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  I'm too lazy to comment this
	  Original commit message from CVS:
	  *** empty log message ***

2007-10-11 18:24:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Extract vorbis comment LICENSE tags correctly.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  * tests/check/libs/tag.c:
	  Extract vorbis comment LICENSE tags correctly.

2007-10-11 16:12:21 +0000  Jason Kivlighn <jkivlighn@gmail.com>

	  Map ID3v2 WCOP frame to GST_TAG_COPYRIGHT_URI (#447000).
	  Original commit message from CVS:
	  Patch by: Jason Kivlighn  <jkivlighn gmail com>
	  * gst-libs/gst/tag/gstid3tag.c:
	  * tests/check/libs/tag.c:
	  Map ID3v2 WCOP frame to GST_TAG_COPYRIGHT_URI (#447000).

2007-10-10 17:01:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gsttagdemux.c: Don't error out when a buggy downstream element doesn't handle the newsegment event w...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c:
	  Don't error out when a buggy downstream element doesn't
	  handle the newsegment event we send properly (especially
	  not without posting a meaningful error message on the
	  bus). See bug #471370 and launchpad bug #136264.

2007-10-10 15:36:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Use new basesink method to make our EOS drain interruptable.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain):
	  Use new basesink method to make our EOS drain interruptable.

2007-10-10 09:37:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtp/gstrtppayloads.c: Fix silly search-replace oversight.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtppayloads.c:
	  Fix silly search-replace oversight.

2007-10-09 09:57:17 +0000  Laurent Glayal <spglegle@yahoo.fr>

	  gst-libs/gst/rtp/gstbasertppayload.c: Fix caps memleak. Fixes #484989.
	  Original commit message from CVS:
	  Patch by: Laurent Glayal <spglegle at yahoo dot fr>
	  * gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed),
	  (gst_basertppayload_set_outcaps):
	  Fix caps memleak. Fixes #484989.

2007-10-08 18:04:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Fix debug output.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain):
	  Fix debug output.

2007-10-08 18:02:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Also handle the case where there is no clock set on the audio source, like in t...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Also handle the case where there is no clock set on the audio source,
	  like in the unit tests.

2007-10-08 17:40:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtp/gstrtppayloads.c: Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8 to avoid compiler war...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtppayloads.c:
	  Use unsigned G_MAXUINT8 instead of -1 to initialise a guint8
	  to avoid compiler warnings

2007-10-08 17:12:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Don't disconnect the have_type signal because we never reconnect it later on. Instead keep a variable ...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (type_found),
	  (gst_decode_bin_change_state):
	  * gst/playback/gstdecodebin2.c: (type_found),
	  (gst_decode_bin_change_state):
	  Don't disconnect the have_type signal because we never reconnect it
	  later on. Instead keep a variable to see if we already detected a type.

2007-10-08 10:47:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Unlink the signal handler when we found the type, we're not going to do anything sensible with more ty...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (add_fakesink), (type_found):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
	  (type_found):
	  Unlink the signal handler when we found the type, we're not going to do
	  anything sensible with more type_found signals anyway.

2007-10-08 06:07:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgio.c: Use GIO function to get a list of supported URI schemes instead of hard coding something.
	  Original commit message from CVS:
	  * ext/gio/gstgio.c: (gst_gio_get_supported_protocols):
	  Use GIO function to get a list of supported URI schemes instead of
	  hard coding something.

2007-10-06 16:49:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gsttagdemux.c: Don't leak caps.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gsttagdemux.c:
	  Don't leak caps.

2007-10-06 15:04:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/: API: add GstTagDemux base class for simple tag demuxers.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/Makefile.am:
	  * gst-libs/gst/tag/gsttagdemux.c:
	  * gst-libs/gst/tag/gsttagdemux.h:
	  API: add GstTagDemux base class for simple tag demuxers.
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Add GstTagDemux to docs.

2007-10-05 07:49:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Fix bug introduced with last commit which inverted the logic and caused all buffers ...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  (gst_rtp_buffer_get_payload_subbuffer):
	  Fix bug introduced with last commit which inverted the logic and
	  caused all buffers to be dropped. Fixes #483620.
	  Thanks to Laurent Glayal <spglegle at yahoo dot fr> for noticing.

2007-10-04 06:50:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/rtp/gstrtpbuffer.c: with regular return and warning.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  Replace g_return_if_val (as it could be disabled), with regular return
	  and warning.

2007-10-03 14:51:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/pipelines/simple-launch-lines.c: Print message name and not just number.
	  Original commit message from CVS:
	  * tests/check/pipelines/simple-launch-lines.c:
	  Print message name and not just number.

2007-10-02 11:11:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: When slaved to the clock, don't try to align a sample with the previous one wh...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_async_play):
	  When slaved to the clock, don't try to align a sample with the previous
	  one when going to PLAYING again.

2007-10-02 09:04:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/snapshot/snapshot.c: Fix the build.
	  Original commit message from CVS:
	  * tests/examples/snapshot/snapshot.c:
	  Fix the build.

2007-10-02 07:43:57 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/gstgiosink.c: Update to API changes in GIO.
	  Original commit message from CVS:
	  * ext/gio/gstgiosink.c: (gst_gio_sink_start):
	  Update to API changes in GIO.

2007-10-01 16:33:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.h: Add RFC 3556 bandwidth modifiers.
	  Original commit message from CVS:
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  Add RFC 3556 bandwidth modifiers.

2007-10-01 13:37:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Update documentation.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtp/gstrtppayloads.c:
	  Update documentation.

2007-10-01 13:22:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/: Added new file and header to deal with payload info.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/Makefile.am:
	  * gst-libs/gst/rtp/gstrtppayloads.c: (gst_rtp_payload_info_for_pt),
	  (gst_rtp_payload_info_for_name):
	  * gst-libs/gst/rtp/gstrtppayloads.h:
	  Added new file and header to deal with payload info.
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
	  (gst_rtp_buffer_default_clock_rate):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Payload specific stuff is move to new headers.
	  Implement _default_clock rate using the new payload function.
	  * gst-libs/gst/sdp/gstsdpmessage.c: (is_multicast_address),
	  (gst_sdp_parse_line):
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  Add some more comments.

2007-10-01 10:22:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/typefind/gsttypefindfunctions.c: Add typefind function for application/sdp.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (utf8_type_find),
	  (sdp_check_header), (sdp_type_find), (plugin_init):
	  Add typefind function for application/sdp.
	  Remove some old dirac typefind code that was ifdeffed out.

2007-09-29 12:04:02 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/common/libgstaudio.def: Add new exported functions.
	  Original commit message from CVS:
	  * win32/common/libgstaudio.def:
	  Add new exported functions.
	  * win32/vs6/grammar.dsp:
	  Add autogeneration and copy of some autegenerated files from win32/common
	  for rtsp library.
	  * win32/vs6/libgstaudioconvert.dsp:
	  Add gstaudioquantize.c to the build.
	  * win32/vs6/libgstinterfaces.dsp:
	  Add videoorientation.c to the build.
	  * win32/vs6/libgstriff.dsp:
	  Add libgsttag to the link libraries list.
	  * win32/vs6/libgstvolume.dsp:
	  Add liboil to the link.
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstrtsp.dsp:
	  * win32/common/libgstrtsp.def:
	  Add files to build libgstrtsp library.

2007-09-29 07:01:55 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/gio/: Some minor cleanup and allow setting the location only when the element is not playing or paused.
	  Original commit message from CVS:
	  * ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
	  (gst_gio_sink_set_property), (gst_gio_sink_render):
	  * ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
	  (gst_gio_src_set_property):
	  Some minor cleanup and allow setting the location only when the
	  element is not playing or paused.

2007-09-26 15:14:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/snapshot/snapshot.c: Print error when pipeline failed to construct.
	  Original commit message from CVS:
	  * tests/examples/snapshot/snapshot.c: (main):
	  Print error when pipeline failed to construct.

2007-09-25 19:06:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add mappings for the new GST_TAG_COMPOSER for vorbis comments and ID3v2 tags.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/tag/gstid3tag.c:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Add mappings for the new GST_TAG_COMPOSER for vorbis comments
	  and ID3v2 tags.

2007-09-25 11:54:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/floatcast/floatcast.h: Don't include config.h in an installed public header, this might break compilatio...
	  Original commit message from CVS:
	  * gst-libs/gst/floatcast/floatcast.h:
	  Don't include config.h in an installed public header, this
	  might break compilation of applications that don't have such
	  a header and doesn't necessarily do what it's supposed to do
	  anyway (ie. check for the lrint/lrintf defines) (#442065).
	  Add docs for the various macros and document how this header
	  has to be used (link against libm, etc.); add a few FIXMEs;
	  include math.h for non-c99 code path.  Based on patch by
	  Jan Schmidt.

2007-09-25 07:50:59 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  configure.ac: Use AG_GST_ARG_WITH_PLUGINS and AG_GST_ARG_ENABLE_EXTERNAL instead of duplicating these macros in confi...
	  Original commit message from CVS:
	  * configure.ac:
	  Use AG_GST_ARG_WITH_PLUGINS and AG_GST_ARG_ENABLE_EXTERNAL instead
	  of duplicating these macros in configure.ac.

2007-09-22 17:58:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Updated translations to 0.10.14
	  Original commit message from CVS:
	  * po/hu.po:
	  * po/sv.po:
	  * po/uk.po:
	  Updated translations to 0.10.14

2007-09-22 17:57:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* po/LINGUAS:
	  add languages
	  Original commit message from CVS:
	  add languages

2007-09-22 17:56:28 +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 17:55:37 +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 17:54:50 +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 17:53:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/da.po: Added Danish translation.
	  Original commit message from CVS:
	  translated by: Mogens Jaeger <mogens@jaeger.tf>
	  * po/da.po:
	  Added Danish translation.

2007-09-22 17:52:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/zh_CN.po: Added Chinese (simplified) translation.
	  Original commit message from CVS:
	  translated by: Funda Wang <fundawang@linux.net.cn>
	  * po/zh_CN.po:
	  Added Chinese (simplified) translation.

2007-09-22 17:51:45 +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-21 18:00:24 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  docs/plugins/gst-plugins-bad-plugins.hierarchy: Update hierarchy.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-bad-plugins.hierarchy:
	  Update hierarchy.
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.h:
	  Mark private fields of the instance structs private.

2007-09-21 17:31:05 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  docs/plugins/: Add the GIO plugin to the docs and do a make update while doing that.
	  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:
	  * docs/plugins/gst-plugins-bad-plugins.args:
	  * docs/plugins/gst-plugins-bad-plugins.signals:
	  * docs/plugins/inspect/plugin-bz2.xml:
	  * docs/plugins/inspect/plugin-cdxaparse.xml:
	  * docs/plugins/inspect/plugin-dfbvideosink.xml:
	  * docs/plugins/inspect/plugin-dtsdec.xml:
	  * docs/plugins/inspect/plugin-equalizer.xml:
	  * docs/plugins/inspect/plugin-faac.xml:
	  * docs/plugins/inspect/plugin-faad.xml:
	  * docs/plugins/inspect/plugin-filter.xml:
	  * docs/plugins/inspect/plugin-freeze.xml:
	  * docs/plugins/inspect/plugin-gio.xml:
	  * docs/plugins/inspect/plugin-gsm.xml:
	  * docs/plugins/inspect/plugin-gstrtpmanager.xml:
	  * docs/plugins/inspect/plugin-h264parse.xml:
	  * docs/plugins/inspect/plugin-modplug.xml:
	  * docs/plugins/inspect/plugin-mpeg2enc.xml:
	  * docs/plugins/inspect/plugin-musepack.xml:
	  * docs/plugins/inspect/plugin-musicbrainz.xml:
	  * docs/plugins/inspect/plugin-nsfdec.xml:
	  * docs/plugins/inspect/plugin-replaygain.xml:
	  * docs/plugins/inspect/plugin-soundtouch.xml:
	  * docs/plugins/inspect/plugin-spcdec.xml:
	  * docs/plugins/inspect/plugin-spectrum.xml:
	  * docs/plugins/inspect/plugin-speed.xml:
	  * docs/plugins/inspect/plugin-tta.xml:
	  * docs/plugins/inspect/plugin-videosignal.xml:
	  * docs/plugins/inspect/plugin-xingheader.xml:
	  * docs/plugins/inspect/plugin-xvid.xml:
	  Add the GIO plugin to the docs and do a make update
	  while doing that.
	  * ext/gio/gstgiosrc.c: (gst_gio_src_start):
	  Fix a small memleak.

2007-09-21 17:07:56 +0000  René Stadler <mail@renestadler.de>

	  Add a GIO/GVFS plugin with source and sink elements. This will only be enabled when --enable-experimental is given to...
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler dot de>
	  * configure.ac:
	  * ext/Makefile.am:
	  * ext/gio/Makefile.am:
	  * ext/gio/gstgio.c: (gst_gio_error), (gst_gio_seek),
	  (gst_gio_get_supported_protocols),
	  (gst_gio_uri_handler_get_type_sink),
	  (gst_gio_uri_handler_get_type_src),
	  (gst_gio_uri_handler_get_protocols), (gst_gio_uri_handler_get_uri),
	  (gst_gio_uri_handler_set_uri), (gst_gio_uri_handler_init),
	  (gst_gio_uri_handler_do_init), (plugin_init):
	  * ext/gio/gstgio.h:
	  * ext/gio/gstgiosink.c: (gst_gio_sink_base_init),
	  (gst_gio_sink_class_init), (gst_gio_sink_init),
	  (gst_gio_sink_finalize), (gst_gio_sink_set_property),
	  (gst_gio_sink_get_property), (gst_gio_sink_start),
	  (gst_gio_sink_stop), (gst_gio_sink_unlock),
	  (gst_gio_sink_unlock_stop), (gst_gio_sink_event),
	  (gst_gio_sink_render), (gst_gio_sink_query):
	  * ext/gio/gstgiosink.h:
	  * ext/gio/gstgiosrc.c: (gst_gio_src_base_init),
	  (gst_gio_src_class_init), (gst_gio_src_init),
	  (gst_gio_src_finalize), (gst_gio_src_set_property),
	  (gst_gio_src_get_property), (gst_gio_src_start),
	  (gst_gio_src_stop), (gst_gio_src_get_size),
	  (gst_gio_src_is_seekable), (gst_gio_src_unlock),
	  (gst_gio_src_unlock_stop), (gst_gio_src_check_get_range),
	  (gst_gio_src_create):
	  * ext/gio/gstgiosrc.h:
	  Add a GIO/GVFS plugin with source and sink elements. This will
	  only be enabled when --enable-experimental is given to configure
	  for now as the GIO API is not stable yet. Fixes #476916.

2007-09-21 14:37:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Fix compilation wrt printf arguments.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_push_one):
	  Fix compilation wrt printf arguments.

2007-09-20 17:38:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  examples/app/appsrc_ex.c: Fix compilation after changing the name of a method.
	  Original commit message from CVS:
	  * examples/app/appsrc_ex.c: (main):
	  Fix compilation after changing the name of a method.

2007-09-20 14:09:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add simple snapshot example program using appsink.
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/examples/Makefile.am:
	  * tests/examples/snapshot/.cvsignore:
	  * tests/examples/snapshot/Makefile.am:
	  * tests/examples/snapshot/snapshot.c: (main):
	  Add simple snapshot example program using appsink.

2007-09-20 13:59:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.*: Add properties, signals and actions to access the element even without linking to the ...
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_marshal_OBJECT__VOID),
	  (gst_app_sink_class_init), (gst_app_sink_init),
	  (gst_app_sink_dispose), (gst_app_sink_finalize),
	  (gst_app_sink_set_property), (gst_app_sink_get_property),
	  (gst_app_sink_flush_unlocked), (gst_app_sink_start),
	  (gst_app_sink_event), (gst_app_sink_getcaps),
	  (gst_app_sink_set_caps), (gst_app_sink_get_caps),
	  (gst_app_sink_is_eos), (gst_app_sink_pull_preroll),
	  (gst_app_sink_pull_buffer):
	  * gst-libs/gst/app/gstappsink.h:
	  Add properties, signals and actions to access the element even without
	  linking to the library.
	  Fix some method names and signatures.

2007-09-20 10:37:02 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/generic/states.c: Improved state change unit test.
	  Original commit message from CVS:
	  * tests/check/generic/states.c:
	  Improved state change unit test.

2007-09-19 18:16:58 +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-19 16:09:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Only copy timestamp on outgoing packets if the depayloader did not set one.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Only copy timestamp on outgoing packets if the depayloader did not set
	  one.
	  Also copy duration on outgoing packets.

2007-09-19 15:55:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Fix compilation because of missing %d in printf.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c: (copy_fixed),
	  (gst_basertppayload_set_outcaps):
	  Fix compilation because of missing %d in printf.
	  When fixating caps, fixate what we can and throw away all remaining
	  unfixed caps, subclasses should do something smart if they need to.

2007-09-19 12:04:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Improve debug logs a bit and be more verbose if things go wrong.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Improve debug logs a bit and be more verbose if things go wrong.

2007-09-17 17:24:55 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Fix a bunch of compile warnings shown with Forte.
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
	  (gst_text_overlay_set_property):
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_ntp_to_unix),
	  (gst_rtcp_unix_to_ntp):
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (gst_rtsp_message_get_type):
	  * gst/playback/gstqueue2.c:
	  * tests/examples/seek/seek.c: (set_scale):
	  Fix a bunch of compile warnings shown with Forte.
	  * gst/audiorate/gstaudiorate.c:
	  Always pull in config.h before including any system headers.

2007-09-17 16:22:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Also fix #476514 for queue2.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (update_buffering),
	  (gst_queue_locked_flush), (gst_queue_locked_enqueue),
	  (gst_queue_handle_sink_event), (gst_queue_chain),
	  (gst_queue_push_one), (gst_queue_sink_activate_push),
	  (gst_queue_src_activate_push), (gst_queue_src_activate_pull):
	  Also fix #476514 for queue2.

2007-09-16 19:31:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Remove code to deal with RTP to GST time conversion, we now just copy the GST...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_setcaps),
	  (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_handle_sink_event),
	  (gst_base_rtp_depayload_push_full),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_change_state):
	  Remove code to deal with RTP to GST time conversion, we now just copy
	  the GST timestamp we receive to the outgoing buffers.
	  Handle segment and flushes correctly.
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
	  When we have no valid input timestamp, use the previous rtp timestamp on
	  the outgoing RTP packet instead of the RTP base time.

2007-09-16 01:56:21 +0000  David Schleef <ds@schleef.org>

	  ext/alsa/: Change alsa alloca's to malloc to fix warnings on gcc-4.2.
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c:
	  * ext/alsa/gstalsadeviceprobe.c:
	  * ext/alsa/gstalsamixer.c:
	  * ext/alsa/gstalsasink.c:
	  * ext/alsa/gstalsasrc.c:
	  Change alsa alloca's to malloc to fix warnings on gcc-4.2.

2007-09-15 18:41:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Add some debug info when negotiating caps.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_set_outcaps), (gst_basertppayload_push):
	  Add some debug info when negotiating caps.

2007-09-15 00:29:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.c: A buffer with an empty payload is also a valid buffer.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
	  A buffer with an empty payload is also a valid buffer.

2007-09-14 20:52:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Make sure we start our RTP timestamp from the random base RTP timestamp even if...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_event),
	  (gst_basertppayload_set_outcaps), (gst_basertppayload_push),
	  (gst_basertppayload_change_state):
	  Make sure we start our RTP timestamp from the random base RTP
	  timestamp even if the buffer timestamp starts from some random value.

2007-09-14 16:56:16 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add simple exmple app to demonstrate starting and pausing live and non-live bins in a PLAYING pipeline.
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/examples/Makefile.am:
	  * tests/examples/dynamic/.cvsignore:
	  * tests/examples/dynamic/Makefile.am:
	  * tests/examples/dynamic/addstream.c: (create_stream),
	  (pause_play_stream), (message_received), (eos_message_received),
	  (perform_step), (main):
	  Add simple exmple app to demonstrate starting and pausing live and
	  non-live bins in a PLAYING pipeline.

2007-09-14 10:42:00 +0000  Julien Moutte <julien@moutte.net>

	  gst/typefind/gsttypefindfunctions.c: Add some typefind for QCP files (RFC #3625)
	  Original commit message from CVS:
	  2007-09-14  Julien MOUTTE  <julien@moutte.net>
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init): Add some
	  typefind for QCP files (RFC #3625)

2007-09-13 22:52:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Disable pull mode scheduling, we're not ready for it yet and it subtly breaks ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_init):
	  Disable pull mode scheduling, we're not ready for it yet and it subtly
	  breaks a lot of things.

2007-09-12 17:35:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/libvisual.c: Test all libvisual plugins, not just the first one; this reproduces bug #450336 qui...
	  Original commit message from CVS:
	  * tests/check/elements/libvisual.c:
	  Test all libvisual plugins, not just the first one; this reproduces
	  bug #450336 quite easily.  Looks like a problem with the 'jess'
	  visualisation.

2007-09-12 17:15:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add basic libvisual test case in an attempt to reproduce bug #450336.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/libvisual.c:
	  Add basic libvisual test case in an attempt to reproduce bug #450336.
	  Doesn't reproduce that bug, but some other crasher instead (invalid
	  free), at least with make elements/libvisual.forever and the bumscope
	  plugin on x86-64/gutsy. Leaving test disabled for now.

2007-09-12 08:38:21 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst/: Printf format fixes (#476128).
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst-libs/gst/app/gstappsink.c:
	  * gst/flv/gstflvdemux.c:
	  * gst/flv/gstflvparse.c:
	  * gst/interleave/deinterleave.c:
	  * gst/switch/gstswitch.c:
	  Printf format fixes (#476128).

2007-09-11 19:07:57 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  gst-libs/gst/rtsp/gstrtspconnection.c: Make sure we can not cancel in the middle of receiving a message.
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_read_internal), (gst_rtsp_connection_read),
	  (read_body), (gst_rtsp_connection_receive):
	  Make sure we can not cancel in the middle of receiving a message.
	  Fixes #475731.

2007-09-11 11:29:12 +0000  Josep Torra Valles <josep@fluendo.com>

	  gst/playback/gstplaybasebin.c: Increase upper limit for audio queue a bit; fixes preroll problem with playbin and dec...
	  Original commit message from CVS:
	  Patch by: Josep Torra Valles <josep@fluendo.com>
	  * gst/playback/gstplaybasebin.c:
	  Increase upper limit for audio queue a bit; fixes preroll problem
	  with playbin and decodebin2 when playing a quicktime trailer with
	  multichannel audio via http (#464666).

2007-09-10 22:10:54 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.*: Allow othe clocks than the internal clock to be used for the pipeline.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init), (gst_base_audio_src_init),
	  (gst_base_audio_src_provide_clock),
	  (gst_base_audio_src_set_property),
	  (gst_base_audio_src_get_property), (gst_base_audio_src_create):
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  Allow othe clocks than the internal clock to be used for the pipeline.
	  Add property to disable clock provide.
	  API: GstBaseAudioSrc::provide-clock

2007-09-10 12:05:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gstdecodebin2.c: Don't leak request pads. Fixes #475395.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  Don't leak request pads. Fixes #475395.

2007-09-09 10:25:43 +0000  René Stadler <mail@renestadler.de>

	  sys/: Correctly chain up finalize with the parent class to prevent memory leaks. Fixes #474880.
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler dot de>
	  * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
	  (gst_ximage_buffer_class_init):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimage_buffer_class_init):
	  Correctly chain up finalize with the parent class to prevent
	  memory leaks. Fixes #474880.

2007-09-09 04:08:48 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Revert the latest change: floating point samples are allowed to have any value, not only values in the range [-1,1]. ...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_choose_func):
	  * tests/check/elements/volume.c: (GST_START_TEST):
	  Revert the latest change: floating point samples are allowed to
	  have any value, not only values in the range [-1,1]. Thanks to Andy
	  Wingo for noticing.
	  Also fix processing of int32 samples with volumes > 4 by making the
	  unity value smaller which prevents overflows.

2007-09-07 17:37:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  * tests/check/libs/rtp.c:
	  Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.

2007-09-07 16:46:05 +0000  Haakon Sporsheim <haakon.sporsheim@tandberg.com>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Fix up GstRTPHeader helper struct so that compilers will not under any circumstances...
	  Original commit message from CVS:
	  Based on patch by: Haakon Sporsheim  <haakon.sporsheim at tandberg com>
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  Fix up GstRTPHeader helper struct so that compilers will not under
	  any circumstances add padding in between our fields, as currently
	  happens with MSVC on win32, because that would lead to us sending
	  out RTP payloads with broken RTP headers (#471194).
	  Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
	  * tests/check/Makefile.am:
	  * tests/check/libs/.cvsignore:
	  * tests/check/libs/rtp.c:
	  Add some simple unit tests for GstRTPBuffer. Some are disabled
	  because the code tested still needs fixing (set_csrc() does not work).

2007-09-07 15:05:24 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update spec file to include latest RTSP libraries and headers and more
	  Original commit message from CVS:
	  update spec file to include latest RTSP libraries and headers and more

2007-09-07 12:41:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  win32/: Add rtsp enumtypes (#474384) and update others.
	  Original commit message from CVS:
	  * win32/MANIFEST:
	  * win32/common/gstrtsp-enumtypes.c:
	  * win32/common/gstrtsp-enumtypes.h:
	  * win32/common/interfaces-enumtypes.c:
	  * win32/common/interfaces-enumtypes.h:
	  * win32/common/multichannel-enumtypes.c:
	  Add rtsp enumtypes (#474384) and update others.

2007-09-06 20:31:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Fix configure check for HAVE_LIBXML_HTML.
	  Original commit message from CVS:
	  * configure.ac:
	  Fix configure check for HAVE_LIBXML_HTML.

2007-09-06 12:14:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/.cvsignore: Ignore more, in case the build bots work again one day.
	  Original commit message from CVS:
	  * tests/check/libs/.cvsignore:
	  Ignore more, in case the build bots work again one day.

2007-09-06 07:00:36 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  Add libgstfft, a FFT library based on Kiss FFT which is
	  Original commit message from CVS:
	  Reviewed by:  Stefan Kost  <ensonic@users.sf.net>
	  * configure.ac:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/fft/Makefile.am:
	  * gst-libs/gst/fft/_kiss_fft_guts_f32.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_f64.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_s16.h:
	  * gst-libs/gst/fft/_kiss_fft_guts_s32.h:
	  * gst-libs/gst/fft/gstfft.c: (gst_fft_next_fast_length):
	  * gst-libs/gst/fft/gstfft.h:
	  * gst-libs/gst/fft/gstfftf32.c: (gst_fft_f32_new),
	  (gst_fft_f32_fft), (gst_fft_f32_inverse_fft), (gst_fft_f32_free),
	  (gst_fft_f32_window), (gst_fft_f32_magnitude), (gst_fft_f32_phase):
	  * gst-libs/gst/fft/gstfftf32.h:
	  * gst-libs/gst/fft/gstfftf64.c: (gst_fft_f64_new),
	  (gst_fft_f64_fft), (gst_fft_f64_inverse_fft), (gst_fft_f64_free),
	  (gst_fft_f64_window), (gst_fft_f64_magnitude), (gst_fft_f64_phase):
	  * gst-libs/gst/fft/gstfftf64.h:
	  * gst-libs/gst/fft/gstffts16.c: (gst_fft_s16_new),
	  (gst_fft_s16_fft), (gst_fft_s16_inverse_fft), (gst_fft_s16_free),
	  (gst_fft_s16_window), (gst_fft_s16_magnitude), (gst_fft_s16_phase):
	  * gst-libs/gst/fft/gstffts16.h:
	  * gst-libs/gst/fft/gstffts32.c: (gst_fft_s32_new),
	  (gst_fft_s32_fft), (gst_fft_s32_inverse_fft), (gst_fft_s32_free),
	  (gst_fft_s32_window), (gst_fft_s32_magnitude), (gst_fft_s32_phase):
	  * gst-libs/gst/fft/gstffts32.h:
	  * gst-libs/gst/fft/kiss_fft_f32.c: (kf_bfly2), (kf_bfly4),
	  (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
	  (kiss_fft_f32_alloc), (kiss_fft_f32_stride), (kiss_fft_f32),
	  (kiss_fft_f32_cleanup), (kiss_fft_f32_next_fast_size):
	  * gst-libs/gst/fft/kiss_fft_f32.h:
	  * gst-libs/gst/fft/kiss_fft_f64.c: (kf_bfly2), (kf_bfly4),
	  (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
	  (kiss_fft_f64_alloc), (kiss_fft_f64_stride), (kiss_fft_f64),
	  (kiss_fft_f64_cleanup), (kiss_fft_f64_next_fast_size):
	  * gst-libs/gst/fft/kiss_fft_f64.h:
	  * gst-libs/gst/fft/kiss_fft_s16.c: (kf_bfly2), (kf_bfly4),
	  (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
	  (kiss_fft_s16_alloc), (kiss_fft_s16_stride), (kiss_fft_s16),
	  (kiss_fft_s16_cleanup), (kiss_fft_s16_next_fast_size):
	  * gst-libs/gst/fft/kiss_fft_s16.h:
	  * gst-libs/gst/fft/kiss_fft_s32.c: (kf_bfly2), (kf_bfly4),
	  (kf_bfly3), (kf_bfly5), (kf_bfly_generic), (kf_work), (kf_factor),
	  (kiss_fft_s32_alloc), (kiss_fft_s32_stride), (kiss_fft_s32),
	  (kiss_fft_s32_cleanup), (kiss_fft_s32_next_fast_size):
	  * gst-libs/gst/fft/kiss_fft_s32.h:
	  * gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc),
	  (kiss_fftr_f32), (kiss_fftri_f32):
	  * gst-libs/gst/fft/kiss_fftr_f32.h:
	  * gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc),
	  (kiss_fftr_f64), (kiss_fftri_f64):
	  * gst-libs/gst/fft/kiss_fftr_f64.h:
	  * gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc),
	  (kiss_fftr_s16), (kiss_fftri_s16):
	  * gst-libs/gst/fft/kiss_fftr_s16.h:
	  * gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc),
	  (kiss_fftr_s32), (kiss_fftri_s32):
	  * gst-libs/gst/fft/kiss_fftr_s32.h:
	  * gst-libs/gst/fft/kiss_version:
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  * pkgconfig/gstreamer-plugins-base.pc.in:
	  Add libgstfft, a FFT library based on Kiss FFT which is
	  BSD licensed. Supported sample formats are int16, int32,
	  float and double. For those formats a real FFT and IFFT
	  can be done, different windowing functions can be applied
	  and functions for extracting the magnitude and phase exist.
	  Fixes #468619.
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Integrate libgstfft into the docs.
	  * tests/check/Makefile.am:
	  * tests/check/libs/fft.c: (GST_START_TEST), (fft_suite), (main):
	  Add unit tests for libgstfft, currently only testing the FFT.
	  Unit tests for IFFT will follow soon.

2007-09-05 23:07:40 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst-libs/gst/sdp/gstsdpmessage.*: Separate INIT_ARRAY() and related macros into two versions, one for structures and ...
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_time_init),
	  (gst_sdp_message_init), (gst_sdp_message_uninit),
	  (is_multicast_address), (gst_sdp_message_as_text),
	  (gst_sdp_message_get_origin), (gst_sdp_message_set_connection),
	  (gst_sdp_message_get_connection), (gst_sdp_message_add_bandwidth),
	  (gst_sdp_message_add_time), (gst_sdp_message_add_zone),
	  (gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n),
	  (gst_sdp_message_get_attribute_val), (gst_sdp_message_add_media),
	  (gst_sdp_media_init), (gst_sdp_media_uninit),
	  (gst_sdp_media_as_text), (gst_sdp_media_set_port_info),
	  (gst_sdp_media_connections_len), (gst_sdp_media_add_connection),
	  (gst_sdp_media_bandwidths_len), (gst_sdp_media_get_bandwidth),
	  (gst_sdp_media_add_bandwidth), (gst_sdp_media_attributes_len),
	  (gst_sdp_parse_line), (print_media), (gst_sdp_message_dump):
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  Separate INIT_ARRAY() and related macros into two versions, one for
	  structures and one for pointers (e.g., INIT_ARRAY() and
	  INIT_PTR_ARRAY()). This fixes a segmentation error on freeing the
	  lists of emails and phone numbers.
	  Add missing const as appropriate.
	  Change all gint to guint since they all actually represent unsigned
	  values.
	  Do not use time as a variable name as it shadows the global time().
	  Add gst_sdp_message_as_text() and gst_sdp_media_as_text().
	  Actually implement gst_sdp_message_add_time().
	  Make gst_sdp_message_add_time() take repeat times as an argument.
	  Store repeat times in GstSDPTime as a GArray rather than as gchar**.
	  Corrected the definition of gst_sdp_media_get_bandwidth() (was
	  misspelled as badwidth).
	  gst-indented and a little clean up. Fixes #471067.

2007-09-05 21:20:12 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/volume/gstvolume.c: Correctly clamp float/double samples in the [-1.0,1.0] range to prevent weird effects.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (volume_process_double), (volume_process_double_clamp),
	  (volume_process_float_clamp):
	  Correctly clamp float/double samples in the [-1.0,1.0] range to
	  prevent weird effects.
	  * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
	  Add unit tests for all samples types that had none before.

2007-09-05 14:09:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/rtp/gstrtpbuffer.c: Need to include stdlib.h for abs() here too.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  Need to include stdlib.h for abs() here too.

2007-09-05 14:01:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreaminfo.c: Fix build.
	  Original commit message from CVS:
	  * gst/playback/gststreaminfo.c:
	  Fix build.

2007-09-05 10:32:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/gststreaminfo.c: Clean up some half-disabled code and comment.
	  Original commit message from CVS:
	  * gst/playback/gststreaminfo.c:
	  Clean up some half-disabled code and comment.

2007-09-04 16:18:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Return FALSE from the event handler to let the parent class handle the event.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_payload_audio_handle_event):
	  Return FALSE from the event handler to let the parent class handle the
	  event.
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain), (gst_base_rtp_depayload_push_full):
	  Mark outgoing buffers as DISCONT if the incomming buffer was DISCONT.
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  Bump the MTU to 1400.

2007-09-04 01:50:55 +0000  Johan Dahlin <johan@gnome.org>

	  gst/typefind/gsttypefindfunctions.c (plugin_init): Add an audio/x-nsf typefind function for the nsfdec element.
	  Original commit message from CVS:
	  2007-09-03  Johan Dahlin  <jdahlin@async.com.br>
	  * gst/typefind/gsttypefindfunctions.c (plugin_init):
	  Add an audio/x-nsf typefind function for the nsfdec element.

2007-09-03 20:46:38 +0000  Renato Filho <renato.filho@indt.org.br>

	  gst/playback/gstplaybasebin.c: Included "myth://" on stream_uris list for enable buffering to mythtv files
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  Included "myth://" on stream_uris list for enable buffering to mythtv files

2007-09-03 19:31:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Fix parsing of RB blocks.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb),
	  (gst_rtcp_packet_sdes_copy_entry), (gst_rtcp_ntp_to_unix),
	  (gst_rtcp_unix_to_ntp):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Fix parsing of RB blocks.
	  Fix docs.
	  Added helper functions to convert to/from UNIX and NTP time.
	  API: gst_rtcp_ntp_to_unix()
	  API: gst_rtcp_unix_to_ntp()
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
	  (gst_rtp_buffer_get_header_len),
	  (gst_rtp_buffer_get_extension_data),
	  (gst_rtp_buffer_get_payload_subbuffer),
	  (gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload),
	  (gst_rtp_buffer_ext_timestamp):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Fix some more docs.
	  Implement handling of packets with extensions.
	  Fix padding check in _validate().
	  Added function to get extension data.
	  API: gst_rtp_buffer_get_header_len()
	  API: gst_rtp_buffer_get_extension_data()

2007-09-03 19:19:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Add some more docs for the queue-delay property and fix a typo in a comment.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_class_init),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Add some more docs for the queue-delay property and fix a typo in a
	  comment.
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
	  Fix typo.

2007-09-03 19:17:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: When skew slaving, try to hover around the middle of a segment so that we at m...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_skew_slaving), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_change_state):
	  When skew slaving, try to hover around the middle of a segment so that
	  we at most drift by half a segment.
	  If we are aligning in the oposite direction of the clock skew, we don't
	  have to resync.

2007-08-31 21:07:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Be less silly with the segment start, just apply the clock-base to the timest...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Be less silly with the segment start, just apply the clock-base to the
	  timestamp.

2007-08-31 15:58:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Deprecate the queue handling thread thing and remove the code.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_class_init),
	  (gst_base_rtp_depayload_finalize),
	  (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_handle_sink_event),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_change_state):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Deprecate the queue handling thread thing and remove the code.
	  Use new method to calculate the extended timestamp.

2007-08-31 15:21:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.c: Use g_strndup which does exactly what we want.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c:
	  (gst_rtcp_packet_sdes_copy_entry):
	  Use g_strndup which does exactly what we want.
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum),
	  (gst_rtp_buffer_ext_timestamp):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Add helper function to compare seqnums.
	  Add helper function to calculate extended timestamps.
	  API: gst_rtp_buffer_compare_seqnum()
	  API: gst_rtp_buffer_ext_timestamp()

2007-08-30 21:59:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.*: Fix and document SDES item data function.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c:
	  (gst_rtcp_packet_sdes_get_entry),
	  (gst_rtcp_packet_sdes_copy_entry):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Fix and document SDES item data function.
	  Add new function that makes a proper copy of SDES item data.
	  API: gst_rtcp_packet_sdes_copy_entry()

2007-08-30 07:29:55 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  The tcp and subparse plugins are under gst, but not totaly free of dependencies. Handle selection inconfigure.ac, so ...
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/Makefile.am:
	  The tcp and subparse plugins are under gst, but not totaly free of
	  dependencies. Handle selection inconfigure.ac, so that they show up
	  on the final list of what is build and what is not. Maybe they should
	  better be moved to ext.

2007-08-30 06:58:46 +0000  Daniel Díaz <yosoy@danieldiaz.org>

	  Check if libxml provides HTML parser which subparse needs.
	  Original commit message from CVS:
	  Patch by: Daniel Díaz  <yosoy@danieldiaz.org>
	  * configure.ac:
	  * gst/Makefile.am:
	  Check if libxml provides HTML parser which subparse needs.
	  Fixes #451970.

2007-08-29 14:22:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsa.c: Fix typo and compilation on big endian systems.
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c:
	  Fix typo and compilation on big endian systems.

2007-08-29 12:16:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstssaparse.c: Convert SSA newline codes into actual newline characters (#470766).
	  Original commit message from CVS:
	  * gst/subparse/gstssaparse.c:
	  Convert SSA newline codes into actual newline characters (#470766).

2007-08-28 14:58:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: also add gst_install_plugins_supported() while we're at it (see #470456).
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/pbutils/install-plugins.c:
	  * gst-libs/gst/pbutils/install-plugins.h:
	  * tests/check/libs/pbutils.c:
	  API: also add gst_install_plugins_supported() while we're at it
	  (see #470456).

2007-08-28 14:23:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add gst_missing_*_installer_detail_new() convenience API so that applications that know exactly what they're mis...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  * gst-libs/gst/pbutils/missing-plugins.h:
	  * tests/check/libs/pbutils.c:
	  API: add gst_missing_*_installer_detail_new() convenience API so
	  that applications that know exactly what they're missing can request
	  installer detail strings for those items directly instead of having
	  to first create a dummy missing-plugin message and then get the
	  installer detail string from that.  Fixes #470456.

2007-08-27 11:59:56 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: We need to set up delayed-linking whenever the caps are non-fixed, not just when there a...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (close_pad_link):
	  We need to set up delayed-linking whenever the caps are non-fixed,
	  not just when there are multiple types - use gst_pad_is_fixed()
	  to test.

2007-08-26 14:14:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/missing-plugins.c: Add missing separator in PID fallback case.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  (gst_missing_plugin_message_get_installer_detail):
	  Add missing separator in PID fallback case.

2007-08-24 15:28:33 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/alsa/Makefile.am: There is no GST_PLUGINS_BASE_LIBS defined.
	  Original commit message from CVS:
	  * ext/alsa/Makefile.am:
	  There is no GST_PLUGINS_BASE_LIBS defined.
	  * ext/alsa/gstalsa.c:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_delay):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_delay):
	  Add support for ALSA 24-bit formats.
	  snd_pcm_delay can return an error code, especially
	  during XRUNS. In that case, the best we can do is assume
	  delay = 0.
	  * gst/audioconvert/Makefile.am:
	  Add flags from -base before any more-remote dependencies.

2007-08-23 20:45:45 +0000  Davyd <davyd@madeley.id.au>

	  gst/volume/gstvolume.*: Add support for int32, int24 and int8 to the volume element.
	  Original commit message from CVS:
	  Based on a patch by: Davyd <davyd at madeley dot id dot au>
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (volume_update_real_volume), (gst_volume_set_volume),
	  (gst_volume_init), (volume_process_int32),
	  (volume_process_int32_clamp), (volume_process_int24),
	  (volume_process_int24_clamp), (volume_process_int16),
	  (volume_process_int16_clamp), (volume_process_int8),
	  (volume_process_int8_clamp), (volume_update_volume), (plugin_init):
	  * gst/volume/gstvolume.h:
	  Add support for int32, int24 and int8 to the volume element.
	  Fixes #445529.

2007-08-23 12:37:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/examples/Makefile.am: Fix even more.
	  Original commit message from CVS:
	  * tests/examples/Makefile.am:
	  Fix even more.

2007-08-23 10:58:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Revert unwanted commit. many thanks to moap. I want a fix for https://thomas.apestaart.org/moap/trac/ticket/239
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  * gst-libs/gst/Makefile.am:
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  * pkgconfig/gstreamer-plugins-base.pc.in:
	  * sys/v4l/v4lsrc_calls.c:
	  * tests/examples/Makefile.am:
	  * win32/common/config.h:
	  Revert unwanted commit. many thanks to moap. I want a fix for
	  https://thomas.apestaart.org/moap/trac/ticket/239

2007-08-23 08:33:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	* ChangeLog:
	* configure.ac:
	* docs/libs/Makefile.am:
	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* ext/gnomevfs/gstgnomevfssrc.c:
	* ext/gnomevfs/gstgnomevfssrc.h:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/volume/gstvolume.c:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* sys/v4l/v4lsrc_calls.c:
	* tests/examples/Makefile.am:
	* win32/common/config.h:
	  Original commit message from CVS: reviewed by: <delete if not using a buddy> patch by: <delete if not someone else's patch> * configure.ac: * docs/libs/Makefile.am: * docs/libs/gst-plugins-base-libs-docs.sgml: * docs/libs/gst-plugins-base-libs-sections.txt: * ext/gnomevfs/gstgnomevfssrc.c: * ext/gnomevfs/gstgnomevfssrc.h: * gst-libs/gst/Makefile.am: * gst-libs/gst/audio/gstaudiofilter.h: * gst/typefind/gsttypefindfunctions.c: * gst/volume/gstvolume.c: * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-base.pc.in: * sys/v4l/v4lsrc_calls.c: * tests/examples/Makefile.am: * win32/common/config.h:

2007-08-22 15:29:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/audio.c: Clarify the docs a little.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.c:
	  Clarify the docs a little.

2007-08-22 11:20:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/volume/gstvolume.c: Enable liboil for float and add more details about problems with int16.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c:
	  Enable liboil for float and add more details about problems with
	  int16.

2007-08-21 15:43:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/v4l/gstv4lsrc.c: Fix RGB24 masks as spotted by _ke (Daniel G. Siegel) on IRC.
	  Original commit message from CVS:
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_palette_to_caps):
	  Fix RGB24 masks as spotted by _ke (Daniel G. Siegel) on IRC.

2007-08-21 12:08:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: When calculating the first timestamp of the buffers, don't go below 0 and clip the samples be...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward):
	  When calculating the first timestamp of the buffers, don't go below 0
	  and clip the samples because the offset was on the eos page.
	  Fixes #466717.

2007-08-21 11:42:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Also submit the eos page when trying to find the first timestamp.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain),
	  (gst_ogg_demux_collect_chain_info):
	  Also submit the eos page when trying to find the first timestamp.
	  See #466717.

2007-08-17 15:24:43 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/audio/audio.h: Use gst_util_uint64_scale() instead of doing the math with double for GST_FRAMES_TO_CLOCK...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.h:
	  Use gst_util_uint64_scale() instead of doing the math
	  with double for GST_FRAMES_TO_CLOCK_TIME() and
	  GST_CLOCK_TIME_TO_FRAMES(). For large timestamps this
	  prevents rounding errors. Fixes #467667.

2007-08-17 13:42:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspconnection.*: Small cleanups.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect), (gst_rtsp_connection_write),
	  (gst_rtsp_connection_read), (gst_rtsp_connection_poll):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  Small cleanups.
	  On shutdown, don't read the control socket yet.
	  Set timeout value correctly in all cases.
	  Add function to check if the server accepts reads or writes.
	  API: gst_rtsp_connection_poll()
	  * gst-libs/gst/rtsp/gstrtspdefs.h:
	  Fix compilation with -pedantic.
	  Add enum for _poll.

2007-08-16 17:11:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.c: Override the preroll vmethod instead of overriding the render method twice.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
	  Override the preroll vmethod instead of overriding the render method
	  twice.

2007-08-16 16:06:21 +0000  Olivier Crete <tester@tester.ca>

	  gst-libs/gst/rtp/gstbasertppayload.*: Add getcaps vfunc to basertppayload. See #465146.
	  Original commit message from CVS:
	  Patch by: Olivier Crete  <tester at tester ca>
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
	  (gst_basertppayload_getcaps):
	  * gst-libs/gst/rtp/gstbasertppayload.h:
	  Add getcaps vfunc to basertppayload. See #465146.

2007-08-16 11:20:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Only post buffering messages when we are a stream.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (queue_threshold_reached):
	  Only post buffering messages when we are a stream.

2007-08-15 17:05:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/: Small docs fix and addition.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/install-plugins.c:
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  Small docs fix and addition.

2007-08-14 17:47:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.c: Don't use new API.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_flush_unlocked):
	  Don't use new API.

2007-08-14 17:38:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/app/gstappsink.*: Make love to appsink.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsink.c: (gst_app_sink_base_init),
	  (gst_app_sink_class_init), (gst_app_sink_dispose),
	  (gst_app_sink_flush_unlocked), (gst_app_sink_start),
	  (gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
	  (gst_app_sink_render), (gst_app_sink_get_caps),
	  (gst_app_sink_set_caps), (gst_app_sink_end_of_stream),
	  (gst_app_sink_pull_preroll), (gst_app_sink_pull_buffer):
	  * gst-libs/gst/app/gstappsink.h:
	  Make love to appsink.
	  Make it support pulling of the preroll buffer.
	  Add docs and debug statements.
	  Fix some races wrt to EOS handling and stopping.
	  Implement getcaps.
	  Implement FLUSHING.
	  API: gst_app_sink_pull_preroll()

2007-08-13 15:37:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/icles/: Add a dumb little test for textoverlay alignments.
	  Original commit message from CVS:
	  * tests/icles/.cvsignore:
	  * tests/icles/Makefile.am:
	  * tests/icles/test-textoverlay.c:
	  Add a dumb little test for textoverlay alignments.

2007-08-13 15:26:54 +0000  Dan Williams <dcbw@redhat.com>

	  ext/pango/gsttextoverlay.*: API: add "line-alignment" property (#459334). Add gtk-doc blurb for "silent" property so ...
	  Original commit message from CVS:
	  Patch by: Dan Williams  <dcbw redhat com>
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextoverlay.h:
	  API: add "line-alignment" property (#459334). Add gtk-doc blurb for
	  "silent" property so there's a Since tag in the API reference.

2007-08-13 11:21:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	  fix ... by: lines
	  Original commit message from CVS:
	  fix ... by: lines

2007-08-12 16:30:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.*: Improve caps negotiation so that downstream elements can confiure certain RTP p...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_set_outcaps):
	  * gst-libs/gst/rtp/gstbasertppayload.h:
	  Improve caps negotiation so that downstream elements can confiure
	  certain RTP properties by fixing them on the caps. See #465146.
	  Add docs.

2007-08-11 12:39:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Mark as deprecated some macros which were presumably meant to be private API and accidentally exposed in the public h...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Mark as deprecated some macros which were presumably meant to be
	  private API and accidentally exposed in the public header file.
	  Also actually _init() lock (only works at the moment because the
	  struct is zeroed out when created and the initial values in the
	  mutex struct are zeroes too). (#459585)

2007-08-10 17:35:52 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/Makefile.am: Remove cruft and do some cleanups.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  Remove cruft and do some cleanups.
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  Prepare for comming gtkdoc features (rebase against online docs).

2007-08-10 13:55:44 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: Debug output fixes.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  Debug output fixes.
	  * tests/check/elements/audiorate.c: (do_perfect_stream_test),
	  (GST_START_TEST):
	  Change the number of buffers used; 500 is too many and leads to
	  timeouts.

2007-08-10 10:08:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Printf format fixes (#465028).
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c:
	  * gst/videorate/gstvideorate.c:
	  Printf format fixes (#465028).

2007-08-09 15:44:02 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: If we have a large (> 1 second) discontinuity, push a series of smaller buffers rather ...
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  If we have a large (> 1 second) discontinuity, push a series of
	  smaller buffers rather than a single very large buffer. Avoids
	  unreasonably large single buffer allocations when encountering a
	  large gap.
	  * tests/check/elements/audiorate.c: (GST_START_TEST),
	  (audiorate_suite):
	  Add a test for this.

2007-08-09 12:06:43 +0000  Josep Torra Valles <josep@fluendo.com>

	  gst/playback/gstplaybasebin.c: Fixes: #465015
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (group_commit),
	  (queue_remove_probe), (queue_threshold_reached):
	  Patch by: Josep Torra Valles <josep@fluendo.com>
	  Fixes: #465015
	  Make sure we remove the check_queues buffer probe from the
	  correct queue to avoid racily going back to "buffering 99%" when
	  buffering is actually complete.
	  Also, fix the spelling of Josep's surname in the ChangeLog.

2007-08-09 11:37:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/ogg/gstoggmux.c: Do not leak oggmux instance.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  Do not leak oggmux instance.
	  * ext/vorbis/vorbisenc.c:
	  Also log values.

2007-08-09 10:51:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Updated translations.
	  Original commit message from CVS:
	  * po/hu.po:
	  * po/it.po:
	  * po/nl.po:
	  * po/uk.po:
	  * po/vi.po:
	  Updated translations.

2007-08-08 16:07:21 +0000  Yang Hong <hongyang@redflag-linux.com>

	  ext/pango/gsttextoverlay.*: Add 'silent' property to GstTimeOverlay. Fixes #462979
	  Original commit message from CVS:
	  patch by: Yang Hong <hongyang@redflag-linux.com>
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextoverlay.h:
	  Add 'silent' property to GstTimeOverlay. Fixes #462979

2007-08-08 15:05:22 +0000  Josep Torre Valles <josep@fluendo.com>

	  Add connection-speed property. Fixes #464690.
	  Original commit message from CVS:
	  Patch by: Josep Torre Valles <josep@fluendo.com>
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_class_init),
	  (gst_uri_decode_bin_init), (gst_uri_decode_bin_set_property),
	  (gst_uri_decode_bin_get_property), (gen_source_element):
	  Add connection-speed property. Fixes #464690.

2007-08-07 15:13:46 +0000  Damien Lespiau <damien.lespiau@gmail.com>

	  Fix compilation on windows. Fixes #464320.
	  Original commit message from CVS:
	  Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
	  * configure.ac:
	  * gst-libs/gst/rtsp/Makefile.am:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect):
	  Fix compilation on windows. Fixes #464320.

2007-08-07 14:14:54 +0000  Josep Torre Valles <josep@fluendo.com>

	  gst/playback/: Move connection-speed property from playbin to playbasebin so that we can also configure it in source ...
	  Original commit message from CVS:
	  Patch by: Josep Torre Valles <josep@fluendo.com>
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (gst_play_base_bin_init), (queue_threshold_reached),
	  (gen_source_element), (setup_substreams),
	  (gst_play_base_bin_set_property), (gst_play_base_bin_get_property),
	  (gst_play_base_bin_get_streaminfo_value_array):
	  * gst/playback/gstplaybasebin.h:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init),
	  (gst_play_bin_set_property), (gst_play_bin_get_property),
	  (gst_play_bin_handle_redirect_message):
	  Move connection-speed property from playbin to playbasebin so that we
	  can also configure it in source elements that have the connection-speed
	  property. Fixes #464028.
	  Add some debug info here and there.

2007-08-06 16:42:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audiotestsrc/gstaudiotestsrc.c: Properly respond to conversion queries. Fixes #464079.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query):
	  Properly respond to conversion queries. Fixes #464079.

2007-08-03 19:53:11 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audiotestsrc/gstaudiotestsrc.*: Add float/double and int32 support to audiotestsrc. Fixes #460422.
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_init),
	  (gst_audio_test_src_src_fixate), (gst_audio_test_src_setcaps),
	  (gst_audio_test_src_init_sine_table),
	  (gst_audio_test_src_change_wave), (gst_audio_test_src_create):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Add float/double and int32 support to audiotestsrc. Fixes #460422.
	  Also set the default volume to the default value specified in the
	  GParamSpec.

2007-08-03 19:40:14 +0000  Jens Granseuer <jensgr@gmx.net>

	  gst/audioconvert/gstaudioquantize.c: Fix C89 incompatibilities and spelling of explanations. Fixes #463215.
	  Original commit message from CVS:
	  Patch by: Jens Granseuer <jensgr at gmx dot net>
	  * gst/audioconvert/gstaudioquantize.c:
	  Fix C89 incompatibilities and spelling of explanations. Fixes #463215.

2007-08-03 15:44:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtsptransport.c: Add rdt manager for rdt transport.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtsptransport.c: (gst_rtsp_transport_parse):
	  Add rdt manager for rdt transport.
	  Fix parsing of RDT transport.

2007-08-03 14:43:15 +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.14 ===

2007-08-03 14:41:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-decodebin2.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/config.h:
	  Release 0.10.14
	  Original commit message from CVS:
	  Release 0.10.14

2007-08-03 14:24:08 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/de.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-07-27 17:37:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/libs/audio.c: Fix the test to reflect the behaviour of gst_audio_clip_buffer.
	  Original commit message from CVS:
	  * tests/check/libs/audio.c: (GST_START_TEST):
	  Fix the test to reflect the behaviour of gst_audio_clip_buffer.

2007-07-27 17:10:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/audio/audio.c: When clipping a buffer with no timestamp, assume it is within the segment without warnings.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.c:
	  When clipping a buffer with no timestamp, assume it is
	  within the segment without warnings.
	  Fixes: #460978

2007-07-27 11:16:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtsp/gstrtspextension.c: Fire the signal on the object, not the interface.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/gstrtspextension.c: (gst_rtsp_extension_send):
	  Fire the signal on the object, not the interface.

2007-07-27 09:17:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtsp/.cvsignore: Ber. Don't include the full path, idiot.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/.cvsignore:
	  Ber. Don't include the full path, idiot.

2007-07-27 08:29:29 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtsp/.cvsignore: Ignore generated files.
	  Original commit message from CVS:
	  * gst-libs/gst/rtsp/.cvsignore:
	  Ignore generated files.

2007-07-26 19:57:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/: Move the rtspextension.h interface into gstrtspextension.h as part of libgstrtsp instead of libgstinte...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/Makefile.am:
	  * gst-libs/gst/interfaces/interfaces-marshal.list:
	  * gst-libs/gst/interfaces/rtspextension.c:
	  * gst-libs/gst/interfaces/rtspextension.h:
	  * gst-libs/gst/rtsp/Makefile.am:
	  * gst-libs/gst/rtsp/gstrtsp.h:
	  * gst-libs/gst/rtsp/gstrtspextension.c:
	  (gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init),
	  (gst_rtsp_extension_detect_server),
	  (gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send),
	  (gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media),
	  (gst_rtsp_extension_configure_stream),
	  (gst_rtsp_extension_get_transports),
	  (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send):
	  * gst-libs/gst/rtsp/gstrtspextension.h:
	  * gst-libs/gst/rtsp/rtsp-marshal.list:
	  Move the rtspextension.h interface into gstrtspextension.h
	  as part of libgstrtsp instead of libgstinterfaces, because it's
	  only for use within plugins, not applications.
	  Add stuff to do the enum & marshal generation needed in libgstrtsp now.
	  Use the GST_TYPE_RTSP_RESULT enum type for the return value of the
	  signal that the GstRTSPExtension interface emits, since G_TYPE_ENUM
	  is abstract.

2007-07-26 15:48:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/interfaces/: Fix marshaller for the send signal.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/Makefile.am:
	  * gst-libs/gst/interfaces/interfaces-marshal.list:
	  * gst-libs/gst/interfaces/rtspextension.c:
	  (gst_rtsp_extension_iface_init),
	  (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send):
	  * gst-libs/gst/interfaces/rtspextension.h:
	  Fix marshaller for the send signal.
	  Add URL to stream selection interface method.

2007-07-26 15:35:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/riff/Makefile.am: Pull in our dependencies from -base before those from outside.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/Makefile.am:
	  Pull in our dependencies from -base before those from outside.

2007-07-26 14:33:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  API: gst_rtsp_base64_decode_ip()
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_decode_ip):
	  * gst-libs/gst/rtsp/gstrtspbase64.h:
	  API: gst_rtsp_base64_decode_ip()
	  Added function to decode Base64 in-place.

2007-07-26 14:08:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/libs/.cvsignore: Ignore the mixer test binary.
	  Original commit message from CVS:
	  * tests/check/libs/.cvsignore:
	  Ignore the mixer test binary.

2007-07-26 10:00:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/vorbis/vorbisdec.c: Gratuitous comment change to trigger a rebuild on the buildbots.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward):
	  Gratuitous comment change to trigger a rebuild on the buildbots.

2007-07-25 18:20:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/sdp/gstsdpmessage.*: Constify args where we can.
	  Original commit message from CVS:
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_media_get_media),
	  (gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
	  (gst_sdp_media_get_proto), (gst_sdp_media_formats_len),
	  (gst_sdp_media_get_format), (gst_sdp_media_get_information),
	  (gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
	  (gst_sdp_media_bandwidths_len), (gst_sdp_media_get_badwidth),
	  (gst_sdp_media_get_key), (gst_sdp_media_attributes_len),
	  (gst_sdp_media_get_attribute), (gst_sdp_media_get_attribute_val_n),
	  (gst_sdp_media_get_attribute_val):
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  Constify args where we can.

2007-07-25 18:18:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/interfaces/: Move interface for RTSP extensions from -good to here.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/Makefile.am:
	  * gst-libs/gst/interfaces/rtspextension.c:
	  (gst_rtsp_extension_get_type), (gst_rtsp_extension_iface_init),
	  (gst_rtsp_extension_detect_server),
	  (gst_rtsp_extension_before_send), (gst_rtsp_extension_after_send),
	  (gst_rtsp_extension_parse_sdp), (gst_rtsp_extension_setup_media),
	  (gst_rtsp_extension_configure_stream),
	  (gst_rtsp_extension_get_transports),
	  (gst_rtsp_extension_stream_select), (gst_rtsp_extension_send):
	  * gst-libs/gst/interfaces/rtspextension.h:
	  Move interface for RTSP extensions from -good to here.
	  Added helper methods to invoke interface methods.

2007-07-25 11:22:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Fix some more RTSP docs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtsp/gstrtspdefs.h:
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (key_value_foreach),
	  (gst_rtsp_message_get_type), (gst_rtsp_message_parse_request),
	  (gst_rtsp_message_init_response),
	  (gst_rtsp_message_parse_response), (gst_rtsp_message_new_data),
	  (gst_rtsp_message_parse_data), (gst_rtsp_message_add_header),
	  (gst_rtsp_message_remove_header), (gst_rtsp_message_get_header),
	  (gst_rtsp_message_append_headers), (gst_rtsp_message_set_body),
	  (gst_rtsp_message_get_body), (dump_key_value):
	  * gst-libs/gst/rtsp/gstrtspmessage.h:
	  * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time),
	  (parse_npt_range), (parse_clock_range), (parse_smpte_range),
	  (gst_rtsp_range_parse):
	  * gst-libs/gst/rtsp/gstrtsprange.h:
	  * gst-libs/gst/rtsp/gstrtsptransport.c:
	  * gst-libs/gst/rtsp/gstrtspurl.c:
	  Fix some more RTSP docs.
	  Add some missing methods for dealing with messages.

2007-07-24 19:19:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Added beginnings of RTSP documentation.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_encode):
	  * gst-libs/gst/rtsp/gstrtspbase64.h:
	  * gst-libs/gst/rtsp/gstrtspconnection.c:
	  (gst_rtsp_connection_connect), (add_auth_header),
	  (gst_rtsp_connection_write), (gst_rtsp_connection_send),
	  (read_body), (gst_rtsp_connection_receive),
	  (gst_rtsp_connection_next_timeout),
	  (gst_rtsp_connection_reset_timeout),
	  (gst_rtsp_connection_set_auth):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status):
	  * gst-libs/gst/rtsp/gstrtspdefs.h:
	  * gst-libs/gst/rtsp/gstrtspmessage.h:
	  * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time),
	  (parse_npt_range), (parse_clock_range), (parse_smpte_range),
	  (gst_rtsp_range_parse):
	  * gst-libs/gst/rtsp/gstrtspurl.h:
	  Added beginnings of RTSP documentation.

2007-07-24 17:37:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Document the SDP library.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/sdp/gstsdp.h:
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_message_set_origin),
	  (gst_sdp_message_set_connection), (gst_sdp_message_add_bandwidth),
	  (gst_sdp_message_add_time), (gst_sdp_message_add_zone),
	  (gst_sdp_message_set_key), (gst_sdp_message_get_attribute_val_n),
	  (gst_sdp_message_get_attribute_val),
	  (gst_sdp_message_add_attribute), (gst_sdp_media_new),
	  (gst_sdp_media_init), (gst_sdp_media_uninit), (gst_sdp_media_free),
	  (gst_sdp_media_get_media), (gst_sdp_media_set_media),
	  (gst_sdp_media_get_port), (gst_sdp_media_get_num_ports),
	  (gst_sdp_media_set_port_info), (gst_sdp_media_get_proto),
	  (gst_sdp_media_set_proto), (gst_sdp_media_formats_len),
	  (gst_sdp_media_get_format), (gst_sdp_media_add_format),
	  (gst_sdp_media_get_information), (gst_sdp_media_set_information),
	  (gst_sdp_media_connections_len), (gst_sdp_media_get_connection),
	  (gst_sdp_media_add_connection), (gst_sdp_media_bandwidths_len),
	  (gst_sdp_media_get_badwidth), (gst_sdp_media_add_bandwidth),
	  (gst_sdp_media_set_key), (gst_sdp_media_get_key),
	  (gst_sdp_media_attributes_len), (gst_sdp_media_add_attribute),
	  (gst_sdp_media_get_attribute_val_n),
	  (gst_sdp_media_get_attribute_val), (gst_sdp_message_parse_buffer),
	  (print_media), (gst_sdp_message_dump):
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  Document the SDP library.
	  Add some of the missing SDPMedia methods.

2007-07-24 11:52:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Move SDP and RTSP from helper objects in -good to a reusable library.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/rtsp/Makefile.am:
	  * gst-libs/gst/rtsp/gstrtspbase64.c: (gst_rtsp_base64_encode):
	  * gst-libs/gst/rtsp/gstrtspbase64.h:
	  * gst-libs/gst/rtsp/gstrtspconnection.c: (inet_aton),
	  (gst_rtsp_connection_create), (gst_rtsp_connection_connect),
	  (add_auth_header), (add_date_header), (gst_rtsp_connection_write),
	  (gst_rtsp_connection_send), (read_line), (read_string), (read_key),
	  (parse_response_status), (parse_request_line), (parse_line),
	  (gst_rtsp_connection_read), (read_body),
	  (gst_rtsp_connection_receive), (gst_rtsp_connection_close),
	  (gst_rtsp_connection_free), (gst_rtsp_connection_next_timeout),
	  (gst_rtsp_connection_reset_timeout), (gst_rtsp_connection_flush),
	  (gst_rtsp_connection_set_auth):
	  * gst-libs/gst/rtsp/gstrtspconnection.h:
	  * gst-libs/gst/rtsp/gstrtspdefs.c: (rtsp_init_status),
	  (gst_rtsp_strresult), (gst_rtsp_method_as_text),
	  (gst_rtsp_version_as_text), (gst_rtsp_header_as_text),
	  (gst_rtsp_status_as_text), (gst_rtsp_find_header_field),
	  (gst_rtsp_find_method):
	  * gst-libs/gst/rtsp/gstrtspdefs.h:
	  * gst-libs/gst/rtsp/gstrtspmessage.c: (key_value_foreach),
	  (gst_rtsp_message_new), (gst_rtsp_message_init),
	  (gst_rtsp_message_new_request), (gst_rtsp_message_init_request),
	  (gst_rtsp_message_new_response), (gst_rtsp_message_init_response),
	  (gst_rtsp_message_init_data), (gst_rtsp_message_unset),
	  (gst_rtsp_message_free), (gst_rtsp_message_add_header),
	  (gst_rtsp_message_remove_header), (gst_rtsp_message_get_header),
	  (gst_rtsp_message_append_headers), (gst_rtsp_message_set_body),
	  (gst_rtsp_message_take_body), (gst_rtsp_message_get_body),
	  (gst_rtsp_message_steal_body), (dump_mem), (dump_key_value),
	  (gst_rtsp_message_dump):
	  * gst-libs/gst/rtsp/gstrtspmessage.h:
	  * gst-libs/gst/rtsp/gstrtsprange.c: (parse_npt_time),
	  (parse_npt_range), (parse_clock_range), (parse_smpte_range),
	  (gst_rtsp_range_parse), (gst_rtsp_range_free):
	  * gst-libs/gst/rtsp/gstrtsprange.h:
	  * gst-libs/gst/rtsp/gstrtsptransport.c: (gst_rtsp_transport_new),
	  (gst_rtsp_transport_init), (gst_rtsp_transport_get_mime),
	  (gst_rtsp_transport_get_manager), (parse_mode), (parse_range),
	  (range_as_text), (rtsp_transport_mode_as_text),
	  (rtsp_transport_profile_as_text), (rtsp_transport_ltrans_as_text),
	  (gst_rtsp_transport_parse), (gst_rtsp_transport_as_text),
	  (gst_rtsp_transport_free):
	  * gst-libs/gst/rtsp/gstrtsptransport.h:
	  * gst-libs/gst/rtsp/gstrtspurl.c: (gst_rtsp_url_parse),
	  (gst_rtsp_url_free), (gst_rtsp_url_set_port),
	  (gst_rtsp_url_get_port), (gst_rtsp_url_get_request_uri):
	  * gst-libs/gst/rtsp/gstrtspurl.h:
	  * gst-libs/gst/sdp/Makefile.am:
	  * gst-libs/gst/sdp/gstsdp.h:
	  * gst-libs/gst/sdp/gstsdpmessage.c: (gst_sdp_origin_init),
	  (gst_sdp_connection_init), (gst_sdp_bandwidth_init),
	  (gst_sdp_time_init), (gst_sdp_zone_init), (gst_sdp_key_init),
	  (gst_sdp_attribute_init), (gst_sdp_message_new),
	  (gst_sdp_message_init), (gst_sdp_message_uninit),
	  (gst_sdp_message_free), (gst_sdp_media_new), (gst_sdp_media_init),
	  (gst_sdp_media_uninit), (gst_sdp_media_free),
	  (gst_sdp_message_set_origin), (gst_sdp_message_get_origin),
	  (gst_sdp_message_set_connection), (gst_sdp_message_get_connection),
	  (gst_sdp_message_add_bandwidth), (gst_sdp_message_add_time),
	  (gst_sdp_message_add_zone), (gst_sdp_message_set_key),
	  (gst_sdp_message_get_key), (gst_sdp_message_get_attribute_val_n),
	  (gst_sdp_message_get_attribute_val),
	  (gst_sdp_message_add_attribute), (gst_sdp_message_add_media),
	  (gst_sdp_media_add_attribute), (gst_sdp_media_add_bandwidth),
	  (gst_sdp_media_add_format), (gst_sdp_media_get_attribute),
	  (gst_sdp_media_get_attribute_val_n),
	  (gst_sdp_media_get_attribute_val), (gst_sdp_media_get_format),
	  (read_string), (read_string_del), (gst_sdp_parse_line),
	  (gst_sdp_message_parse_buffer), (print_media),
	  (gst_sdp_message_dump):
	  * gst-libs/gst/sdp/gstsdpmessage.h:
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  Move SDP and RTSP from helper objects in -good to a reusable library.
	  Use a proper gst_ namespace.

2007-07-23 18:42:22 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/vorbis/vorbisdec.c: Use the new buffer clipping function from gstaudio here.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
	  (vorbis_dec_flush_decode):
	  Use the new buffer clipping function from gstaudio here.

2007-07-23 18:26:09 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  API: Add buffer clipping function for raw audio buffers. Fixes #456656.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/audio.c: (gst_audio_buffer_clip):
	  * gst-libs/gst/audio/audio.h:
	  * tests/check/libs/audio.c: (GST_START_TEST), (audio_suite):
	  API: Add buffer clipping function for raw audio buffers. Fixes #456656.
	  Also add deprecation guards for gst_audio_structure_set_int() to the
	  header.

2007-07-23 14:45:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Cleanup the docs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Cleanup the docs.

2007-07-23 11:18:35 +0000  Dan Williams <dcbw@redhat.com>

	  gst/playback/gstplaybasebin.c: Don't return NULL when querying the stream info value array but instead return an empt...
	  Original commit message from CVS:
	  Patch by: Dan Williams <dcbw at redhat dot com>
	  * gst/playback/gstplaybasebin.c:
	  (gst_play_base_bin_get_streaminfo_value_array):
	  Don't return NULL when querying the stream info value array but instead
	  return an empty array. Fixes #459204.

2007-07-23 10:41:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gsturidecodebin.c: Init debug category before using it.
	  Original commit message from CVS:
	  * gst/playback/gsturidecodebin.c:
	  Init debug category before using it.

2007-07-21 09:56:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/interfaces/mixer.h: Add padding vars in place of the signal pointers when building with DISABLE_DEPRECAT...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixer.h:
	  Add padding vars in place of the signal pointers
	  when building with DISABLE_DEPRECATED so that the
	  interface structure doesn't change size.

2007-07-21 09:21:12 +0000  Marc-Andre Lureau <marcandre.lureau@gmail.com>

	  Fixes: #152864
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * ext/alsa/gstalsamixer.c:
	  * ext/alsa/gstalsamixer.h:
	  * ext/alsa/gstalsamixerelement.c:
	  * ext/alsa/gstalsamixertrack.c:
	  * gst-libs/gst/interfaces/mixer.c:
	  * gst-libs/gst/interfaces/mixer.h:
	  * gst-libs/gst/interfaces/mixeroptions.c:
	  * gst-libs/gst/interfaces/mixeroptions.h:
	  * gst-libs/gst/interfaces/mixertrack.c:
	  * gst-libs/gst/interfaces/mixertrack.h:
	  * tests/check/Makefile.am:
	  * tests/check/libs/mixer.c:
	  Patch By: Marc-Andre Lureau <marcandre.lureau@gmail.com>
	  Fixes: #152864
	  Add support for notifying mixer changes on the message bus, and
	  implement it in alsamixer.
	  API: gst_mixer_get_mixer_flags
	  API: gst_mixer_message_parse_mute_toggled
	  API: gst_mixer_message_parse_record_toggled
	  API: gst_mixer_message_parse_volume_changed
	  API: gst_mixer_message_parse_option_changed
	  API: GstMixerMessageType
	  API: GstMixerFlags

2007-07-20 16:09:03 +0000  Michael Smith <msmith@xiph.org>

	  sys/xvimage/xvimagesink.c: xcontext->im_format is only for testing XShm support (as the header file comments document...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps):
	  xcontext->im_format is only for testing XShm support (as the header
	  file comments document). Use xvimage->im_format for everything else.
	  Avoids spurious warnings on buffer allocation before setcaps.

2007-07-20 07:22:15 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/: We should use $(LIBM).
	  Original commit message from CVS:
	  * tests/examples/volume/Makefile.am:
	  * tests/icles/Makefile.am:
	  We should use $(LIBM).

2007-07-20 06:13:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/icles/Makefile.am: This needs -lm.
	  Original commit message from CVS:
	  * tests/icles/Makefile.am:
	  This needs -lm.

2007-07-18 07:35:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  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-07-16 10:10:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.c: Don't break ABI, restore previous ranges. Keep the default random selection of ...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_class_init), (gst_basertppayload_init),
	  (gst_basertppayload_set_property),
	  (gst_basertppayload_get_property):
	  Don't break ABI, restore previous ranges. Keep the default random
	  selection of timestamp and seqnum offset but as soon as the app sets a
	  specific value, use that one.

2007-07-14 18:33:15 +0000  Bastien Nocera <hadess@hadess.net>

	  sys/xvimage/xvimagesink.*: Add option to turn off double-buffering for debugging purposes.
	  Original commit message from CVS:
	  Patch by: Bastien Nocera <hadess at hadess dot net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
	  (gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
	  (gst_xvimagesink_init), (gst_xvimagesink_class_init):
	  * sys/xvimage/xvimagesink.h:
	  Add option to turn off double-buffering for debugging purposes.
	  Fixes #437169.

2007-07-14 18:20:41 +0000  Jorn Baayen <jorn@openedhand.com>

	  sys/: add 'handle-expose' property. Useful for video widgets which may want to be in control of Expose behaviour. Fix...
	  Original commit message from CVS:
	  Patch by: Jorn Baayen <jorn at openedhand dot com>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
	  (gst_ximagesink_set_property), (gst_ximagesink_get_property),
	  (gst_ximagesink_init), (gst_ximagesink_class_init):
	  * sys/ximage/ximagesink.h:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents),
	  (gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
	  (gst_xvimagesink_init), (gst_xvimagesink_class_init):
	  * sys/xvimage/xvimagesink.h:
	  add 'handle-expose' property. Useful for video widgets which may want to
	  be in control of Expose behaviour. Fixes #380625

2007-07-14 17:23:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertppayload.*: Fix ranges of rtp payloader properties so that the full range can be used in ad...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_class_init), (gst_basertppayload_init),
	  (gst_basertppayload_event), (gst_basertppayload_push),
	  (gst_basertppayload_set_property),
	  (gst_basertppayload_get_property),
	  (gst_basertppayload_change_state):
	  * gst-libs/gst/rtp/gstbasertppayload.h:
	  Fix ranges of rtp payloader properties so that the full range can be
	  used in addition to -1 (random).
	  Fix wrong seqnum reporting in caps.
	  Fixes #420326.

2007-07-13 18:12:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videorate/gstvideorate.c: Use boilerplate.
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_init),
	  (gst_video_rate_query):
	  Use boilerplate.
	  Add latency query, might not be perfect yet but already works a lot
	  better. Fixes #442557.

2007-07-13 16:05:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/xvimage/xvimagesink.*: After a caps change, redraw our borders to avoid garbage left there when the image format ...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
	  (gst_xvimagesink_setcaps):
	  * sys/xvimage/xvimagesink.h:
	  After a caps change, redraw our borders to avoid garbage left there
	  when the image format changes to a smaller size, like 16:9 -> 4:3
	  Also, hold the flow_lock a bit longer in the set_caps while we're
	  fiddling with the xcontext.

2007-07-13 16:02:23 +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 there, and...
	  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 there, and we
	  weren't actually _using_ the information for libcheck ourselves
	  anyway.

2007-07-13 15:52:02 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Fix the r_mask test for RGBA32 on little-endian.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_caps_to_pixfmt):
	  Fix the r_mask test for RGBA32 on little-endian.
	  Fix a stupid typo that would have obviously broken
	  compilation on big-endian, if anyone was testing.

2007-07-12 15:02:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videotestsrc/videotestsrc.*: Add alpha to the color struct.
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c: (paint_hline_AYUV),
	  (paint_hline_str4):
	  * gst/videotestsrc/videotestsrc.h:
	  Add alpha to the color struct.
	  Use a default alpha value of 255 instead of 128.

2007-07-12 12:01:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Clear the dynamic pads counter when starting a new uri. This makes reusing playbin wor...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (no_more_pads_full),
	  (setup_source):
	  Clear the dynamic pads counter when starting a new uri. This makes
	  reusing playbin work again.
	  Fixes #454264.

2007-07-12 11:13:32 +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:12:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Fix 'make check' build against core CVS.
	  Original commit message from CVS:
	  * configure.ac:
	  * tests/check/elements/volume.c: (GST_START_TEST):
	  Fix 'make check' build against core CVS.

2007-07-10 20:46:41 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/: Make gtk-doc happy.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Make gtk-doc happy.

2007-07-08 13:07:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Quick hack to make audiosinks stop at EOS when operating in pull-mode; needs t...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_callback):
	  Quick hack to make audiosinks stop at EOS when operating in
	  pull-mode; needs to be fixed properly some day.

2007-07-06 18:19:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Fix location of includes in the docs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Fix location of includes in the docs.

2007-07-06 11:40:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/ffmpegcolorspace/: Add 2 new pixel formats - ABGR32 and ARGB32, which are reflections of the existing BGRA32 and ...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/avcodec.h:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
	  (gst_ffmpegcsp_avpicture_fill):
	  * gst/ffmpegcolorspace/imgconvert.c: (img_convert),
	  (img_get_alpha_info):
	  Add 2 new pixel formats - ABGR32 and ARGB32, which are reflections
	  of the existing BGRA32 and RGBA32 formats with the alpha at the other
	  end of the word. Partially fixes #451908

2007-07-05 08:43:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/: Simplify --extra-dir as gtkdoc scans recursively.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/plugins/Makefile.am:
	  Simplify --extra-dir as gtkdoc scans recursively.

2007-07-03 11:52:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.c: Make getcaps more robust by not using the proxycaps function. This makes sure that we don't end...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_sink_getcaps),
	  (gst_adder_request_new_pad):
	  Make getcaps more robust by not using the proxycaps function. This makes
	  sure that we don't end up recursively calling getcaps upstream.
	  See #316248.

2007-06-29 17:21:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audioconvert/audioconvert.c: Include math.h to fix compilation.
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c:
	  Include math.h to fix compilation.

2007-06-29 14:47:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel format, ...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
	  Add a mapping for YUV format "IYU1", which is a 4:1:1 packed pixel
	  format, as produced by some dc1394 cameras like the iSight.
	  See http://www.fourcc.org/yuv.php#IYU1

2007-06-28 20:37:58 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/: Implement dithering and noise shaping in audioconvert. By default now
	  Original commit message from CVS:
	  * gst/audioconvert/Makefile.am:
	  * gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
	  (check_default), (audio_convert_prepare_context),
	  (audio_convert_clean_context), (audio_convert_convert):
	  * gst/audioconvert/audioconvert.h:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_dithering_get_type),
	  (gst_audio_convert_ns_get_type), (gst_audio_convert_class_init),
	  (gst_audio_convert_init), (gst_audio_convert_set_caps),
	  (gst_audio_convert_set_property), (gst_audio_convert_get_property):
	  * gst/audioconvert/gstaudioconvert.h:
	  * gst/audioconvert/gstaudioquantize.c:
	  (gst_audio_quantize_setup_noise_shaping),
	  (gst_audio_quantize_free_noise_shaping),
	  (gst_audio_quantize_setup_dither),
	  (gst_audio_quantize_free_dither),
	  (gst_audio_quantize_setup_quantize_func),
	  (gst_audio_quantize_setup), (gst_audio_quantize_free):
	  * gst/audioconvert/gstaudioquantize.h:
	  Implement dithering and noise shaping in audioconvert. By default now
	  TPDF dithering (and no noise shaping) will be used when converting
	  from a higher bit depth to 20 bit depth or smaller, otherwise
	  everything will be as it is now.
	  For the last audioconvert in a pipeline it would make sense to
	  use some kind of noise shaping, enabling it by default for all
	  conversions would give undesired results though. Fixes #360246.
	  * tests/check/elements/audioconvert.c: (setup_audioconvert),
	  (GST_START_TEST):
	  Adjust unit test for the new audioconvert.

2007-06-28 11:06:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Use other metrics as well when estimating the buffer level.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (apply_segment), (update_buffering):
	  Use other metrics as well when estimating the buffer level.

2007-06-28 10:21:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Small debug improvement.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (make_decoder), (setup_source):
	  Small debug improvement.
	  * gst/playback/gstqueue2.c: (apply_segment), (update_buffering),
	  (plugin_init):
	  Tweak the rate estimation period.
	  When calculating the buffer filledness in rate estimation mode, don't
	  mix it with other metrics.

2007-06-28 09:46:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: When creating the groups, allow for a 5 second, unlimited buffers preroll phase after w...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_group_new),
	  (gst_decode_group_expose), (gst_decode_group_free), (add_fakesink):
	  When creating the groups, allow for a 5 second, unlimited buffers
	  preroll phase after which we expose the group.
	  When the group is exposed, use a small number of buffers up to a 2
	  second limit. Also disconnect the overrun signal from multiqueue when we
	  exposed the group because it is not needed anymore.

2007-06-27 22:30:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/tags.c: Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags to utf8-validate; fixes...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
	  Don't pass trailing zeroes in fixed-size string arrays in ID3v1 tags
	  to utf8-validate; fixes recognition of ID3v1 tags in UTF-8 encoding
	  (#451707); also, output some debugging info when dealing with
	  freeform strings.
	  * tests/check/libs/tag.c: (GST_START_TEST), (tag_suite):
	  Add unit test for the above.

2007-06-27 12:55:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/descriptions.c: Add description for Windows Media RTP caps.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/descriptions.c: (caps_are_rtp_caps):
	  Add description for Windows Media RTP caps.
	  * gst-libs/gst/pbutils/missing-plugins.c: (copy_and_clean_caps):
	  Remove RTP fields that don't define the format from caps.

2007-06-27 10:14:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/vorbis/vorbisdec.c: Skip empty buffers, but not empty header buffers. That way the original vorbisdec unit test s...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
	  Skip empty buffers, but not empty header buffers. That way the original
	  vorbisdec unit test still passes (#451145); also, take into account
	  that those empty packets might carry a granulepos.
	  * tests/check/Makefile.am:
	  * tests/check/elements/vorbisdec.c:
	  (_create_codebook_header_buffer), (_create_audio_buffer),
	  (GST_START_TEST), (vorbisdec_suite):
	  Add unit test that sends an empty packet.

2007-06-27 09:49:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Don't error out on 0-sized packets, just emit a warning because this is not a fatal error. Fi...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_decode_buffer):
	  Don't error out on 0-sized packets, just emit a warning because this is
	  not a fatal error. Fixes #451145.

2007-06-25 12:43:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/plugins/: Update docs with caps info.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-decodebin2.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playbin.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  Update docs with caps info.

2007-06-25 12:04:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/POTFILES.in: Add more files with translatable strings (#450875).
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  Add more files with translatable strings (#450875).

2007-06-23 14:44:07 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/ogg/gstoggdemux.c: The chain should be freed if we error out here, else it will leak.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_find_chains):
	  The chain should be freed if we error out here, else it will leak.
	  * gst/playback/gstdecodebin.c: (disconnect_unlinked_signals),
	  (cleanup_decodebin):
	  Don't forget to *properly* remove the signals, else it will leak.

2007-06-22 14:25:27 +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-21 08:34:46 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Destroy and recreate parse-launch based pipeline after stop to be able to play again. Reo...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (update_scale), (play_cb), (stop_cb),
	  (main):
	  Destroy and recreate parse-launch based pipeline after stop to be able
	  to play again. Reorder some code and add more comments.

2007-06-20 11:09:03 +0000  Wim Taymans <wim@fluendo.com>

	  gst/playback/gstdecodebin2.c: When handling a delayed-caps notification case, mark the group as dynamic so that the n...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (analyze_new_pad):
	  When handling a delayed-caps notification case, mark
	  the group as dynamic so that the nbdynamic count is
	  incremented and decremented correctly. Fixes: #449156
	  Patch by: Wim Taymans <wim@fluendo.com>

2007-06-19 19:13:04 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* win32/common/config.h:
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  Original commit message from CVS:
	  2007-06-19  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_init): Enable pull-mode operation.

2007-06-19 09:34:35 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/riff/riff-media.c: Change minimum rate back to 1000 to allow low-sample-rate wav files to play back.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Change minimum rate back to 1000 to allow low-sample-rate wav files
	  to play back.

2007-06-17 17:27:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/vi.po: Update translations.
	  Original commit message from CVS:
	  * po/vi.po:
	  Update translations.

2007-06-16 03:42:14 +0000  David Schleef <ds@schleef.org>

	  gst/playback/gstqueue2.c: Fix compile error from ignored return value.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c:
	  Fix compile error from ignored return value.

2007-06-15 15:23:36 +0000  Michael Smith <msmith@xiph.org>

	  gst/videoscale/vs_4tap.c: Update tmpbuf for all neccesary rows, not just one, as is required when downscaling.
	  Original commit message from CVS:
	  * gst/videoscale/vs_4tap.c: (vs_image_scale_4tap_Y):
	  Update tmpbuf for all neccesary rows, not just one, as is required
	  when downscaling.
	  Fixes #402076.

2007-06-15 11:15:28 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/pipelines/oggmux.c: Add a test that ensures we set DELTA_UNIT on all non-header, non-video buffers, if we...
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c: (validate_ogg_page), (is_video),
	  (eos_buffer_probe):
	  Add a test that ensures we set DELTA_UNIT on all non-header,
	  non-video buffers, if we have a video stream.
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
	  (gst_ogg_mux_process_best_pad):
	  Move setting delta_pad to earlier, where we inspect all pads, so
	  that leading audio pages don't get DELTA_UNIT unset if they come
	  before the first DELTA_UNIT from video pages. Fixes the newly-added
	  test. Fixes #385527.

2007-06-14 19:53:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/streamheader.c: Disable test_multifdsink_gdp_vorbisenc() on ppc64 since it fails on the p5-ppc6...
	  Original commit message from CVS:
	  * tests/check/pipelines/streamheader.c: (streamheader_suite):
	  Disable test_multifdsink_gdp_vorbisenc() on ppc64 since it
	  fails on the p5-ppc64 build bot and the failure looks like it is due
	  to the same issue as #348114, ie. a compiler bug.

2007-06-13 18:20:57 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstqueue2.c: Fix build on MacOSX.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_create_read):
	  Fix build on MacOSX.

2007-06-13 09:01:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Fix compilation on mingw. Fixes #446972.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain):
	  Fix compilation on mingw. Fixes #446972.

2007-06-12 08:38:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Fix a division by zero when the max percent is <= 0. Fixes #446572. also update the bufferi...
	  Original commit message from CVS:
	  Patches by: Thiago Sousa Santos <thiagossantos at gmail dot com>
	  * gst/playback/gstqueue2.c: (update_buffering),
	  (gst_queue_locked_enqueue):
	  Fix a division by zero when the max percent is <= 0. Fixes #446572.
	  also update the buffering status when receiving events. Fixes #446551.

2007-06-11 11:32:26 +0000  Thiago Sousa Santos <thiagossantos@gmail.com>

	  gst/playback/gstqueue2.c: Wait for preroll before attempting to forward a duration query upstream.
	  Original commit message from CVS:
	  Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
	  * gst/playback/gstqueue2.c: (gst_queue_peer_query),
	  (gst_queue_handle_src_query):
	  Wait for preroll before attempting to forward a duration query upstream.
	  Fixes #445505.

2007-06-07 21:08:38 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Use G_GINT64_CONSTANT macro for int64 constant.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Use G_GINT64_CONSTANT macro for int64 constant.
	  * win32/common/libgstinterfaces.def:
	  * win32/common/libgsttag.def:
	  Add new exported functions.

2007-06-07 14:25:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggmux.c: The BOS page of the first Dirac video stream needs to come before the BOS page of any Vorbis str...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers):
	  The BOS page of the first Dirac video stream needs to come before
	  the BOS page of any Vorbis streams or other audio streams, just like
	  it is with Theora.

2007-06-07 09:11:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Fix compilation.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_get_range):
	  Fix compilation.

2007-06-06 13:36:26 +0000  Thiago Sousa Santos <thiagossantos@gmail.com>

	  gst/playback/gstqueue2.c: Add pull based scheduling and fix some deadlocks. Fixes #444523.
	  Original commit message from CVS:
	  Patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
	  * gst/playback/gstqueue2.c: (gst_queue_init),
	  (gst_queue_handle_sink_event), (gst_queue_chain),
	  (gst_queue_get_range), (gst_queue_src_checkgetrange_function),
	  (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
	  (gst_queue_src_activate_pull):
	  Add pull based scheduling and fix some deadlocks. Fixes #444523.
	  Does not yet completely work because duration queries upstream won't
	  block yet.

2007-06-06 09:08:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Some more fseeko checks.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/playback/gstqueue2.c: (gst_queue_create_read):
	  Some more fseeko checks.

2007-06-06 08:01:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  configure.ac: check for large file support.
	  Original commit message from CVS:
	  * configure.ac:
	  check for large file support.

2007-06-05 21:36:11 +0000  Sven Arvidsson <sa@whiz.se>

	  gst/subparse/gstsubparse.*: Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
	  Original commit message from CVS:
	  Based on a patch by Sven Arvidsson <sa at whiz dot se>:
	  * gst/subparse/gstsubparse.c: (parse_subrip),
	  (subviewer_unescape_newlines), (parse_subviewer),
	  (gst_sub_parse_data_format_autodetect),
	  (gst_sub_parse_format_autodetect), (gst_subparse_type_find):
	  * gst/subparse/gstsubparse.h:
	  Add support for SubViewer version 1 and 2 subtitles. Fixes #394061.
	  * tests/check/elements/subparse.c: (GST_START_TEST),
	  (subparse_suite):
	  Add a unit test for both SubViewer formats.

2007-06-05 17:08:04 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiotestsrc/gstaudiotestsrc.c: Don't overflow intermediate values when seeking to large time values in audiotest...
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
	  Don't overflow intermediate values when seeking to large time values
	  in audiotestsrc.

2007-06-05 17:02:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Include stdio to define fseeko.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_have_data),
	  (gst_queue_create_read), (gst_queue_read_item_from_file),
	  (gst_queue_open_temp_location_file), (gst_queue_locked_enqueue):
	  Include stdio to define fseeko.

2007-06-05 16:37:09 +0000  Edward Hervey <edward@fluendo.com>

	  sys/v4l/gstv4lsrc.c: Make v4lsrc output segments in GST_FORMAT_TIME. Fixes #442553.
	  Original commit message from CVS:
	  Patch by: Edward Hervey  <edward@fluendo.com>
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_fixate),
	  (gst_v4lsrc_query):
	  Make v4lsrc output segments in GST_FORMAT_TIME. Fixes #442553.

2007-06-05 16:20:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/: Use gst_tag_utf8_from_freeform_string() from libgsttag instead of our own implementation.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/Makefile.am:
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_info):
	  Use gst_tag_utf8_from_freeform_string() from libgsttag instead of
	  our own implementation.

2007-06-05 16:19:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Handle timestamp wraparound.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_change_state):
	  Handle timestamp wraparound.

2007-06-05 16:17:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gsturidecodebin.c: Make sure we name srcpads uniquely even when using different internal decodebins.
	  Original commit message from CVS:
	  * gst/playback/gsturidecodebin.c: (no_more_pads_full),
	  (new_decoded_pad), (remove_pads), (make_decoder), (setup_source),
	  (gst_uri_decode_bin_change_state):
	  Make sure we name srcpads uniquely even when using different internal
	  decodebins.
	  Signal no-more-pads when no more dynamic elements exist.
	  Remove pads on cleanup.

2007-06-05 16:14:23 +0000  Thiago Sousa Santos <thiagossantos@gmail.com>

	  gst/playback/gstqueue2.c: Add support for filebased buffering. Fixes #441264.
	  Original commit message from CVS:
	  Based on patch by: Thiago Sousa Santos <thiagossantos at gmail dot com>
	  * gst/playback/gstqueue2.c: (gst_queue_class_init),
	  (gst_queue_init), (gst_queue_finalize),
	  (gst_queue_write_buffer_to_file), (gst_queue_have_data),
	  (gst_queue_create_read), (gst_queue_read_item_from_file),
	  (gst_queue_open_temp_location_file),
	  (gst_queue_close_temp_location_file), (gst_queue_locked_flush),
	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
	  (gst_queue_is_empty), (gst_queue_is_filled),
	  (gst_queue_change_state), (gst_queue_set_temp_location),
	  (gst_queue_set_property):
	  Add support for filebased buffering. Fixes #441264.

2007-06-05 16:05:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Add support for delayed caps fixation when autoplugging.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter),
	  (analyze_new_pad), (connect_pad), (expose_pad), (caps_notify_cb),
	  (caps_notify_group_cb), (gst_decode_group_new),
	  (gst_decode_group_free):
	  Add support for delayed caps fixation when autoplugging.
	  Optimize cases where a multiqueue is not needed/wanted, like right after
	  anything that is not a demuxer.

2007-06-05 16:02:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: consideratly speedup ogg chain detection by not trying to find a base timestamp for skeleton s...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fisbone),
	  (gst_ogg_pad_submit_packet), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_read_chain), (gst_ogg_demux_collect_chain_info):
	  consideratly speedup ogg chain detection by not trying to find a base
	  timestamp for skeleton streams.

2007-06-05 16:00:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.*: Add support for remuve_flush.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_client_status_get_type),
	  (gst_multi_fd_sink_class_init), (gst_multi_fd_sink_add_full),
	  (gst_multi_fd_sink_remove_flush),
	  (gst_multi_fd_sink_remove_client_link),
	  (gst_multi_fd_sink_handle_client_write),
	  (gst_multi_fd_sink_handle_clients):
	  * gst/tcp/gstmultifdsink.h:
	  Add support for remuve_flush.

2007-06-05 15:59:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add draft design for forcing keyframes in encoders and implement in theoraenc.
	  Original commit message from CVS:
	  * docs/design/draft-keyframe-force.txt:
	  * ext/theora/theoraenc.c: (theora_enc_sink_event),
	  (theora_enc_chain):
	  Add draft design for forcing keyframes in encoders and implement in
	  theoraenc.

2007-06-05 13:22:18 +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.13 ===

2007-06-05 12:50:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-decodebin2.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-plugins-base.doap:
	* win32/common/config.h:
	* win32/vs6/grammar.dsp:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstadder.dsp:
	* win32/vs6/libgstaudio.dsp:
	* win32/vs6/libgstaudioconvert.dsp:
	* win32/vs6/libgstaudiorate.dsp:
	* win32/vs6/libgstaudioresample.dsp:
	* win32/vs6/libgstaudioscale.dsp:
	* win32/vs6/libgstaudiotestsrc.dsp:
	* win32/vs6/libgstcdda.dsp:
	* win32/vs6/libgstdecodebin.dsp:
	* win32/vs6/libgstdecodebin2.dsp:
	* win32/vs6/libgstdirectsound.dsp:
	* win32/vs6/libgstffmpegcolorspace.dsp:
	* win32/vs6/libgstgdp.dsp:
	* win32/vs6/libgstinterfaces.dsp:
	* win32/vs6/libgstnetbuffer.dsp:
	* win32/vs6/libgstogg.dsp:
	* win32/vs6/libgstpbutils.dsp:
	* win32/vs6/libgstplaybin.dsp:
	* win32/vs6/libgstriff.dsp:
	* win32/vs6/libgstrtp.dsp:
	* win32/vs6/libgstsinesrc.dsp:
	* win32/vs6/libgstsubparse.dsp:
	* win32/vs6/libgsttag.dsp:
	* win32/vs6/libgsttheora.dsp:
	* win32/vs6/libgsttypefindfunctions.dsp:
	* win32/vs6/libgstutils.dsp:
	* win32/vs6/libgstvideo.dsp:
	* win32/vs6/libgstvideorate.dsp:
	* win32/vs6/libgstvideoscale.dsp:
	* win32/vs6/libgstvideotestsrc.dsp:
	* win32/vs6/libgstvolume.dsp:
	* win32/vs6/libgstvorbis.dsp:
	  Release 0.10.13 "What's going on?"
	  Original commit message from CVS:
	  Release 0.10.13 "What's going on?"

2007-06-05 12:32:03 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/de.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-05-31 17:08:58 +0000  Wim Taymans <wim@fluendo.com>

	  gst-libs/gst/riff/riff-media.c: In riff, the depth is stored in the size field but it just means that the least signi...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  In riff, the depth is stored in the size field but it just means that
	  the least significant bits are cleared. We can therefore just play
	  the sample as if it had a depth == width. Fixes: #440997
	  Patch by: Wim Taymans <wim@fluendo.com>
	  Patch by: Sebastian Dröge  <slomo@circular-chaos.org>

2007-05-31 16:36:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/floatcast/floatcast.h: Define inline when needed on win32 builds. Fixes: #441295
	  Original commit message from CVS:
	  * gst-libs/gst/floatcast/floatcast.h:
	  Define inline when needed on win32 builds. Fixes: #441295

2007-05-29 13:38:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Stop buffering when the group is commited because the queues filled up.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (queue_overrun),
	  (no_more_pads_full):
	  Stop buffering when the group is commited because the queues filled up.
	  Fixes #442024.

2007-05-25 10:07:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Revert commits towards #152864 made so far. We'll pick it up again after the 0.10.13 release.
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
	  (gst_alsa_mixer_free), (gst_alsa_mixer_update),
	  (gst_alsa_mixer_get_volume), (gst_alsa_mixer_set_volume),
	  (gst_alsa_mixer_set_mute), (gst_alsa_mixer_set_record),
	  (gst_alsa_mixer_set_option), (gst_alsa_mixer_get_option):
	  * ext/alsa/gstalsamixer.h:
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_interface_supported),
	  (gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init),
	  (gst_alsa_mixer_element_set_property),
	  (gst_alsa_mixer_element_get_property),
	  (gst_alsa_mixer_element_change_state):
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_update):
	  * gst-libs/gst/interfaces/mixer.c: (gst_mixer_volume_changed),
	  (gst_mixer_option_changed):
	  * gst-libs/gst/interfaces/mixer.h:
	  Revert commits towards #152864 made so far. We'll pick it up again
	  after the 0.10.13 release.

2007-05-24 16:22:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: After an interrupt (PAUSED/flush) assume that the next sample should not be al...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  After an interrupt (PAUSED/flush) assume that the next sample should not
	  be aligned to the previous sample. Fixes #417992.

2007-05-24 15:16:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Don't add channels and rate fields to the template caps for audio/x-dts, as wavparse ...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Don't add channels and rate fields to the template caps for
	  audio/x-dts, as wavparse might not always be able to set them,
	  which would then lead to 'caps are not a real subset of the
	  template caps' warnings.

2007-05-24 11:15:32 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybasebin.c: Handle unknown or invalid pads without crashing, as might occur if a media file like a...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
	  Handle unknown or invalid pads without crashing, as might occur if
	  a media file like an mp3 is specified as a subtitle file.
	  Fixes: #410039

2007-05-24 10:19:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybin.c: Block the subtitle bin output queue before ghosting it and linking, then unblock after. Th...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (add_sink), (dummy_blocked_cb),
	  (setup_sinks):
	  Block the subtitle bin output queue before ghosting it and linking,
	  then unblock after. This avoids spurious not-linked errors caused
	  by the queue starting up (because it gets linked when it is ghosted).
	  Fixes: #350299

2007-05-23 15:54:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/elements/playbin.c: Use /dev/zero instead of /dev/urandom to produce an invalid subtitle file. Avoids flu...
	  Original commit message from CVS:
	  * tests/check/elements/playbin.c: (test_suburi_error_unknowntype):
	  Use /dev/zero instead of /dev/urandom to produce an invalid subtitle
	  file. Avoids flukes where the input gets typefound to some valid but
	  useless type.

2007-05-22 15:45:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add unit test for gnomevfssink seeking and position reporting for file:// URIs.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/gnomevfssink.c: (setup_gnomevfssink),
	  (cleanup_gnomevfssink), (GST_START_TEST), (gnomevfssink_suite):
	  Add unit test for gnomevfssink seeking and position reporting for
	  file:// URIs.

2007-05-22 15:30:26 +0000  Mark Nauwelaerts <manauw@skynet.be>

	  ext/gnomevfs/gstgnomevfssink.*: see #412648.
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <manauw at skynet be>
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_init),
	  (gst_gnome_vfs_sink_open_file), (gst_gnome_vfs_sink_handle_event),
	  (gst_gnome_vfs_sink_query), (gst_gnome_vfs_sink_render):
	  * ext/gnomevfs/gstgnomevfssink.h:
	  Fix position reporting, especially after a seek (from upstream),
	  see #412648.

2007-05-22 15:04:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdparanoia/gstcdparanoiasrc.c: Repair umlaut.
	  Original commit message from CVS:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  Repair umlaut.

2007-05-22 11:40:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/riff/riff-media.c: Specify the full valid range for MP3 samplerates. Fixes a regression caused by extra ...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Specify the full valid range for MP3 samplerates. Fixes a regression
	  caused by extra header checks since the last release.

2007-05-21 15:32:42 +0000  Mike Smith <msmith@xiph.org>

	  sys/: Fix a locking-order bug I introduced with my changes the other day.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
	  Fix a locking-order bug I introduced with my changes the other day.
	  Patch by Mike Smith.

2007-05-21 15:24:21 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Don't look inside 0-length packets (which indicate duplicated frames)
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_handle_data_packet):
	  Don't look inside 0-length packets (which indicate duplicated
	  frames)

2007-05-21 10:25:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Small cleanups.
	  Original commit message from CVS:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  (gst_cd_paranoia_src_read_sector):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Small cleanups.
	  * ext/theora/theoradec.c: (theora_dec_sink_event):
	  Fix typo.
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Add some FIXME
	  * gst/playback/gstdecodebin.c: (queue_underrun_cb):
	  And some debug info when a FIXME path is hit.

2007-05-21 09:45:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Some cleanups, remove minptime property as it is now in the parent class.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_class_init),
	  (gst_base_rtp_audio_payload_init),
	  (gst_base_rtp_audio_payload_finalize),
	  (gst_base_rtp_audio_payload_handle_frame_based_buffer),
	  (gst_base_rtp_audio_payload_handle_sample_based_buffer),
	  (gst_base_rtp_payload_audio_handle_event):
	  Some cleanups, remove minptime property as it is now in the parent
	  class.
	  Override parent class event function.
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_class_init), (gst_basertppayload_init),
	  (gst_basertppayload_event), (gst_basertppayload_set_property),
	  (gst_basertppayload_get_property):
	  * gst-libs/gst/rtp/gstbasertppayload.h:
	  Add min-ptime property.
	  Add handle-event vmethod. Fixes #415001.

2007-05-18 17:10:03 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update spec
	  Original commit message from CVS:
	  update spec

2007-05-18 15:23:43 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/audio/gstbaseaudiosink.c
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_change_state):
	  Fix typo in comment.
	  * gst/playback/gstdecodebin.c (gst_decode_bin_class_init,
	  free_dynamics, pad_probe, close_pad_link, try_to_link_1,
	  get_our_ghost_pad, remove_element_chain, queue_underrun_cb,
	  close_link):
	  * gst/playback/gstplaybin.c (gst_play_bin_set_property,
	  gen_audio_element, remove_sinks, gst_play_bin_send_event_to_sink):
	  Remove trailing whitespaces in comments.
	  * gst/volume/Makefile.am:
	  Fix tabs.

2007-05-18 15:10:08 +0000  Marc-Andre Lureau <marcandre.lureau@gmail.com>

	* ChangeLog:
	* gst-libs/gst/interfaces/mixer.h:
	  gst-libs/gst/interfaces/mixer.h (mixer_type, option_changed, set_option, get_option, _gst_reserved):
	  Original commit message from CVS:
	  patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
	  * gst-libs/gst/interfaces/mixer.h (mixer_type, option_changed,
	  set_option, get_option, _gst_reserved):
	  Revert reordering functions (keep ABI).

2007-05-17 17:35:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: When we create our own window, indicate that we handle the
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put),
	  (gst_ximagesink_xwindow_new), (gst_ximagesink_handle_xevents),
	  (gst_ximagesink_show_frame):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
	  (gst_xvimagesink_xwindow_new), (gst_xvimagesink_handle_xevents),
	  (gst_xvimagesink_show_frame):
	  When we create our own window, indicate that we handle the
	  WM_DELETE client message from the window manager, so that it won't
	  kill our window (and our app) along with it. Handle ClientMessage,
	  post an error on the bus, and close the window. Further buffers
	  arriving will result in a FlowError because the window has been
	  destroyed.
	  Fixes: #393975
	  Clean up the X event handling loop and make them the same for
	  both xvimagesink and ximagesink while I'm at it.

2007-05-17 16:27:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin2.c: Make decodebin2 autoplug depayloaders too.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_factory_filter):
	  Make decodebin2 autoplug depayloaders too.
	  * gst/playback/gsturidecodebin.c: (source_new_pad):
	  Set the newly created decoder in a usable state when autoplugging a
	  dynamic source such as RTSP.

2007-05-17 16:11:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreaminfo.c: Ignore video-codec tag for audio streams and ignore audio-codec tags for video streams....
	  Original commit message from CVS:
	  * gst/playback/gststreaminfo.c: (cb_probe):
	  Ignore video-codec tag for audio streams and ignore audio-codec tags
	  for video streams. Should make codec name collection a bit more
	  robust against sloppy demuxers that send tag events containing both
	  tags down each pad.

2007-05-17 15:22:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: Tweak the buffering thresholds a little.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (update_rates):
	  Tweak the buffering thresholds a little.
	  Update the buffer size with the previously calculate rate instead of
	  only when we calculate a new rate so that we get smoother buffering
	  updates.
	  * gst/playback/Makefile.am:
	  * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_base_init),
	  (gst_uri_decode_bin_class_init), (gst_uri_decode_bin_init),
	  (gst_uri_decode_bin_finalize), (gst_uri_decode_bin_set_property),
	  (gst_uri_decode_bin_get_property), (unknown_type),
	  (add_element_stream), (no_more_pads_full), (no_more_pads),
	  (source_no_more_pads), (new_decoded_pad), (array_has_value),
	  (gen_source_element), (has_all_raw_caps), (analyse_source),
	  (remove_decoders), (make_decoder), (remove_source),
	  (source_new_pad), (setup_source), (decoder_query_init),
	  (decoder_query_duration_fold), (decoder_query_duration_done),
	  (decoder_query_position_fold), (decoder_query_position_done),
	  (decoder_query_latency_fold), (decoder_query_latency_done),
	  (decoder_query_seeking_fold), (decoder_query_seeking_done),
	  (decoder_query_generic_fold), (gst_uri_decode_bin_query),
	  (gst_uri_decode_bin_change_state), (plugin_init):
	  New element that intergrates a source, optional buffering element and
	  decodebin.

2007-05-17 14:17:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Bump libtheora requirement to 1.0alpha5 for the pixformat check (also has a .pc file, so we don't need ...
	  Original commit message from CVS:
	  * configure.ac:
	  Bump libtheora requirement to 1.0alpha5 for the pixformat check
	  (also has a .pc file, so we don't need the fallback check any
	  longer). Fixes #438840.

2007-05-17 13:36:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstqueue2.c: fix build.
	  Original commit message from CVS:
	  * gst/playback/gstqueue2.c: (gst_queue_get_type),
	  (gst_queue_class_init), (gst_queue_finalize), (update_time_level),
	  (apply_segment), (apply_buffer), (update_buffering),
	  (reset_rate_timer), (update_rates), (gst_queue_locked_flush),
	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
	  (gst_queue_handle_sink_event), (gst_queue_is_filled),
	  (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop),
	  (plugin_init):
	  fix build.

2007-05-17 11:57:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: On our way to playbin2 this is the new network queue that does buffering all by itself using high and ...
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstqueue2.c: (gst_queue_get_type),
	  (gst_queue_class_init), (gst_queue_init), (gst_queue_finalize),
	  (gst_queue_getcaps), (gst_queue_bufferalloc),
	  (gst_queue_acceptcaps), (update_time_level), (apply_segment),
	  (apply_buffer), (update_buffering), (reset_rate_timer),
	  (update_rates), (gst_queue_locked_flush),
	  (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
	  (gst_queue_handle_sink_event), (gst_queue_is_empty),
	  (gst_queue_is_filled), (gst_queue_chain), (gst_queue_push_one),
	  (gst_queue_loop), (gst_queue_handle_src_event),
	  (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
	  (gst_queue_src_activate_push), (gst_queue_change_state),
	  (gst_queue_set_property), (gst_queue_get_property), (plugin_init):
	  On our way to playbin2 this is the new network queue that does buffering
	  all by itself using high and low watermarks. It can also measure up and
	  downstream bandwidth to optimally size the queue.

2007-05-17 11:16:14 +0000  Michael Smith <msmith@xiph.org>

	  gst/: Use the segment->last_stop value to calculate the next timestamp to generate after a seek; not the segment->sta...
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_do_seek):
	  * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_do_seek):
	  Use the segment->last_stop value to calculate the next timestamp to
	  generate after a seek; not the segment->start value.

2007-05-15 20:14:06 +0000  David Schleef <ds@schleef.org>

	  docs/Makefile.am: Install docs even when --disable-gtk-doc is disabled.  This matches the behavior of gtk+.  Fixes #3...
	  Original commit message from CVS:
	  * docs/Makefile.am: Install docs even when --disable-gtk-doc
	  is disabled.  This matches the behavior of gtk+.  Fixes #349099.

2007-05-15 17:11:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Some more chained streaming ogg timestamp fixes.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_handle_page):
	  Some more chained streaming ogg timestamp fixes.

2007-05-15 16:46:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Add some FIXMEs.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_handle_page):
	  Add some FIXMEs.
	  Fix chain start/stop segment handling based on patch by
	  <ahalda at cs dot mcgill dot ca> see #320984.

2007-05-15 15:33:54 +0000  Michael Smith <msmith@xiph.org>

	  configure.ac: We don't require a C++ compiler. So don't require one.
	  Original commit message from CVS:
	  * configure.ac:
	  We don't require a C++ compiler. So don't require one.

2007-05-15 15:29:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	* ChangeLog:
	* ext/alsa/gstalsamixer.c:
	  ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds, gst_alsa_mixer_check, gst_alsa_mixer_dispatch, gst_alsa_mixer_...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c (source, n_poll_fds, poll_fds,
	  gst_alsa_mixer_check, gst_alsa_mixer_dispatch,
	  gst_alsa_mixer_finalize, gst_alsa_mixer_handle_source_callback,
	  gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback,
	  gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_update_option,
	  gst_alsa_mixer_update_track):
	  Apply some of the cleanup Tim suggested in #152864 afterwards.

2007-05-15 14:01:26 +0000  Marc-Andre Lureau <marcandre.lureau@gmail.com>

	  ext/alsa/gstalsamixer.c (main_context, GstAlsaMixerWatch, _GstAlsaMixerWatch, source, n_poll_fds, poll_fds, gst_alsa_...
	  Original commit message from CVS:
	  patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
	  * ext/alsa/gstalsamixer.c (main_context, GstAlsaMixerWatch,
	  _GstAlsaMixerWatch, source, n_poll_fds, poll_fds,
	  gst_alsa_mixer_watch_funcs, gst_alsa_mixer_prepare,
	  gst_alsa_mixer_check, gst_alsa_mixer_dispatch,
	  gst_alsa_mixer_finalize, gst_alsa_mixer_find_master_mixer,
	  gst_alsa_mixer_handle_source_callback,
	  gst_alsa_mixer_handle_callback, gst_alsa_mixer_elem_handle_callback,
	  gst_alsa_mixer_ensure_track_list, gst_alsa_mixer_free,
	  gst_alsa_mixer_get_volume, gst_alsa_mixer_set_volume,
	  gst_alsa_mixer_set_mute, gst_alsa_mixer_set_record,
	  gst_alsa_mixer_get_option, gst_alsa_mixer_update_option,
	  gst_alsa_mixer_update_track, _gst_alsa_mixer_set_interface):
	  * ext/alsa/gstalsamixer.h (handle_source, interface, dir):
	  * ext/alsa/gstalsamixerelement.c (gst_alsa_mixer_element_details,
	  gst_alsa_mixer_element_interface_supported,
	  gst_alsa_mixer_element_finalize, gst_alsa_mixer_element_init,
	  gst_alsa_mixer_element_set_property,
	  gst_alsa_mixer_element_get_property,
	  gst_alsa_mixer_element_change_state):
	  * ext/alsa/gstalsamixertrack.c (gst_alsa_mixer_track_update):
	  * gst-libs/gst/interfaces/mixer.c (gst_mixer_volume_changed,
	  gst_mixer_option_changed):
	  * gst-libs/gst/interfaces/mixer.h (set_option, get_option,
	  volume_changed, option_changed, _gst_reserved):
	  Implement notification for alsamixer. Fixes #152864

2007-05-15 03:53:11 +0000  David Schleef <ds@schleef.org>

	  gst/videotestsrc/videotestsrc.*: Add support for video/x-raw-bayer.
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c:
	  * gst/videotestsrc/videotestsrc.h:
	  Add support for video/x-raw-bayer.

2007-05-13 01:06:19 +0000  David Schleef <ds@schleef.org>

	  sys/xvimage/xvimagesink.c: Add some sanity checking for the XVImage size returned by X.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c:
	  Add some sanity checking for the XVImage size returned by X.
	  Related to #377400.

2007-05-12 16:18:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Parse and use additional caps fields as described in updated application/x-rt...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  Parse and use additional caps fields as described in updated
	  application/x-rtp caps spec.

2007-05-12 16:16:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: If there is a stream in a chain without any data packets, ignore the stream in the total lengt...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_collect_chain_info):
	  If there is a stream in a chain without any data packets, ignore the
	  stream in the total length calculations. Might be related to #436820.

2007-05-11 17:33:43 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/typefind/gsttypefindfunctions.c: Consolidate and re-work our mpeg system stream detection to probe more packets a...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg_sys_is_valid_pack),
	  (mpeg_sys_is_valid_pes), (mpeg_sys_is_valid_sys),
	  (mpeg_sys_type_find), (mpeg_ts_type_find), (mpeg4_video_type_find),
	  (mpeg_video_type_find), (mpeg_video_stream_type_find),
	  (plugin_init):
	  Consolidate and re-work our mpeg system stream detection to probe
	  more packets and produce a higher confidence result. Fixes a
	  regression caused by lowering the typefind probability last year
	  - related to bug #397810. Remove the redundant MPEG-1 specific
	  typefind function, as the new one detects both MPEG-1 & MPEG-2
	  happily.
	  Also cleanup the MPEG elementary and MPEG-TS detection functions a
	  little.
	  Tested against my media test directory, with some improvements and
	  no regressions.

2007-05-10 15:28:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Connect to the new queue "pushing" signal instead of the broken "running" one.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (fill_buffer), (check_queue),
	  (queue_out_of_data):
	  Connect to the new queue "pushing" signal instead of the broken
	  "running" one.

2007-05-09 21:17:40 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Move variable declaration before the first instruction.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_handle_frame_based_buffer):
	  Move variable declaration before the first instruction.
	  * gst/videotestsrc/videotestsrc.c:
	  Define M_PI if it's not defined yet.
	  * win32/common/libgstrtp.def:
	  Add new exported functions.

2007-05-09 11:54:32 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: gst_pad_push_event() does not return a GstFlowReturn!
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_handle_type_packet):
	  gst_pad_push_event() does not return a GstFlowReturn!

2007-05-09 11:25:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/: Some small cosmetic changes.
	  Original commit message from CVS:
	  * tests/examples/seek/scrubby.c: (stop_cb), (main):
	  * tests/examples/seek/seek.c: (do_seek):
	  Some small cosmetic changes.

2007-05-08 19:24:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	* ChangeLog:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected, gst_adder_change_state): gst/adder/gstadder.h (bps, o...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c (gst_adder_src_event, gst_adder_collected,
	  gst_adder_change_state):
	  * gst/adder/gstadder.h (bps, offset, collect_event, segment,
	  segment_pending, segment_position, segment_rate):
	  Handle playback-rate on adder.

2007-05-07 11:43:31 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/: Don't push events (newsegment, tags) before initialising the decoder.
	  Original commit message from CVS:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_reset),
	  (theora_dec_sink_event), (theora_handle_comment_packet),
	  (theora_handle_type_packet), (theora_dec_change_state):
	  Don't push events (newsegment, tags) before initialising the
	  decoder.
	  This is neccesary for seeking to work correctly in gnonlin.

2007-05-04 13:10:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/: gst/audiotestsrc/gstaudiotestsrc.c
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst/adder/gstadder.c:
	  * gst/audiotestsrc/gstaudiotestsrc.c
	  (gst_audio_test_src_create_white_noise):
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/volume/gstvolume.c (VOLUME_UNITY_INT16,
	  VOLUME_UNITY_INT16_BIT_SHIFT, VOLUME_MAX_DOUBLE,
	  volume_sink_template, volume_src_template, gst_volume_init,
	  volume_process_double, volume_process_int16,
	  volume_process_int16_clamp):
	  Doc fixes and formatting.

2007-05-04 12:41:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Minimal check for volume's GstController usability; also another test for #422295.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
	  Minimal check for volume's GstController usability; also another
	  test for #422295.

2007-05-04 09:06:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: Fix it so that it (a) makes sense and (b) doesn't break everything cdda-related i...
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_add_track):
	  Fix it so that it (a) makes sense and (b) doesn't break
	  everything cdda-related including the unit test.

2007-05-04 08:46:59 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: Fix build when disabling asserts.
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_add_track):
	  Fix build when disabling asserts.

2007-05-03 16:29:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/ximage/ximagesink.c: When XShm is not available, we might get row strides that are not rounded up to multiples of...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new):
	  When XShm is not available, we might get row strides that are not
	  rounded up to multiples of four; this is bad, because virtually
	  every RGB-processing element in GStreamer assumes rowstrides are
	  rounded up to multiples of four, so let's allocate at least enough
	  memory to avoid crashes in this case. The image will still be
	  displayed distorted though if this happens, so that still needs
	  fixing (maybe by allocating a bigger image with an 'even' width
	  and then clipping it appropriately when rendering - something for
	  Xlib aficionados in any case).

2007-05-03 13:16:21 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: If a buffer doesn't have a timestamp, assume it's contiguous with the previous buffer, ...
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  If a buffer doesn't have a timestamp, assume it's contiguous with
	  the previous buffer, and synthesise timestamps appropriately.

2007-05-03 11:24:00 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/elements/videorate.c: Set buffer timestamp to a valid value in order to test the buffer really does stay ...
	  Original commit message from CVS:
	  * tests/check/elements/videorate.c: (GST_START_TEST):
	  Set buffer timestamp to a valid value in order to test the buffer
	  really does stay in videorate.

2007-05-03 10:47:22 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/videorate/gstvideorate.c: There is no sensible way to handle incoming buffers which don't have a valid timestamp....
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_chain):
	  There is no sensible way to handle incoming buffers which don't have a
	  valid timestamp. We therefore discard them and wait for the next one.

2007-05-01 18:45:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Better error message for text files.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (type_found), (plugin_init):
	  * gst/playback/gstdecodebin2.c: (plugin_init):
	  Better error message for text files.

2007-04-29 14:38:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.c: Fix offset bug in generation RR packets.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_add_rb):
	  Fix offset bug in generation RR packets.

2007-04-27 15:33:46 +0000  Julien Moutte <julien@moutte.net>

	  ext/theora/theoradec.c: Calculate buffer duration correctly to generate a perfect stream (#433888).
	  Original commit message from CVS:
	  2007-04-27  Julien MOUTTE  <julien@moutte.net>
	  * ext/theora/theoradec.c: (_theora_granule_time),
	  (theora_dec_push_forward), (theora_handle_data_packet),
	  (theora_dec_decode_buffer): Calculate buffer duration correctly
	  to generate a perfect stream (#433888).
	  * gst/audioresample/gstaudioresample.c:
	  (audioresample_check_discont): Glib provides ABS.

2007-04-27 15:01:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.*: Fix RB block parsing and writing.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_get_rb),
	  (gst_rtcp_packet_add_rb), (gst_rtcp_packet_sdes_add_item),
	  (gst_rtcp_packet_sdes_add_entry), (gst_rtcp_packet_bye_add_ssrc),
	  (gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset),
	  (gst_rtcp_packet_bye_set_reason):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Fix RB block parsing and writing.
	  Add support for constructing BYE packets.

2007-04-25 08:54:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  When posting a warning message because samples were dropped, post something more intelligible than he default error m...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (_do_init),
	  (gst_base_audio_src_create):
	  * po/POTFILES.in:
	  When posting a warning message because samples were dropped, post
	  something more intelligible than he default error message for clock
	  errors which is just confusing in this context (#432984).

2007-04-25 08:10:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtcpbuffer.*: Implement code to write SR, RR and SDES packets.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_buffer_new),
	  (gst_rtcp_buffer_end), (gst_rtcp_buffer_get_packet_count),
	  (read_packet_header), (gst_rtcp_packet_move_to_next),
	  (gst_rtcp_buffer_add_packet), (gst_rtcp_packet_sr_set_sender_info),
	  (gst_rtcp_packet_rr_set_ssrc), (gst_rtcp_packet_add_rb),
	  (gst_rtcp_packet_sdes_get_item_count),
	  (gst_rtcp_packet_sdes_first_item),
	  (gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_ssrc),
	  (gst_rtcp_packet_sdes_first_entry),
	  (gst_rtcp_packet_sdes_next_entry),
	  (gst_rtcp_packet_sdes_get_entry), (gst_rtcp_packet_sdes_add_item),
	  (gst_rtcp_packet_sdes_add_entry):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Implement code to write SR, RR and SDES packets.

2007-04-24 20:45:24 +0000  Christian Kirbach <Christian.Kirbach@googlemail.com>

	  sys/ximage/ximagesink.c: Fix build if XShm is not available (#432362).
	  Original commit message from CVS:
	  Patch by: Christian Kirbach <Christian dot Kirbach at googlemail com>
	  * sys/ximage/ximagesink.c:
	  Fix build if XShm is not available (#432362).

2007-04-24 18:58:25 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/gstaudioconvert.c: Initalize the AudioConvertCtx with zeroes, otherwise it will contain pointers to ...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_init):
	  Initalize the AudioConvertCtx with zeroes, otherwise it will contain
	  pointers to random memory which are passed to g_free() when
	  audio_convert_prepare_context() is called the first time.

2007-04-24 15:00:07 +0000  Dan Williams <dcbw@redhat.com>

	  gst/videorate/gstvideorate.c: Don't leak incoming buffer if gst_pad_push() returns a non-OK flow. Fixes #432755.
	  Original commit message from CVS:
	  Patch by: Dan Williams <dcbw redhat com>
	  * gst/videorate/gstvideorate.c: (gst_video_rate_chain):
	  Don't leak incoming buffer if gst_pad_push() returns a
	  non-OK flow. Fixes #432755.
	  * tests/check/elements/videorate.c: (GST_START_TEST),
	  (videorate_suite):
	  Unit test for the above by Yours Truly.

2007-04-23 20:04:28 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/gstadder.c: Fix non-flushing segmented seeks, Fixes #340060 for me
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
	  (gst_adder_sink_event), (gst_adder_collected):
	  Fix non-flushing segmented seeks, Fixes #340060 for me

2007-04-21 15:29:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery: add API keyword
	  Original commit message from CVS:
	  ChangeLog surgery: add API keyword

2007-04-21 15:25:22 +0000  Olivier Crete <tester@tester.ca>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Chain up to parent class in dispose function; get rid of unnecessary 'dipo...
	  Original commit message from CVS:
	  Patch by: Olivier Crete  <tester at tester ca>
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_class_init),
	  (gst_base_rtp_audio_payload_init),
	  (gst_base_rtp_audio_payload_dispose):
	  Chain up to parent class in dispose function; get rid of
	  unnecessary 'diposed' flag in private structure (#415001).

2007-04-21 15:10:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Some minor docs fixes and additions; also add missing 'Since' bits.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs.types:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_class_init):
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  Some minor docs fixes and additions; also add missing 'Since' bits.

2007-04-21 14:40:45 +0000  Zeeshan Ali <zeenix@gmail.com>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.*: The recently-added gst_base_rtp_audio_payload_push() should take an object...
	  Original commit message from CVS:
	  Patch by: Zeeshan Ali  <zeenix gmail com>
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_handle_frame_based_buffer),
	  (gst_base_rtp_audio_payload_handle_sample_based_buffer),
	  (gst_base_rtp_audio_payload_push):
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  The recently-added gst_base_rtp_audio_payload_push() should take an
	  object of type GstBaseRTPAudioPayload as first argument (#431672).

2007-04-21 14:14:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioresample/gstaudioresample.c: Make more functions static, just because we can.
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  Make more functions static, just because we can.

2007-04-21 13:54:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/audioresample.c: Add unit test for audioresample shutdown crasher (#420106).
	  Original commit message from CVS:
	  * tests/check/elements/audioresample.c:
	  Add unit test for audioresample shutdown crasher (#420106).

2007-04-20 10:42:24 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/subparse/: Use GST_DISABLE_XML here
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c:
	  * gst/subparse/samiparse.c:
	  Use GST_DISABLE_XML here
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put),
	  (gst_xvimagesink_xwindow_new), (gst_xvimagesink_get_xv_support),
	  (gst_xvimagesink_buffer_alloc),
	  (gst_xvimagesink_navigation_send_event):
	  * sys/xvimage/xvimagesink.h:
	  Include stdlib.h when using atoi.
	  * tests/check/elements/playbin.c: (playbin_suite):
	  Use GST_DISABLE_REGISTRY here

2007-04-19 16:58:53 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/: Track initialisation state; don't try to use encoder state if we're not initialised (it'll segfault).
	  Original commit message from CVS:
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/theoraenc.c: (theora_enc_sink_setcaps),
	  (theora_enc_sink_event), (theora_enc_change_state):
	  Track initialisation state; don't try to use encoder state if we're
	  not initialised (it'll segfault).

2007-04-18 11:06:42 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/pipelines/.cvsignore: Fix build.
	  Original commit message from CVS:
	  * tests/check/pipelines/.cvsignore:
	  Fix build.

2007-04-17 10:56:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/app/Makefile.am: Fix CFLAGS and hopefully #430594.
	  Original commit message from CVS:
	  * gst/app/Makefile.am:
	  Fix CFLAGS and hopefully #430594.

2007-04-17 02:53:16 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Allow random depths between 1 and 32 instead of only multiplies of 8.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Allow random depths between 1 and 32 instead of only multiplies of 8.

2007-04-17 02:04:21 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Set the maximum number of channels for PCM and float in the correct place to have it ...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Set the maximum number of channels for PCM and float in the correct
	  place to have it also used when creating the template caps.

2007-04-17 01:56:07 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Correctly support 4, 6 and 8 channels with normal PCM and float wav files.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Correctly support 4, 6 and 8 channels with normal PCM and float
	  wav files.
	  Fix the depth and signedness calculation in extensible wav files and
	  also handle 1, 2, 4, 6, 8 channels here when a file without channel
	  mask is found.
	  Add support for float, alaw and mulaw in extensible wav files.
	  This allows correct playback of all but 5 files from
	  http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/Samples.html
	  (gst_riff_create_audio_template_caps):
	  Add voxware and float formats to the template caps.

2007-04-16 22:20:03 +0000  Vincent Torri <vtorri@univ-evry.fr>

	  ext/pango/gstclockoverlay.c: Fix unused variable warning if HAVE_LOCALTIME_R is undefinied
	  Original commit message from CVS:
	  Patch by: Vincent Torri <vtorri at univ-evry dot fr>
	  * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time):
	  Fix unused variable warning if HAVE_LOCALTIME_R is undefinied
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  * gst/audioresample/gstaudioresample.c: (audioresample_do_output):
	  Use the correct format strings for integer formats.

2007-04-16 21:44:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-plugins-base.doap:
	  fix release date
	  Original commit message from CVS:
	  fix release date

2007-04-16 21:42:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-plugins-base.doap:
	  fix release date
	  Original commit message from CVS:
	  fix release date

2007-04-15 14:35:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain): Don't use pad_alloc_buffer_and_set_caps to crea...
	  Original commit message from CVS:
	  * ext/theora/theoraenc.c (theora_buffer_from_packet, theora_enc_chain):
	  Don't use pad_alloc_buffer_and_set_caps to create a small header
	  packet, or, worse, to create a big temporary video buffer using the
	  src pad.

2007-04-14 12:34:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/gdp/gstgdppay.c (gst_gdp_pay_chain): tests/check/pipelines/streamheader.c (tag_event_probe_cb,
	  Original commit message from CVS:
	  * gst/gdp/gstgdppay.c (gst_gdp_pay_chain):
	  * tests/check/pipelines/streamheader.c (tag_event_probe_cb,
	  GST_START_TEST, buffer_probe_cb, GST_START_TEST):
	  Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.

2007-04-13 22:10:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  add debug
	  Original commit message from CVS:
	  add debug

2007-04-13 21:55:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* tests/check/pipelines/streamheader.c:
	  tests/check/pipelines/streamheader.c (tag_event_probe_cb,
	  Original commit message from CVS:
	  * tests/check/pipelines/streamheader.c (tag_event_probe_cb,
	  GST_START_TEST, n_in_caps, buffer_probe_cb, GST_START_TEST,
	  streamheader_suite):
	  Add another test set up for failure

2007-04-13 21:09:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	* gst/gdp/gstgdpdepay.c:
	  debug changes
	  Original commit message from CVS:
	  debug changes

2007-04-13 21:08:11 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/Makefile.am: tests/check/pipelines/streamheader.c (n_tags, tag_event_probe_cb,
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/streamheader.c (n_tags, tag_event_probe_cb,
	  GST_START_TEST, streamheader_suite, main):
	  Add a test for the streamheader bug Wim fixed.

2007-04-13 11:42:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/theora/theoradec.c: Fix misleading comment.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_sink_event):
	  Fix misleading comment.

2007-04-13 06:17:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-media.c: More sanity checks for the header fields.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  More sanity checks for the header fields.

2007-04-12 16:36:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/tags.c: Try encodings from all environment variables, not just those in the first environment variab...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
	  Try encodings from all environment variables, not just those in the
	  first environment variable that is set.

2007-04-12 15:00:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videorate/gstvideorate.c: Add some debug.
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps),
	  (gst_video_rate_chain):
	  Add some debug.
	  * tests/check/elements/videorate.c: (GST_START_TEST),
	  (videorate_suite):
	  Added check for videorate changing caps handling. Closes #421834.

2007-04-12 12:57:33 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisdec.c: Use scale functions to avoid overflow when calculating duration of vorbis buffers.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  Use scale functions to avoid overflow when calculating duration of
	  vorbis buffers.

2007-04-12 12:19:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add gst_tag_freeform_string_to_utf8() (#405072).
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c: (gst_tag_freeform_string_to_utf8):
	  API: add gst_tag_freeform_string_to_utf8() (#405072).
	  * gst-libs/gst/tag/gstid3tag.c: (gst_tag_extract_id3v1_string):
	  Use gst_tag_freeform_string_to_utf8() here.

2007-04-12 10:38:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  log tweaking
	  Original commit message from CVS:
	  log tweaking

2007-04-12 10:03:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/gdp/gstgdppay.c: Make sure we set the IN_CAPS flag correctly.
	  Original commit message from CVS:
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_chain),
	  (gst_gdp_pay_sink_event):
	  Make sure we set the IN_CAPS flag correctly.
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
	  Get the IN_CAPS flag before we call functions that mess with the flags.

2007-04-10 20:37:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* gst/gdp/gstgdppay.c:
	  gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader, gst_gdp_pay_chain, gst_gdp_pay_sink_event):
	  Original commit message from CVS:
	  * gst/gdp/gstgdppay.c (gst_gdp_pay_reset_streamheader,
	  gst_gdp_pay_chain, gst_gdp_pay_sink_event):
	  Only stamp buffers with offset/offset_end right before they get
	  pushed.  This ensures offset continuity, which was not the case
	  before as shown by
	  gst-launch -v -m audiotestsrc num-buffers=10 ! audioconvert ! vorbisenc ! gdppay ! identity check-imperfect-offset=TRUE ! fakesink silent=TRUE

2007-04-10 20:25:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.c:
	  adding debugging
	  Original commit message from CVS:
	  adding debugging

2007-04-10 11:23:18 +0000  Christian Schaller <uraeus@gnome.org>

	* common:
	* gst-plugins-base.spec.in:
	  update spec file for RTP changes
	  Original commit message from CVS:
	  update spec file for RTP changes

2007-04-06 12:58:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin.c: Activate sync in playbin, we are ready to handle it for live streams.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (add_sink),
	  (gst_play_bin_change_state):
	  Activate sync in playbin, we are ready to handle it for live streams.

2007-04-06 09:56:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/playbin.c: Add small test for stream-info-value-array code paths.
	  Original commit message from CVS:
	  * tests/check/elements/playbin.c:
	  (test_sink_usage_video_only_stream), (playbin_suite):
	  Add small test for stream-info-value-array code paths.

2007-04-05 15:44:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to create invalid calibration parameters by making the internal time...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_skew_slaving):
	  Don't try to create invalid calibration parameters by making the
	  internal time go backwards, instead make external time go forward.

2007-04-05 10:27:06 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  gst/playback/gstplaybasebin.c: Fix leak in add_stream(), when g_value_set_object() increases the refcount of streamin...
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * gst/playback/gstplaybasebin.c: (add_stream):
	  Fix leak in add_stream(), when g_value_set_object() increases the
	  refcount of streaminfo object. Fixes #426250.

2007-04-04 02:45:03 +0000  David Schleef <ds@schleef.org>

	  gst/videotestsrc/: Add a test pattern called "circular", which has concentric rings with varying radial frequency.  T...
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/videotestsrc/videotestsrc.c:
	  * gst/videotestsrc/videotestsrc.h:
	  Add a test pattern called "circular", which has concentric
	  rings with varying radial frequency.  The main purpose of this
	  pattern is to test fidelity loss in a filter or scaler element.
	  Notably, this pattern is scale invariant, and is optimally viewed
	  with a width (and height) of 400.

2007-04-03 11:10:52 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  gst/playback/gstdecodebin2.c: Decodebin2 doesn't unref pads it obtains in some occasions:
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
	  * gst/playback/gstdecodebin2.c: (connect_pad), (expose_pad),
	  (deactivate_free_recursive):
	  Decodebin2 doesn't unref pads it obtains in some occasions:
	  - multiqueue src pads, when either connecting further or exposing
	  - sink pads of new autoplugged elements
	  - peer pads when recursively freeing elements
	  Fixes #425455.

2007-03-30 17:05:23 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: Add audio/x-raw-float support, now that audioconvert support non-native endianness fl...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Add audio/x-raw-float support, now that audioconvert support
	  non-native endianness floats.

2007-03-30 15:00:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/libs/gst-plugins-base-libs-docs.sgml: gstreamer-plugins-base.pc doesn't exist, it's gstreamer-plugins-base-0.10.pc.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  gstreamer-plugins-base.pc doesn't exist, it's
	  gstreamer-plugins-base-0.10.pc.

2007-03-29 18:42:34 +0000  René Stadler <mail@renestadler.de>

	  with some minor changes
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler dot de>
	  with some minor changes
	  * gst-libs/gst/floatcast/floatcast.h:
	  Use more efficient float endianness conversion functions that don't
	  involve 2 function calls per value.
	  * gst/audioconvert/audioconvert.c: (audio_convert_get_func_index),
	  (check_default), (audio_convert_prepare_context):
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_parse_caps), (make_lossless_changes):
	  Support non-native endianness floats as input and output.
	  Fixes #339838.
	  * tests/check/elements/audioconvert.c: (verify_convert),
	  (GST_START_TEST):
	  Add unit tests for the non-native endianness float conversions.

2007-03-29 16:23:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Add Private structure.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_base_init),
	  (gst_base_rtp_depayload_class_init), (gst_base_rtp_depayload_init),
	  (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_change_state),
	  (gst_base_rtp_depayload_set_property),
	  (gst_base_rtp_depayload_get_property):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Add Private structure.
	  Bring element code to 2007.
	  Parse clock-base caps param and use it when generating the
	  newsegment.
	  Reset variables before going to PAUSED.
	  Fix some docs.

2007-03-29 16:20:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Add RTCP docs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_get_adapter):
	  Add RTCP docs.
	  Fix some more docs.
	  * gst-libs/gst/rtp/Makefile.am:
	  * gst-libs/gst/rtp/gstrtcpbuffer.c:
	  (gst_rtcp_buffer_new_take_data), (gst_rtcp_buffer_new_copy_data),
	  (gst_rtcp_buffer_validate_data), (gst_rtcp_buffer_validate),
	  (gst_rtcp_buffer_get_packet_count), (read_packet_header),
	  (gst_rtcp_buffer_get_first_packet), (gst_rtcp_packet_move_to_next),
	  (gst_rtcp_buffer_add_packet), (gst_rtcp_packet_remove),
	  (gst_rtcp_packet_get_padding), (gst_rtcp_packet_get_type),
	  (gst_rtcp_packet_get_count), (gst_rtcp_packet_get_length),
	  (gst_rtcp_packet_sr_get_sender_info),
	  (gst_rtcp_packet_sr_set_sender_info),
	  (gst_rtcp_packet_rr_get_ssrc), (gst_rtcp_packet_rr_set_ssrc),
	  (gst_rtcp_packet_get_rb_count), (gst_rtcp_packet_get_rb),
	  (gst_rtcp_packet_add_rb), (gst_rtcp_packet_set_rb),
	  (gst_rtcp_packet_sdes_get_chunk_count),
	  (gst_rtcp_packet_sdes_first_chunk),
	  (gst_rtcp_packet_sdes_next_chunk), (gst_rtcp_packet_sdes_get_ssrc),
	  (gst_rtcp_packet_sdes_first_item),
	  (gst_rtcp_packet_sdes_next_item), (gst_rtcp_packet_sdes_get_item),
	  (gst_rtcp_packet_bye_get_ssrc_count),
	  (gst_rtcp_packet_bye_get_nth_ssrc), (gst_rtcp_packet_bye_add_ssrc),
	  (gst_rtcp_packet_bye_add_ssrcs), (get_reason_offset),
	  (gst_rtcp_packet_bye_get_reason_len),
	  (gst_rtcp_packet_bye_get_reason), (gst_rtcp_packet_bye_set_reason):
	  * gst-libs/gst/rtp/gstrtcpbuffer.h:
	  Add new helper object for parsing and creating RTCP messages.

2007-03-29 12:07:02 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst-libs/gst/riff/riff-media.c: PCM samples with width=8 must be always unsigned, no matter what depth they have.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  PCM samples with width=8 must be always unsigned, no matter what
	  depth they have.

2007-03-29 11:24:47 +0000  Andy Wingo <wingo@pobox.com>

	  gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Make perfect offsets also, not just timestamps.
	  Original commit message from CVS:
	  2007-03-29  Andy Wingo  <wingo@pobox.com>
	  * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Make
	  perfect offsets also, not just timestamps.
	  * tests/check/elements/videorate.c (test_more): Test that given
	  any incoming offsets, that videorate produces perfect offsets.

2007-03-29 10:19:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-ids.h: Add some more RIFF formats.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  Add some more RIFF formats.

2007-03-29 10:17:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.*: Fix fixed payload names and docs.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  (gst_rtp_buffer_default_clock_rate):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Fix fixed payload names and docs.
	  Added method to get the default clock rates of fixed payload types.
	  API: GstRTPBuffer::gst_rtp_buffer_default_clock_rate()

2007-03-28 15:24:40 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  tests/check/pipelines/.cvsignore: Add new vorbisdec test to cvsignore.
	  Original commit message from CVS:
	  * tests/check/pipelines/.cvsignore:
	  Add new vorbisdec test to cvsignore.

2007-03-28 14:50:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.*: Store private stuff in GstBaseAudioSinkPrivate.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c: (slave_method_get_type),
	  (gst_base_audio_sink_class_init), (gst_base_audio_sink_init),
	  (gst_base_audio_sink_query), (gst_base_audio_sink_get_time),
	  (gst_base_audio_sink_set_property),
	  (gst_base_audio_sink_get_property), (gst_base_audio_sink_event),
	  (clock_convert_external), (gst_base_audio_sink_resample_slaving),
	  (gst_base_audio_sink_skew_slaving),
	  (gst_base_audio_sink_handle_slaving), (gst_base_audio_sink_render),
	  (gst_base_audio_sink_async_play):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Store private stuff in GstBaseAudioSinkPrivate.
	  Add configurable clock slaving modes property.
	  API:: GstBaseAudioSink::slave-method property
	  Some more latency reporting tweaks.
	  Added skew based clock slaving correction and make it the default until
	  the resampling method is more robust.

2007-03-27 12:44:14 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  gst/audioconvert/audioconvert.c: Add docs to the integer pack functions and implement proper rounding. Before we had ...
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c:
	  Add docs to the integer pack functions and implement proper
	  rounding. Before we had rounding towards negative infinity, i.e.
	  always the smaller number was taken. Now we use natural rounding,
	  i.e. rounding to the nearest integer and to the one with the largest
	  absolute value for X.5. The old rounding introduced some minor
	  distortions. Fixes #420079
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Fix one unit test that assumed the old rounding and added unit tests
	  for checking signed/unsigned int16 <-> signed/unsigned int16 with
	  depth 8, one for signed int16 <-> unsigned int16 and one for the new
	  rounding from signed int32 to signed/unsigned int16.

2007-03-27 11:31:17 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/gstaudioconvert.c: Fix typo in debug line introduced recently, as pointed out on irc.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (strip_width_64),
	  (gst_audio_convert_transform_caps):
	  Fix typo in debug line introduced recently, as pointed out on irc.

2007-03-27 10:17:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Make sure we parse floating-point numbers in vorbis comments correctly with either '.' or ',' as separator, no matter...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Make sure we parse floating-point numbers in vorbis comments
	  correctly with either '.' or ',' as separator, no matter what
	  the current locale is. Add unit test for this too.

2007-03-27 09:37:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/pipelines/vorbisdec.c:
	  commit new file
	  Original commit message from CVS:
	  commit new file

2007-03-26 22:38:19 +0000  René Stadler <mail@renestadler.de>

	  gst-libs/gst/tag/gstvorbistag.c: When writing out floating-point numbers to vorbis comment tags, always use the same ...
	  Original commit message from CVS:
	  Patch by: René Stadler  <mail at renestadler de>
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_to_vorbis_comments):
	  When writing out floating-point numbers to vorbis comment tags, always
	  use the same character as separator no matter what the current locale is
	  (fixes #423051).
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Add unit tests for replaygain tags in vorbis comments (closes #423055).

2007-03-26 20:56:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/vorbis/vorbisdec.c (vorbis_dec_push_forward, vorbis_handle_data_packet):
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c (vorbis_dec_push_forward,
	  vorbis_handle_data_packet):
	  Correctly set DURATION to generate a timestamp-continuous stream.
	  One bug left at the end; see
	  ihttp://bugzilla.gnome.org/show_bug.cgi?id=423086
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/vorbisenc.c (GST_START_TEST):
	  Add a test to check this.  Without the above patch this test fails.

2007-03-26 11:44:07 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/rtp/Makefile.am: The base audio payloader uses GstAdapter - we need GST_BASE_LIBS.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/Makefile.am:
	  The base audio payloader uses GstAdapter - we need GST_BASE_LIBS.

2007-03-23 15:43:24 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update spec file
	  Original commit message from CVS:
	  update spec file

2007-03-23 12:32:33 +0000  Michael Smith <msmith@xiph.org>

	  gst/videorate/gstvideorate.c: If videorate changes caps, we can no longer use the old buffer (which may have a differ...
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps),
	  (gst_video_rate_reset), (gst_video_rate_chain):
	  If videorate changes caps, we can no longer use the old buffer
	  (which may have a different size, incompatible with our caps).
	  So don't do that; just duplicate the new frame more times.

2007-03-22 17:43:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybin.c: Remove playbin's override of the set_clock vmethod. It's irrelevant after Wim's commit on ...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init):
	  Remove playbin's override of the set_clock vmethod. It's irrelevant
	  after Wim's commit on the 19th.

2007-03-22 14:37:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst-libs/gst/app/Makefile.am: Use GST_ALL_LDFLAGS, which actually exists, but maybe David can confirm that was what h...
	  Original commit message from CVS:
	  * gst-libs/gst/app/Makefile.am:
	  Use GST_ALL_LDFLAGS, which actually exists, but maybe David
	  can confirm that was what he wanted.

2007-03-22 09:26:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/gnomevfs/gstgnomevfssrc.*: Don't cache file sizes. Fixes #341078.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_get_size),
	  (gst_gnome_vfs_src_start), (gst_gnome_vfs_src_stop):
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  Don't cache file sizes. Fixes #341078.

2007-03-21 11:03:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Use GST_PTR_FORMAT to log caps.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (add_sink):
	  Use GST_PTR_FORMAT to log caps.

2007-03-21 10:23:11 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: Special-case some more colour names that pango doesn't handle by default. Fixes #420578.
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian net>
	  * gst/subparse/samiparse.c: (handle_start_font):
	  Special-case some more colour names that pango doesn't handle by
	  default. Fixes #420578.

2007-03-20 11:49:55 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.c: If we get a zero-sized input buffer, don't pass it to libvorbis, as that marks EOS internally...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
	  If we get a zero-sized input buffer, don't pass it to libvorbis, as
	  that marks EOS internally. After that, libvorbis will buffer all
	  input data, and encode none of it, eventually leading to memory
	  exhaustion.

2007-03-19 10:52:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Don't post STATE_DIRTY anymore.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (remove_fakesink):
	  Don't post STATE_DIRTY anymore.
	  * gst/playback/gstplaybin.c: (add_sink), (gst_play_bin_send_event),
	  (gst_play_bin_change_state):
	  Remove stream_time reset in seek handling, core does that now.
	  Disable clocking for live pipelines by forcing a NULL clock to the
	  complete pipeline, core is too smart now for our previous hack.
	  We can always autoplug in PAUSED now.

2007-03-18 03:14:01 +0000  David Schleef <ds@schleef.org>

	  REQUIREMENTS: Update this file, change the formatting to make it more consistent, plus more machine readable.
	  Original commit message from CVS:
	  * REQUIREMENTS:  Update this file, change the formatting to make
	  it more consistent, plus more machine readable.

2007-03-16 17:29:09 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/gstaudioconvert.c: Previous fix was too simplistic, and broke the tests. Use a better approach; only...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
	  (strip_width_64), (append_with_other_format):
	  Previous fix was too simplistic, and broke the tests. Use a better
	  approach; only strip 64 from widths for integer audio.

2007-03-16 16:42:23 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/gstaudioconvert.c: We don't support 64 bit integer audio, so don't try to claim we can.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
	  (gst_audio_convert_transform_caps):
	  We don't support 64 bit integer audio, so don't try to claim we can.
	  Stops us producing caps don't match our template caps.
	  Update comments.

2007-03-15 10:52:21 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioresample/gstaudioresample.c: Don't trigger discontinuities for very small imperfections; a filter flush will...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  (audioresample_check_discont), (audioresample_transform):
	  Don't trigger discontinuities for very small imperfections; a filter
	  flush will sound bad, and many plugins have rounding errors leading
	  to these.

2007-03-14 21:11:18 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.*: olivier.crete@collabora.co.uk.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  Add min-ptime property to RTP base audio payloader. Patch by
	  olivier.crete@collabora.co.uk.
	  Fixes #415001
	  Indentation/whitespace/documentation fixes.

2007-03-14 17:16:30 +0000  Julien Moutte <julien@moutte.net>

	  gst/audioresample/gstaudioresample.c: Handle discontinuous streams.
	  Original commit message from CVS:
	  2007-03-14  Julien MOUTTE  <julien@moutte.net>
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
	  (audioresample_transform_size), (audioresample_do_output),
	  (audioresample_transform), (audioresample_pushthrough): Handle
	  discontinuous streams.
	  * gst/audioresample/gstaudioresample.h:
	  * tests/check/elements/audioresample.c:
	  (test_discont_stream_instance), (GST_START_TEST),
	  (audioresample_suite): Add a test for discontinuous streams.
	  * win32/common/config.h: Updated.

2007-03-14 15:16:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  po/: Update translations from translation project.
	  Original commit message from CVS:
	  * po/af.po:
	  * po/az.po:
	  * po/cs.po:
	  * po/en_GB.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 translations from translation project.

2007-03-14 15:05:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/gstgdpdepay.c:
	  add buffer logging
	  Original commit message from CVS:
	  add buffer logging

2007-03-14 14:48:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/audioresample/: Since I really am not interested in a debug line for each sample being processed, move the librar...
	  Original commit message from CVS:
	  * gst/audioresample/debug.h:
	  * gst/audioresample/resample.c: (resample_init):
	  Since I really am not interested in a debug line for each sample
	  being processed, move the library's debugging to its own category,
	  libaudioresample

2007-03-14 14:09:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/audioresample/gstaudioresample.c:
	  add debugging and reformat docs
	  Original commit message from CVS:
	  add debugging and reformat docs

2007-03-12 23:29:07 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Since the plugin doesn't support anything other than 4:2:0 right now, post an error and fail ...
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_handle_type_packet):
	  Since the plugin doesn't support anything other than 4:2:0 right
	  now, post an error and fail if we get something else. Won't matter
	  until libtheora supports the other pixel formats, but hopefully
	  that'll be soon...

2007-03-12 15:50:35 +0000  Alex Lancaster <alexlan@fedoraproject.org>

	* ChangeLog:
	  I'm too lazy to comment this
	  Original commit message from CVS:
	  Mention Patch by: Alex Lancaster in a recent commit.

2007-03-12 11:47:42 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  examples/app/.cvsignore: The buildbot demands .cvsignore files, and I comply.
	  Original commit message from CVS:
	  * examples/app/.cvsignore:
	  The buildbot demands .cvsignore files, and I comply.

2007-03-11 00:48:26 +0000  David Schleef <ds@schleef.org>

	  Add appsrc/appsink example.
	  Original commit message from CVS:
	  * configure.ac:
	  * examples/Makefile.am:
	  * examples/app/Makefile.am:
	  * examples/app/appsrc_ex.c:
	  Add appsrc/appsink example.
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/app/gstapp.c:
	  * gst-libs/gst/app/gstappsink.c:
	  * gst-libs/gst/app/gstappsink.h:
	  * gst/app/gstapp.c:
	  Add appsink.

2007-03-10 15:59:33 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Use gst_guint64_to_gdouble for conversion.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:(gst_base_audio_sink_render):
	  Use gst_guint64_to_gdouble for conversion.
	  * win32/MANIFEST:
	  Add new files to the win32 MANIFEST.
	  * win32/common/libgstaudio.def:
	  * win32/common/libgstpbutils.def:
	  Add new exported functions.
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstdecodebin.dsp:
	  * win32/vs6/libgstplaybin.dsp:
	  Change the link to libgstpbutils.lib.
	  * win32/vs6/libgstdecodebin2.dsp:
	  Add a new project for decodebin2.
	  * win32/vs6/libgstpbutils.dsp:
	  Add a new project for pbutils.

2007-03-10 12:18:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Also accept partial dates with only year and month, like 1999-12-00 (fixes #410396 e...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  Also accept partial dates with only year and month,
	  like 1999-12-00 (fixes #410396 even more).
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Add unit test for the above.

2007-03-10 11:21:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/subparse.c: Add unit test for MPL2 subtitle format (#413799).
	  Original commit message from CVS:
	  * tests/check/elements/subparse.c: (GST_START_TEST),
	  (subparse_suite):
	  Add unit test for MPL2 subtitle format (#413799).

2007-03-10 11:17:52 +0000  Kamil Pawlowski <kamilpe@gmail.com>

	  gst/subparse/: Add support for MPL2 subtitle format (#413799).
	  Original commit message from CVS:
	  Patch by: Kamil Pawlowski  <kamilpe gmail com>
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect),
	  (gst_sub_parse_format_autodetect), (gst_sub_parse_sink_event),
	  (gst_subparse_type_find):
	  * gst/subparse/gstsubparse.h:
	  * gst/subparse/mpl2parse.c: (mpl2_parse_line), (parse_mpl2):
	  * gst/subparse/mpl2parse.h:
	  Add support for MPL2 subtitle format (#413799).

2007-03-09 17:33:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: We require core CVS for the new buffer metadata copy functions.
	  Original commit message from CVS:
	  * configure.ac:
	  We require core CVS for the new buffer metadata copy functions.

2007-03-09 16:51:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/tag/gstid3tag.c: Add read support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Add read support for GST_TAG_MUSICBRAINZ_SORTNAME (TSOP) tag.
	  Fixes #414496.

2007-03-09 16:46:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: Improve adapter usage and comments.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_sink_setcaps),
	  (gst_vis_src_negotiate), (get_buffer), (gst_visual_chain):
	  Improve adapter usage and comments.

2007-03-09 16:38:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Use new metadata copy function.
	  Original commit message from CVS:
	  * ext/pango/gsttextrender.c: (gst_text_render_chain):
	  * ext/vorbis/vorbistag.c: (gst_vorbis_tag_parse_packet):
	  * gst-libs/gst/netbuffer/gstnetbuffer.c: (gst_netbuffer_copy):
	  Use new metadata copy function.
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_transform):
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform):
	  Basetransform copied the metadata for us.

2007-03-09 16:28:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Some more logging. Only accept newsegment events in TIME format and send a WARNING messag...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
	  (gst_text_overlay_video_event):
	  Some more logging. Only accept newsegment events in TIME format and
	  send a WARNING message if they are not in TIME format.
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (gst_sub_parse_init), (gst_sub_parse_src_event), (handle_buffer),
	  (gst_sub_parse_chain), (gst_sub_parse_sink_event):
	  * gst/subparse/gstsubparse.h:
	  No need to allocate GstSegment structure dynamically, just put it
	  into the instance structure; ignore newsegment events in BYTE
	  format and in particular don't let it overwrite our saved TIME
	  segment from the last seek.

2007-03-09 13:05:04 +0000  Michael Smith <msmith@xiph.org>

	  gst/typefind/gsttypefindfunctions.c: Replace AC3 typefinder with one that isn't terrible, and actually works usefully.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (ac3_type_find):
	  Replace AC3 typefinder with one that isn't terrible, and actually
	  works usefully.

2007-03-09 12:22:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/audioconvert/gstaudioconvert.c: fix error category and translatable string
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_transform):
	  fix error category and translatable string

2007-03-09 11:23:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  pkgconfig/: Fix up utils => pbutils here too.
	  Original commit message from CVS:
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  * pkgconfig/gstreamer-plugins-base.pc.in:
	  Fix up utils => pbutils here too.

2007-03-09 10:49:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Break out of loop in chain function as soon as possible if we get a non-OK flow return.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (handle_buffer):
	  Break out of loop in chain function as soon as possible if we get
	  a non-OK flow return.

2007-03-08 18:26:07 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/elements/alsa.c: Unref the mixer if the state change fails too (if the alsa devices are inaccessible, for...
	  Original commit message from CVS:
	  * tests/check/elements/alsa.c: (GST_START_TEST):
	  Unref the mixer if the state change fails too (if the
	  alsa devices are inaccessible, for example)

2007-03-08 17:49:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/Makefile.am: Don't test libvisual elements in the states check, because libvisual seems to leak internally.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Don't test libvisual elements in the states check, because libvisual
	  seems to leak internally.
	  Re-enable the alsa and states tests now that there's new suppressions
	  in gst.supp.
	  * tests/check/elements/alsa.c: (GST_START_TEST):
	  Don't leak the alsamixer we instantiated.

2007-03-08 15:22:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: Move some cleanup stuff from the state change handler into a _reset() function that can be called from _finaliz...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_xcontext_clear),
	  (gst_ximagesink_change_state), (gst_ximagesink_reset),
	  (gst_ximagesink_finalize):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state),
	  (gst_xvimagesink_reset), (gst_xvimagesink_finalize):
	  Move some cleanup stuff from the state change handler into a _reset()
	  function that can be called from _finalize(). This ensures that things
	  get freed even if (for some reason) the NULL->READY state transition
	  fails in the parent class.
	  Even if a parent state change fails, process our downward state change
	  logic instead of bailing out early.
	  Free the correct xcontext pointer in ximagesink's xcontext_clear.

2007-03-08 12:53:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/alsa/gstalsasink.c: Extra log line.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_open):
	  Extra log line.
	  * ext/pango/gstclockoverlay.c: (gst_clock_overlay_init):
	  * ext/pango/gsttimeoverlay.c: (gst_time_overlay_init):
	  Use pango_font_description_set_family_static instead of
	  pango_font_description_set_family to save a string copy (it was
	  leaking due to the strdup anyway)
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_finalize):
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_finalize):
	  * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_finalize):
	  * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_finalize):
	  Chain up in finalize.

2007-03-07 18:50:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixertrack.c: API: add "untranslated-label" property which should be set by implementations a...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixertrack.c:
	  (gst_mixer_track_class_init), (gst_mixer_track_get_property),
	  (gst_mixer_track_set_property):
	  API: add "untranslated-label" property which should be set by
	  implementations at construct time (#414645).
	  * ext/alsa/gstalsamixeroptions.c: (gst_alsa_mixer_options_new):
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
	  Set "untranslated-label" when constructing mixer track objects.
	  * tests/check/elements/alsa.c: (GST_START_TEST), (alsa_suite):
	  Unit test to check the above.

2007-03-07 17:15:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Fix confusing debug message.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain):
	  Fix confusing debug message.

2007-03-07 17:12:54 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-plugins-base.doap: update doap file with new version
	  Original commit message from CVS:
	  * gst-plugins-base.doap:
	  update doap file with new version

2007-03-07 17:05:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  update docs
	  Original commit message from CVS:
	  update docs

2007-03-07 16:56:01 +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.12 ===

2007-03-07 16:46:51 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-decodebin2.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/config.h:
	  Release 0.10.12
	  Original commit message from CVS:
	  Release 0.10.12

2007-03-07 15:35:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* common:
	* po/af.po:
	* po/az.po:
	* po/cs.po:
	* po/de.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-03-06 12:31:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Bump version to 0.10.11.4 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  Bump version to 0.10.11.4 pre-release

2007-03-06 12:10:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Fix regression that made GStreamer skip the first samples of audio.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_async_play):
	  Fix regression that made GStreamer skip the first samples of audio.
	  Fixes #414684.

2007-03-05 11:21:13 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Bump version to 0.10.11.3 pre-release
	  Original commit message from CVS:
	  * configure.ac:
	  Bump version to 0.10.11.3 pre-release

2007-03-05 09:35:29 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  po/POTFILES.in: Update paths for the rename from utils to pbutils to fix the build.
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  Update paths for the rename from utils to pbutils to fix the build.

2007-03-05 09:27:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/pbutils/Makefile.am: Change directory to install headers in from gst/utils to gst/pbutils as well.
	  Original commit message from CVS:
	  * gst-libs/gst/pbutils/Makefile.am:
	  Change directory to install headers in from gst/utils to gst/pbutils
	  as well.

2007-03-04 23:41:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/libs/.gitignore:
	  moap ignore
	  Original commit message from CVS:
	  moap ignore

2007-03-04 23:41:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* win32/common/config.h:
	* win32/common/libgstutils.def:
	  update defs
	  Original commit message from CVS:
	  update defs

2007-03-04 23:39:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  rename utils to pbutils
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/interfaces/mixer.c:
	  * gst-libs/gst/pbutils/Makefile.am:
	  * gst-libs/gst/pbutils/descriptions.c:
	  (gst_pb_utils_get_source_description),
	  (gst_pb_utils_get_sink_description),
	  (gst_pb_utils_get_decoder_description),
	  (gst_pb_utils_get_encoder_description),
	  (gst_pb_utils_get_element_description),
	  (gst_pb_utils_add_codec_description_to_tag_list),
	  (gst_pb_utils_get_codec_description), (gst_pb_utils_list_all):
	  * gst-libs/gst/pbutils/descriptions.h:
	  * gst-libs/gst/pbutils/install-plugins.c:
	  * gst-libs/gst/pbutils/install-plugins.h:
	  * gst-libs/gst/pbutils/missing-plugins.c:
	  (gst_missing_uri_source_message_new),
	  (gst_missing_uri_sink_message_new),
	  (gst_missing_element_message_new),
	  (gst_missing_decoder_message_new),
	  (gst_missing_encoder_message_new),
	  (gst_missing_plugin_message_get_description):
	  * gst-libs/gst/pbutils/missing-plugins.h:
	  * gst-libs/gst/pbutils/pbutils.c: (gst_pb_utils_init):
	  * gst-libs/gst/pbutils/pbutils.h:
	  * gst-libs/gst/utils/Makefile.am:
	  * gst-libs/gst/utils/base-utils.c:
	  * gst-libs/gst/utils/base-utils.h:
	  * gst-libs/gst/utils/descriptions.c:
	  * gst-libs/gst/utils/descriptions.h:
	  * gst-libs/gst/utils/install-plugins.c:
	  * gst-libs/gst/utils/install-plugins.h:
	  * gst-libs/gst/utils/missing-plugins.c:
	  * gst-libs/gst/utils/missing-plugins.h:
	  * gst-plugins-base.spec.in:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstdecodebin2.c:
	  * gst/playback/gstplaybasebin.c: (setup_subtitle),
	  (gen_source_element):
	  * gst/playback/gstplaybin.c: (plugin_init):
	  * tests/check/Makefile.am:
	  * tests/check/libs/pbutils.c: (GST_START_TEST),
	  (test_pb_utils_install_plugins_do_callout), (libgstpbutils_suite):
	  * tests/check/libs/utils.c:
	  rename utils to pbutils

2007-03-03 10:23:03 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/app/Makefile.am: Install the headers.
	  Original commit message from CVS:
	  * gst-libs/gst/app/Makefile.am:
	  Install the headers.

2007-03-03 10:10:30 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/app/: Add GstAppBuffer that includes a callback and closure for proper handling of data chunks.
	  Original commit message from CVS:
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/app/gstappbuffer.c:
	  * gst-libs/gst/app/gstappbuffer.h:
	  * gst-libs/gst/app/gstappsrc.c:
	  Add GstAppBuffer that includes a callback and closure for
	  proper handling of data chunks.

2007-03-03 09:06:06 +0000  David Schleef <ds@schleef.org>

	  gst-libs/gst/app/gstappsrc.*: Hacking to address issues in 413418.
	  Original commit message from CVS:
	  * gst-libs/gst/app/gstappsrc.c:
	  * gst-libs/gst/app/gstappsrc.h:
	  Hacking to address issues in 413418.

2007-03-03 08:16:57 +0000  David Schleef <ds@schleef.org>

	  Move the app library to gst-libs/gst/app (duh!)
	  Original commit message from CVS:
	  * Makefile.am:
	  * configure.ac:
	  * ext/Makefile.am:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/app/Makefile.am:
	  * gst-libs/gst/app/gstapp.c:
	  * gst-libs/gst/app/gstappsrc.c:
	  * gst-libs/gst/app/gstappsrc.h:
	  * gst/app/Makefile.am:
	  * gst/app/gstapp.c:
	  * gst/app/gstappsrc.c:
	  * gst/app/gstappsrc.h:
	  Move the app library to gst-libs/gst/app (duh!)

2007-03-02 12:59:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add documentation for decodebin2 that indicates that the API is still unstable.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-decodebin2.xml:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_class_init):
	  Add documentation for decodebin2 that indicates that the API
	  is still unstable.

2007-03-01 18:50:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Update to 0.10.11.2 (0.10.12 pre-release)
	  Original commit message from CVS:
	  * configure.ac:
	  Update to 0.10.11.2 (0.10.12 pre-release)

2007-03-01 17:29:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: base time is irrelevant here.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_async_play):
	  base time is irrelevant here.

2007-03-01 17:01:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/: Improve debugging.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
	  * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
	  Improve debugging.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_query), (gst_base_audio_sink_event),
	  (gst_base_audio_sink_render), (gst_base_audio_sink_async_play):
	  Improve latency and clock slaving calculations.
	  Improve slave clock calibration.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_commit_full):
	  When we are asked to render N sample to 0 bytes, return N.

2007-03-01 16:48:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.*: Remove unused dispose function.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
	  (gst_alsasink_write), (gst_alsasink_reset):
	  * ext/alsa/gstalsasink.h:
	  Remove unused dispose function.
	  Rename lock to not interfere with alsasrc lock.
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_finalize),
	  (gst_alsasrc_class_init), (gst_alsasrc_init), (set_swparams),
	  (gst_alsasrc_read), (gst_alsasrc_reset):
	  * ext/alsa/gstalsasrc.h:
	  Implement finalize function.
	  Use lock to protect alsa access.
	  Implement _reset.
	  Fine tune sw params.

2007-03-01 10:20:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* configure.ac:
	  typo
	  Original commit message from CVS:
	  typo

2007-02-28 19:27:28 +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 15:17:20 +0000  Ed Catmur <ed@catmur.co.uk>

	  gst/playback/gstplaybin.c: Fix race condition when rapidly switching visualisations in playbin.
	  Original commit message from CVS:
	  Patch by: Ed Catmur <ed at catmur dot co dot uk>
	  * gst/playback/gstplaybin.c: (gst_play_bin_vis_unblocked),
	  (gst_play_bin_vis_blocked), (gst_play_bin_set_property):
	  Fix race condition when rapidly switching visualisations in playbin.
	  Fixes #401029.

2007-02-28 15:11:59 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/Makefile.am: Include local stuff before system installed things in LDFLAGS and
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Include local stuff before system installed things in LDFLAGS and
	  CFLAGS.

2007-02-28 15:10:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Improve debugging.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_sink_activate):
	  Improve debugging.

2007-02-28 15:05:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/v4l/: Fix duration and timestamping, taking latency into account.
	  Original commit message from CVS:
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_class_init), (gst_v4lsrc_init),
	  (gst_v4lsrc_fixate), (gst_v4lsrc_query):
	  * sys/v4l/v4lsrc_calls.c: (gst_v4lsrc_buffer_new):
	  Fix duration and timestamping, taking latency into account.
	  Implement latency query.

2007-02-28 15:02:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudioclock.c: Fix clock name.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_init),
	  (gst_audio_clock_new):
	  Fix clock name.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_init), (gst_base_audio_sink_query):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
	  (gst_base_audio_src_query), (gst_base_audio_src_get_offset),
	  (gst_base_audio_src_create):
	  Improve latency query code.
	  Use proper clock names.

2007-02-28 12:57:46 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/generic/states.c:
	  plug test leak
	  Original commit message from CVS:
	  plug test leak

2007-02-28 12:44:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/generic/states.c: Copy the states.c test from core again
	  Original commit message from CVS:
	  * tests/check/generic/states.c: (GST_START_TEST):
	  Copy the states.c test from core again
	  * tests/check/Makefile.am:
	  ignore cdio and cdparanoiasrc

2007-02-28 12:08:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/audioconvert.c: Also make valgrind happy and avoid copying data in some cases.
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
	  (double_hq), (audio_convert_get_func_index), (check_default),
	  (audio_convert_prepare_context), (audio_convert_convert):
	  Also make valgrind happy and avoid copying data in some cases.

2007-02-28 11:58:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/generic/states.c:
	  use a macro
	  Original commit message from CVS:
	  use a macro

2007-02-28 11:47:45 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Don't run inplace if that overwrites source data as we go. Add more tests. Fixes #339837 even more.
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
	  (double_hq), (audio_convert_get_func_index),
	  (audio_convert_prepare_context), (audio_convert_convert):
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_class_init), (gst_audio_convert_get_unit_size),
	  (gst_audio_convert_transform_caps):
	  * tests/check/elements/audioconvert.c: (GST_START_TEST),
	  (audioconvert_suite):
	  Don't run inplace if that overwrites source data as we go. Add more
	  tests. Fixes #339837 even more.

2007-02-27 18:45:37 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Fix various seeking bugs (Slider was not updating when doing a non flushing seek, Reverse...
	  Original commit message from CVS:
	  2007-02-27  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (do_seek), (set_update_scale),
	  (msg_segment_done): Fix various seeking bugs (Slider was not
	  updating when doing a non flushing seek, Reverse playback
	  on segment seek was wrong).

2007-02-26 21:01:03 +0000  David Schleef <ds@schleef.org>

	  Add a new plugin/library to make it easy for apps to shove data into a pipeline.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/app/Makefile.am:
	  * gst/app/gstapp.c:
	  * gst/app/gstappsrc.c:
	  * gst/app/gstappsrc.h:
	  Add a new plugin/library to make it easy for apps to shove
	  data into a pipeline.

2007-02-26 11:48:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: When we stop scrubbing, don't leave the pipeline PLAYING when we requested a PAUSED state.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (stop_seek):
	  When we stop scrubbing, don't leave the pipeline PLAYING when we
	  requested a PAUSED state.

2007-02-25 23:51:03 +0000  René Stadler <mail@renestadler.de>

	  gst-libs/gst/tag/gstvorbistag.c: Parse date strings in vorbis comments that have an invalid (zero) month or day (#410...
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler de>
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  Parse date strings in vorbis comments that have an invalid (zero)
	  month or day (#410396).
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Test case for the above.

2007-02-24 20:12:49 +0000  Loïc Minier <lool+gnome@via.ecp.fr>

	  Fix compilation with LDFLAGS='-Wl,-z,defs' (#410963).
	  Original commit message from CVS:
	  Patch by: Loïc Minier <lool+gnome at via ecp fr>
	  * configure.ac:
	  * ext/alsa/Makefile.am:
	  * gst/audiotestsrc/Makefile.am:
	  Fix compilation with LDFLAGS='-Wl,-z,defs' (#410963).

2007-02-23 18:49:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Improve docs: point out that the application needs to assist playbin with buffering.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c:
	  Improve docs: point out that the application needs to assist playbin
	  with buffering.

2007-02-23 13:10:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Change GStreamer marker prefix in detail string from 'gstreamer.net' to just 'gstreamer'. Document the caps string co...
	  Original commit message from CVS:
	  * gst-libs/gst/utils/install-plugins.c:
	  * gst-libs/gst/utils/missing-plugins.c:
	  * tests/check/libs/utils.c: (missing_msg_check_getters):
	  Change GStreamer marker prefix in detail string from 'gstreamer.net'
	  to just 'gstreamer'. Document the caps string component of the
	  decoder/encoder detail a bit better, since not everyone will be
	  familiar with the GStreamer media type/caps system (but they better
	  enjoy nested itemized lists).

2007-02-22 12:57:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/netbuffer/gstnetbuffer.c: Fix copying of GstNetBuffer (would crash before, or at least lead to invalid m...
	  Original commit message from CVS:
	  * gst-libs/gst/netbuffer/gstnetbuffer.c:
	  (notgst_buffer_copy_fields_in_place), (gst_netbuffer_copy):
	  Fix copying of GstNetBuffer (would crash before, or at least lead to
	  invalid memory access, #410772), for now by copying the GstBuffer copy
	  code from the core over here so we can copy the GstBuffer fields on a
	  provided buffer instance (of type GstNetBuffer in this case). Would be
	  better to fix this with some support by the core though (and in the long
	  run change the broken GstBuffer/GstMiniObject copy semantics, #393099).
	  * tests/check/Makefile.am:
	  Enable unit test for GstNetBuffer.

2007-02-22 11:04:10 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  Original commit message from CVS:
	  2007-02-22  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_init): Disable pull-mode activation until we
	  figure out how to make audio sinks go to PLAYING.

2007-02-22 09:04:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add float as an intermediate format, as well as float mixing. Enable test that was failing before. Fixes #339837
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float), (double), (float_hq),
	  (double_hq), (audio_convert_get_func_index),
	  (audio_convert_prepare_context), (audio_convert_convert):
	  * gst/audioconvert/audioconvert.h:
	  * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_setup_matrix),
	  (gst_channel_mix_mix_int), (gst_channel_mix_mix_float):
	  * gst/audioconvert/gstchannelmix.h:
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Add float as an intermediate format, as well as float mixing. Enable
	  test that was failing before. Fixes #339837

2007-02-21 16:12:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/examples/seek/seek.c: Undo the previous commit: -1 as a stop time implies that the stop time is the end of file...
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (do_seek):
	  Undo the previous commit: -1 as a stop time implies that the stop
	  time is the end of file, clearing any previously configured segment.

2007-02-21 15:36:26 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/examples/seek/seek.c: Don't SEEK_SET with a stop time of -1, use SEEK_NONE instead.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (do_seek):
	  Don't SEEK_SET with a stop time of -1, use SEEK_NONE instead.

2007-02-21 13:55:54 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/volume/gstvolume.c: Unbreak volume, value remains gint.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_process_int16),
	  (volume_process_int16_clamp), (volume_set_caps):
	  Unbreak volume, value remains gint.

2007-02-21 13:08:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/volume/gstvolume.*: Extend float audio support (double) and some int->uint cleanups.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (volume_update_real_volume), (gst_volume_set_volume),
	  (gst_volume_init), (volume_process_double), (volume_process_float),
	  (volume_process_int16), (volume_process_int16_clamp),
	  (volume_set_caps), (volume_transform_ip), (volume_update_volume):
	  * gst/volume/gstvolume.h:
	  Extend float audio support (double) and some int->uint cleanups.

2007-02-20 15:44:32 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin2.c: Don't free groups from the streaming threads. Just put them aside and free them in disp...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose),
	  (multi_queue_underrun_cb), (gst_decode_group_check_if_drained),
	  (sort_end_pads), (gst_decode_group_expose),
	  (gst_decode_group_hide):
	  Don't free groups from the streaming threads. Just put them aside and
	  free them in dispose.

2007-02-20 11:20:52 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin2.c: Handle dynamic pads within groups.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (connect_element),
	  (pad_added_group_cb), (gst_decode_group_check_if_blocked),
	  (sort_end_pads), (gst_decode_group_expose):
	  Handle dynamic pads within groups.
	  Sort pads before exposing them in order to make playbin happy.
	  There still is a race with the multiqueue filling up. This should be
	  solved separately.
	  Fixes #398721

2007-02-18 21:02:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/utils/: Some more docs (and descriptions for two subtitle formats).
	  Original commit message from CVS:
	  * gst-libs/gst/utils/base-utils.c:
	  * gst-libs/gst/utils/descriptions.c:
	  * gst-libs/gst/utils/install-plugins.c:
	  * gst-libs/gst/utils/missing-plugins.c:
	  Some more docs (and descriptions for two subtitle formats).

2007-02-16 10:19:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/audio.c: Fix documentation.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.c:
	  Fix documentation.

2007-02-16 10:15:46 +0000  Yves Lefebvre <ivanohe@abacom.com>

	  gst/videorate/gstvideorate.c: Don't leak caps. Fixes #408278.
	  Original commit message from CVS:
	  Patch by: Yves Lefebvre  <ivanohe abacom com>
	  * gst/videorate/gstvideorate.c: (gst_video_rate_setcaps):
	  Don't leak caps. Fixes #408278.

2007-02-15 15:17:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  More docs coverage and some ChangeLog surgery (add missing names)
	  Original commit message from CVS:
	  * ext/cdparanoia/gstcdparanoiasrc.h:
	  * ext/ogg/gstoggdemux.h:
	  * gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
	  (gst_audio_frame_length), (gst_audio_duration_from_pad_buffer),
	  (gst_audio_is_buffer_framed), (gst_audio_structure_set_int):
	  * gst-libs/gst/audio/audio.h:
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  * gst-libs/gst/interfaces/videoorientation.h:
	  * gst/adder/gstadder.h:
	  More docs coverage and some ChangeLog surgery (add missing names)

2007-02-15 12:07:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/: Small constifications.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c:
	  (gst_ximagesink_calculate_pixel_aspect_ratio):
	  * sys/xvimage/xvimagesink.c:
	  (gst_xvimagesink_calculate_pixel_aspect_ratio):
	  Small constifications.

2007-02-15 12:06:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Answer latency query.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init), (gst_base_audio_sink_query),
	  (gst_base_audio_sink_render), (gst_base_audio_sink_callback),
	  (gst_base_audio_sink_async_play),
	  (gst_base_audio_sink_change_state):
	  Answer latency query.
	  Use configured latency when syncing.
	  Fix clock slaving.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init), (gst_base_audio_src_dispose),
	  (gst_base_audio_src_query), (gst_base_audio_src_change_state):
	  Fix possible memleak.
	  Implement latency query.
	  Small cleanups.

2007-02-15 11:59:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.c: Ignore errors in reset, these are not fatal. They also grab the element lock which is already...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_reset):
	  Ignore errors in reset, these are not fatal. They also grab the element
	  lock which is already taking when this function is called. Fixes
	  #405451.

2007-02-13 13:50:56 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  add header file for easy codec install
	  Original commit message from CVS:
	  add header file for easy codec install

2007-02-13 10:24:13 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  configure.ac: Remove 'tests/examples/xerror/Makefile' from output files again.
	  Original commit message from CVS:
	  * configure.ac:
	  Remove 'tests/examples/xerror/Makefile' from output files again.

2007-02-13 09:12:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Also crossref against gst-plugins-base-libs.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  Also crossref against gst-plugins-base-libs.

2007-02-12 20:42:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add crossreferences to glib/gobject/gstream docs.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/libs/Makefile.am:
	  * docs/plugins/Makefile.am:
	  Add crossreferences to glib/gobject/gstream docs.
	  * gst-libs/gst/audio/audio.h:
	  Source formatting.
	  * gst/audiotestsrc/gstaudiotestsrc.c: (plugin_init):
	  Add own debug category.

2007-02-12 11:01:04 +0000  René Stadler <mail@renestadler.de>

	  gst-libs/gst/tag/gstvorbistag.c: Add vorbis/FLAC-tag mapping for new GST_TAG_REFERENCE_LEVEL (#403597).
	  Original commit message from CVS:
	  Patch by: René Stadler <mail at renestadler de>
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Add vorbis/FLAC-tag mapping for new GST_TAG_REFERENCE_LEVEL
	  (#403597).

2007-02-12 10:33:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: When we have external subtitles and wait for the subtitle decodebin to get up and runn...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source):
	  When we have external subtitles and wait for the subtitle decodebin
	  to get up and running, we set up a (sync) bus handler for the
	  subtitle decodebin, so we can stop waiting when it posts an error
	  message. However, we should do that before we set the subtitle
	  decodebin's state to playing, otherwise things are racy and we might
	  miss error messages posted before we had a chance to set up the bus.
	  This should finally fix totem hanging on .txt pseudo-subtitle files.

2007-02-10 19:27:48 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Use gst_gdouble_to_guint64 for conversions.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:(gst_base_rtp_audio_payload_handle_frame_based_buffer):
	  Use gst_gdouble_to_guint64 for conversions.
	  * win32/common/config.h.in:
	  Add a define for GST_INSTALL_PLUGINS_HELPER
	  * win32/common/libgstaudio.def:
	  * win32/common/libgstcdda.def:
	  * win32/common/libgstnetbuffer.def:
	  * win32/common/libgstrtp.def:
	  * win32/common/libgutils.def:
	  Add new exported functions.
	  * win32/vs6/gst_plugins_base.dsw:
	  * win32/vs6/libgstdecodebin.dsp:
	  * win32/vs6/libgstnetbuffer.dsp:
	  * win32/vs6/libgstplaybin.dsp:
	  * win32/vs6/libgstrtp.dsp:
	  * win32/vs6/libgstvorbis.dsp:
	  * win32/vs6/libgstcdda.dsp:
	  * win32/vs6/libgstgdp.dsp:
	  * win32/vs6/libgstutils.dsp:
	  Update and add new project files.

2007-02-10 18:19:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: For SubRip (.srt) subtitles, ignore all markup tags we don't handle (like font tags, for ...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (subrip_remove_unhandled_tag),
	  (subrip_remove_unhandled_tags), (parse_subrip):
	  For SubRip (.srt) subtitles, ignore all markup tags we don't
	  handle (like font tags, for example).
	  * tests/check/elements/subparse.c:
	  Add test for this.

2007-02-09 13:28:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery
	  Original commit message from CVS:
	  ChangeLog surgery

2007-02-09 13:16:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Don't error out if there is no fakesink in the READY to NULL state change, since when decodebin is re-...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (add_fakesink),
	  (gst_decode_bin_change_state):
	  * gst/playback/gstdecodebin2.c: (add_fakesink),
	  (gst_decode_bin_change_state):
	  Don't error out if there is no fakesink in the READY to NULL state
	  change, since when decodebin is re-used, we're only adding the
	  fakesink element in READY to PAUSED.
	  * tests/check/elements/decodebin.c:
	  (new_decoded_pad_plug_fakesink_cb), (GST_START_TEST),
	  (decodebin_suite):
	  Minimal unit test to make sure we can use the same decodebin
	  instance twice (at least with audiotestsrc input).

2007-02-09 09:58:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsa.c: Try to get devic-name from device string first, and from handle only as fallback (seems to yield ...
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c: (gst_alsa_find_device_name):
	  Try to get devic-name from device string first, and from handle only
	  as fallback (seems to yield better results and is more robust
	  against buggy probing code on the application side).

2007-02-08 15:43:26 +0000  Julien Puydt <julien.puydt@laposte.net>

	  ext/alsa/: Improve device-name detection a bit, especially in the case where the device is not actually open (#405020...
	  Original commit message from CVS:
	  Based on patch by: Julien Puydt <julien.puydt at laposte net>
	  * ext/alsa/gstalsa.c: (gst_alsa_find_device_name_no_handle),
	  (gst_alsa_find_device_name):
	  * ext/alsa/gstalsa.h:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_get_property):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_get_property):
	  Improve device-name detection a bit, especially in the case where
	  the device is not actually open (#405020, #405024). Move common code
	  into gstalsa.c instead of duplicating it.

2007-02-07 13:05:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/gstaudioconvert.c: Fix up docs chunk so that gtk-doc doesn't complain, and fix typo.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  Fix up docs chunk so that gtk-doc doesn't complain, and fix typo.

2007-02-06 17:47:32 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.*: Implement PropertyProbe Interface for XVAdaptors so that one can choose the adaptor to use...
	  Original commit message from CVS:
	  2007-02-06  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents),
	  (gst_xvimagesink_get_xv_support),
	  (gst_xvimagesink_xcontext_clear),
	  (gst_xvimagesink_interface_supported),
	  (gst_xvimagesink_probe_get_properties),
	  (gst_xvimagesink_probe_probe_property),
	  (gst_xvimagesink_probe_needs_probe),
	  (gst_xvimagesink_probe_get_values),
	  (gst_xvimagesink_property_probe_interface_init),
	  (gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
	  (gst_xvimagesink_init), (gst_xvimagesink_class_init),
	  (gst_xvimagesink_get_type):
	  * sys/xvimage/xvimagesink.h: Implement PropertyProbe Interface
	  for XVAdaptors so that one can choose the adaptor to use with
	  gstreamer-properties.

2007-02-06 14:00:31 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/gstaudioconvert.c: Also mention that a conversion from double to float is suboptimal still.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  Also mention that a conversion from double to float is suboptimal still.

2007-02-06 09:42:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstaudiofilter.c: Clear our formats structure and free the caps contained in it when shutting down.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  (gst_audio_filter_class_init), (gst_audio_filter_change_state):
	  Clear our formats structure and free the caps contained in it when
	  shutting down.

2007-02-05 18:39:51 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  Original commit message from CVS:
	  2007-02-05  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_callback): Update basesink->offset so that we
	  pull monotonically increasing offsets instead of, um, seeking back
	  to 0 each time. Fixes alsasrc ! alsasink!

2007-02-05 11:44:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videoscale/gstvideoscale.c: A width and height of 1 makes us crash, so increase minimum size to 2x2 pixels until ...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c:
	  A width and height of 1 makes us crash, so increase minimum size to
	  2x2 pixels until someone feels like fixing this (#404512).

2007-02-04 16:23:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/oggmux.c: Add small test to make sure request pads are cleaned up properly even if oggmux never...
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c: (GST_START_TEST), (oggmux_suite):
	  Add small test to make sure request pads are cleaned up properly
	  even if oggmux never changes state out of NULL.

2007-02-04 14:11:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/utils.c: Fix unit test. Turns out things work much better when you
	  Original commit message from CVS:
	  * tests/check/libs/utils.c: (GST_START_TEST):
	  Fix unit test. Turns out things work much better when you
	  NULL-terminate string arrays. Should make p5 build bot happy again.

2007-02-03 23:28:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/: Oops, forgot to commit fixed-up example.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  (gst_audio_filter_template_base_init),
	  (gst_audio_filter_template_class_init),
	  (gst_audio_filter_template_init),
	  (gst_audio_filter_template_set_property),
	  (gst_audio_filter_template_get_property),
	  (gst_audio_filter_template_setup),
	  (gst_audio_filter_template_filter),
	  (gst_audio_filter_template_filter_inplace), (plugin_init):
	  Oops, forgot to commit fixed-up example.

2007-02-03 20:19:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Port GstAudioFilter to 0.10. This change technically breaks but seems justifiable on the grounds that the base class ...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_get_type),
	  (gst_audio_filter_class_init), (gst_audio_filter_init),
	  (gst_audio_filter_set_caps),
	  (gst_audio_filter_class_add_pad_templates):
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  Port GstAudioFilter to 0.10. This change technically breaks
	  API and ABI (and thus also every library developer's heart),
	  but seems justifiable on the grounds that the base class was
	  completely unusable before (ie. would crash immediately when
	  actually used). Fixes #403963 (and eventually also #403572).
	  Also document all of this a bit.

2007-02-03 14:26:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Lowering log level to see why things fail on the p5 build bot; fix some typos in unit test messages.
	  Original commit message from CVS:
	  * gst-libs/gst/utils/install-plugins.c:
	  (gst_install_plugins_spawn_child):
	  * tests/check/libs/utils.c:
	  (test_base_utils_install_plugins_do_callout):
	  Lowering log level to see why things fail on the p5 build bot;
	  fix some typos in unit test messages.

2007-02-03 13:59:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/utils.c: Don't hard-code temp directory for test helper; use GLib functions to write out file and do...
	  Original commit message from CVS:
	  * tests/check/libs/utils.c:
	  (test_base_utils_install_plugins_do_callout):
	  Don't hard-code temp directory for test helper; use GLib functions
	  to write out file and do error checking etc.

2007-02-02 20:42:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/utils/: API: add API for applications to initiate installation of missing plugins, ie. gst_install_plugi...
	  Original commit message from CVS:
	  * gst-libs/gst/utils/Makefile.am:
	  * gst-libs/gst/utils/base-utils.h:
	  * gst-libs/gst/utils/install-plugins.c:
	  (gst_install_plugins_context_set_xid),
	  (gst_install_plugins_context_new),
	  (gst_install_plugins_context_free),
	  (gst_install_plugins_get_helper),
	  (gst_install_plugins_spawn_child),
	  (gst_install_plugins_return_from_status),
	  (gst_install_plugins_installer_exited),
	  (gst_install_plugins_async), (gst_install_plugins_sync),
	  (gst_install_plugins_return_get_name),
	  (gst_install_plugins_installation_in_progress):
	  * gst-libs/gst/utils/install-plugins.h:
	  API: add API for applications to initiate installation of missing
	  plugins, ie. gst_install_plugins_async() primarily.
	  Based on libgimme-codec by Ryan Lortie.
	  * configure.ac:
	  Add --with-install-plugins-helper configure option so distros can specify
	  the path of the helper script or program to call when plugin installation
	  is requested (distros: please do any argument munging in this helper
	  script instead of patching GStreamer to pass arguments differently
	  to another program directly).
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Build and document new API.
	  * tests/check/libs/utils.c: (result_cb),
	  (test_base_utils_install_plugins_do_callout), (GST_START_TEST),
	  (libgstbaseutils_suite):
	  Some simple checks for the new API.

2007-02-02 14:44:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/audioconvert.c: Add small test for 32bit float <=> 64bit float conversion (works only one way so...
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (test_float_conversion):
	  Add small test for 32bit float <=> 64bit float conversion (works
	  only one way so far, 32=>64 produces structured noise).

2007-02-02 11:21:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/gstaudioconvert.c: We don't support floats with a width of 40, 48 or 56 bits.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (set_structure_widths_32_and_64), (make_lossless_changes):
	  We don't support floats with a width of 40, 48 or 56 bits.

2007-02-02 09:48:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/: Support for 64-bit float audio in audioconvert (#339837)
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float), (double),
	  (audio_convert_get_func_index):
	  * gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
	  (make_lossless_changes):
	  Support for 64-bit float audio in audioconvert (#339837)

2007-02-01 18:50:08 +0000  Holger Wansing <linux@wansing-online.de>

	  po/: Add German translation (#352069).
	  Original commit message from CVS:
	  Patch by: Holger Wansing  <linux wansing-online de>
	  * po/LINGUAS:
	  * po/de.po:
	  Add German translation (#352069).

2007-02-01 17:52:39 +0000  Sebastian Dröge <slomo@circular-chaos.org>

	  ext/ogg/gstoggmux.c: Use newly added GstCollectPads API to free the allocated resources in the GstOggPad structures (...
	  Original commit message from CVS:
	  reviewed by: Wim Taymans <wim@fluendo.com>
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_ogg_pad_destroy_notify),
	  (gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad):
	  Use newly added GstCollectPads API to free the allocated resources in
	  the GstOggPad structures (#402393).

2007-01-31 15:58:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybin.c: Add audioresample+audioconvert in front of the visualisation element, so that elements lik...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_vis_element):
	  Add audioresample+audioconvert in front of the visualisation
	  element, so that elements like libvisual 0.4 that don't support all
	  samplerates can work.
	  Fixes: #402505

2007-01-30 19:19:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Take some locks and make a copy of the streaminfo value array we maintain while holdin...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property),
	  (gst_play_base_bin_get_streaminfo_value_array):
	  Take some locks and make a copy of the streaminfo value array we
	  maintain while holding the lock, so that the application can
	  retrieve the stream-info as a value array in a thread-safe way.

2007-01-30 11:29:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audioconvert/gstaudioconvert.c: Don't fail on 0 sized buffers. Fixes #396835.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  Don't fail on 0 sized buffers. Fixes #396835.

2007-01-29 21:13:07 +0000  David Schleef <ds@schleef.org>

	  gst/typefind/gsttypefindfunctions.c: Detect BBCD as video/x-dirac, so we can play raw dirac streams.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  Detect BBCD as video/x-dirac, so we can play raw dirac
	  streams.

2007-01-29 18:14:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/theora/theoraenc.c: Check return value of theora_encode_header(), or we might try to allocate a random number of ...
	  Original commit message from CVS:
	  * ext/theora/theoraenc.c: (theora_enc_chain):
	  Check return value of theora_encode_header(), or we might try to
	  allocate a random number of bytes. theora_encode_header() can fail
	  if libtheora has been compiled with encoding support disabled.
	  Fixes #398110.

2007-01-29 10:53:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/gst/.cvsignore: Do as buildbot says.
	  Original commit message from CVS:
	  * tests/check/gst/.cvsignore:
	  Do as buildbot says.

2007-01-29 10:25:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: Fix strides in libvisual. Gst uses X strides.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_src_setcaps):
	  Fix strides in libvisual. Gst uses X strides.
	  Inspired by: <ed at catmur dot co dot uk> and
	  <tim at centricular dot net>
	  Fixes #401118.

2007-01-27 13:32:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.*: Properly propagate streaming errors when we are scanning the file for chains so that we don't ...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer),
	  (gst_ogg_demux_get_data), (gst_ogg_demux_get_next_page),
	  (gst_ogg_demux_get_prev_page), (gst_ogg_demux_do_seek),
	  (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_bisect_forward_serialno),
	  (gst_ogg_demux_read_chain), (gst_ogg_demux_read_end_chain),
	  (gst_ogg_demux_find_chains), (gst_ogg_demux_handle_page),
	  (gst_ogg_demux_chain), (gst_ogg_demux_combine_flows),
	  (gst_ogg_demux_loop_reverse), (gst_ogg_demux_loop):
	  * ext/ogg/gstoggdemux.h:
	  Properly propagate streaming errors when we are scanning the file for
	  chains so that we don't crash when shut down. Might fix some crashers
	  when quickly switching oggs in RB such as #332503 and #378436.

2007-01-26 12:44:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Map a gnome-vfs HOST_NOT_FOUND error into a GStreamer NOT_FOUND error code as well.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
	  Map a gnome-vfs HOST_NOT_FOUND error into a GStreamer NOT_FOUND
	  error code as well.

2007-01-25 16:02:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Don't try to disconnect a signal from a finalized object.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (remove_source):
	  Don't try to disconnect a signal from a finalized object.

2007-01-25 14:29:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin2.c: Cast lock macro parameters to make sure we're actually accessing the lock member at the...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_dispose):
	  Cast lock macro parameters to make sure we're actually accessing the
	  lock member at the right class level. Free list itself in _dispose()
	  as well and NULL it in case dispose gets called multiple times.

2007-01-25 14:02:37 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin2.c: Free GstDecodeGroups no longer used.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c:
	  (gst_decode_bin_dispose),(gst_decode_bin_finalize):
	  Free GstDecodeGroups no longer used.
	  (gst_decode_group_expose):
	  Don't unlock too many times !
	  (deactivate_free_recursive):
	  Free iterator once we're done with it.
	  Fix for recursively deactivating elements (stop at ghostpads).

2007-01-25 12:24:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Fix up caps on the frame buffer before we save it and potentially make it accessible to ot...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (handoff):
	  Fix up caps on the frame buffer before we save it and potentially
	  make it accessible to other threads via g_object_get; also use
	  gst_buffer_replace() instead of gst_mini_object_replace().

2007-01-25 12:06:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Make getting the current frame thread-safe.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gst_play_bin_get_property):
	  Make getting the current frame thread-safe.

2007-01-25 11:48:10 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin2.c: Set queues to bigger sizes to cope with HD contents.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize),
	  (gst_decode_group_new), (gst_decode_group_free):
	  Set queues to bigger sizes to cope with HD contents.
	  Fix some mutex freeing and add comment about MT safe methods.

2007-01-24 12:51:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Don't unnecessarily ref (and then leak) upstream events if the text pad is not linked. Fi...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
	  (gst_text_overlay_text_event):
	  Don't unnecessarily ref (and then leak) upstream events if the text
	  pad is not linked. Fixes #399948.
	  * tests/check/gst-plugins-base.supp:
	  Add suppression for pango on edgy/x86 for textoverlay test.

2007-01-24 12:10:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstrtpbuffer.h: Add some more fixed payloads.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Add some more fixed payloads.

2007-01-23 18:39:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggdemux.c: Error out properly if we get an error from libogg while reading the
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_read_chain):
	  Error out properly if we get an error from libogg while reading the
	  BOS page(s). Fixes crash parsing 'fuzzed' ogg file (#399340).

2007-01-23 17:49:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin2.c: Don't leak mutex.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_finalize):
	  Don't leak mutex.
	  * tests/check/elements/playbin.c:
	  (test_sink_usage_video_only_stream),
	  (test_suburi_error_unknowntype), (test_suburi_error_invalidfile),
	  (test_suburi_error_wrongproto), (test_missing_urisource_handler),
	  (test_missing_suburisource_handler),
	  (test_missing_primary_decoder), (playbin_suite):
	  Run all tests once with decodebin and once with decodebin2.
	  One test does not pass yet with decodebin2.

2007-01-23 14:30:28 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/ogg/gstoggmux.c: Fix the cases where oggmux doesn't properly figure out that all sinkpads have gone EOS, and ther...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (all_pads_eos), (gst_ogg_mux_collected):
	  Fix the cases where oggmux doesn't properly figure out that all
	  sinkpads have gone EOS, and therefore doesn't push out the remaining
	  buffers and the final EOS event.
	  Fixes #363379

2007-01-23 13:19:19 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Don't lock on navigation event push, just on keysym to string.
	  Original commit message from CVS:
	  2007-01-23  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
	  Don't lock on navigation event push, just on keysym to string.
	  Fixes #397673 again.

2007-01-22 17:37:38 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin2.c: Cleanups.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin2.c: (gst_decode_group_new),
	  (get_current_group), (group_demuxer_event_probe),
	  (gst_decode_group_expose), (deactivate_free_recursive),
	  (gst_decode_group_free):
	  Cleanups.
	  Don't forget to emit 'no-more-pads' once a group is exposed.
	  Cleanup elements from a DecodeGroup once we remove it.
	  Protect call to gst_decode_group_expose() with the decodebin lock.

2007-01-22 13:16:42 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Looking at Xorg code i can't figure out if that XKeysymToString function is thread sensible or not. Lock it jus...
	  Original commit message from CVS:
	  2007-01-22  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
	  Looking at Xorg code i can't figure out if that XKeysymToString
	  function is thread sensible or not. Lock it just in case as
	  recommended by Radek Doulik <rodo at ximian dot com>.

2007-01-22 13:10:13 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Lock that X Call as well. Fixes #397673.
	  Original commit message from CVS:
	  2007-01-22  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
	  Lock that X Call as well. Fixes #397673.

2007-01-22 12:03:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Don't go into an endless loop if the file starts with 00 00 01 2X, like quicktim...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find):
	  Don't go into an endless loop if the file starts with 00 00 01 2X,
	  like quicktime redirect files might. Fixes #396042.
	  * tests/check/Makefile.am:
	  * tests/check/gst/.cvsignore:
	  * tests/check/gst/typefindfunctions.c: (GST_START_TEST),
	  (typefindfunctions_suite):
	  Add unit test for the above.

2007-01-22 10:27:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: On second thought, use "depth" field rather than "bpp" field.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  On second thought, use "depth" field rather than "bpp" field.

2007-01-22 09:23:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Camtasia caps apparently need a bpp field (#398875).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Camtasia caps apparently need a bpp field (#398875).

2007-01-19 19:09:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Attempt at a better error message in case we don't have the required
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_subtitle),
	  (gen_source_element), (gst_play_base_bin_change_state):
	  Attempt at a better error message in case we don't have the required
	  URI handler installed; post missing-plugin message also when we're
	  missing an URI handler for the subtitle URI; clean up properly also
	  when an error occurs and we never made it to PAUSED state.
	  * tests/check/elements/playbin.c: (GST_START_TEST),
	  (playbin_suite):
	  Check that we're also getting a missing-plugin messsage for a
	  missing subtitle URI handler (and clean up properly).

2007-01-19 18:47:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Plug a few reference leaks.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (analyse_source), (setup_source):
	  Plug a few reference leaks.

2007-01-19 12:23:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Lower probability a bit if the marker isn't right at the start, to decrease the ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
	  Lower probability a bit if the marker isn't right at the start,
	  to decrease the chance of false positives.

2007-01-19 11:31:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Small mpeg2 system stream typefinding improvement: make typefinder probe a bit i...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
	  Small mpeg2 system stream typefinding improvement: make typefinder
	  probe a bit into the stream instead of just looking for a marker
	  at the beginning. Fixes #397810.

2007-01-18 16:23:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/gstchannelmix.c: Remove compatibility cruft for prehistoric GLib versions.
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c:
	  Remove compatibility cruft for prehistoric GLib versions.

2007-01-17 16:11:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Let decodebin be the element to post missing-plugin messages for missing decoders (rather than playbin...
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstdecodebin.c: (close_pad_link):
	  * gst/playback/gstdecodebin2.c: (analyze_new_pad):
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (gst_play_base_bin_handle_message_func), (unknown_type):
	  Let decodebin be the element to post missing-plugin messages for
	  missing decoders (rather than playbin); make playbin implement
	  GstBin::handle_message so we can suppress missing-plugin messages
	  for types we're not handling on purpose (don't want to bring up an
	  installer in those cases).

2007-01-16 19:37:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Fix potentially unaligned access (#397207).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  * gst-libs/gst/tag/gstvorbistag.c:
	  (gst_tag_list_to_vorbiscomment_buffer):
	  * gst/typefind/gsttypefindfunctions.c: (vorbis_type_find):
	  Fix potentially unaligned access (#397207).

2007-01-16 12:17:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/examples/seek/seek.c: Allow to toggle looping while it plays. Fix callback prototype. Clean up code a bit more....
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (set_scale), (update_scale),
	  (do_seek), (stop_seek), (pause_cb), (stop_cb), (loop_toggle_cb),
	  (rate_spinbutton_changed_cb), (msg_eos), (msg_segment_done),
	  (main):
	  Allow to toggle looping while it plays. Fix callback prototype. Clean
	  up code a bit more. Add copyright header.

2007-01-16 11:41:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Red and blue mask was swapped (spotted by Dan Williams).
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
	  Red and blue mask was swapped (spotted by Dan Williams).

2007-01-15 13:58:58 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/tag/: Use new beats-per-minute tag from core.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Use new beats-per-minute tag from core.

2007-01-15 11:30:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/POTFILES.in: Add new files with translatable strings, so they actually make it into the template file one day.
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  Add new files with translatable strings, so they actually make it
	  into the template file one day.

2007-01-12 21:19:35 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  gst-libs/gst/audio/gstbaseaudiosink.c
	  Original commit message from CVS:
	  2007-01-12  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_fixate): Implement, stolen from baseaudiosrc.
	  (gst_base_audio_sink_activate_pull): Remove the handwavey nego
	  stuff, as the base class handles this now. Actually tell the ring
	  buffer to start.
	  (gst_base_audio_sink_callback): Cast the ring buffer correctly.
	  How did this work before? Maybe I'm not as awesome a programmer as
	  I think.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c
	  (gst_base_audio_src_fixate): Rework as a basesrc vmethod instead
	  of a pad function.

2007-01-12 18:08:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/utils/missing-plugins.c: Remove more fields so that the application can better blacklist formats that ha...
	  Original commit message from CVS:
	  * gst-libs/gst/utils/missing-plugins.c: (copy_and_clean_caps):
	  Remove more fields so that the application can better blacklist
	  formats that have been tried before.

2007-01-12 17:43:40 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  add latest files
	  Original commit message from CVS:
	  add latest files

2007-01-12 12:47:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/mixerutils.h: Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be used when compiling...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/mixerutils.h:
	  Add G_BEGIN_DECLS and G_END_DECLS guards so these helpers can be
	  used when compiling with c++ compilers as well.

2007-01-12 09:45:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Fix comment.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  Fix comment.

2007-01-11 13:12:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Post missing-plugin messages also when we error out because converters, textoverlay or aut...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (post_missing_element_message),
	  (gen_video_element), (gen_text_element), (gen_audio_element),
	  (gen_vis_element):
	  Post missing-plugin messages also when we error out because
	  converters, textoverlay or auto*sinks are missing (#161922).

2007-01-10 16:08:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Fix the case where we try to ref a NULL element when we delay a link because of unfixed caps.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (dynamic_add), (close_pad_link),
	  (is_demuxer_element), (new_caps):
	  * gst/playback/gstplaybasebin.c: (source_new_pad):
	  Fix the case where we try to ref a NULL element when we delay a link
	  because of unfixed caps.
	  Set the state of autoplugged decodebins to PAUSED.
	  RTSP now works in playbin, we can remove it from the blacklist.

2007-01-09 14:33:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Post missing-plugin messages on the bus for missing sources and missing decoders/demuxers/depayloaders...
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstplaybasebin.c: (string_arr_has_str),
	  (unknown_type), (setup_subtitle), (gen_source_element):
	  * gst/playback/gstplaybin.c: (plugin_init):
	  Post missing-plugin messages on the bus for missing sources and
	  missing decoders/demuxers/depayloaders; fix error code used when
	  we're missing an URI handler source; for media types that we are not
	  handling on purpose at the moment, don't print "don't know how to
	  handle xyz" messages to the terminal or post missing-plugin
	  messages on the bus.
	  * tests/check/elements/playbin.c: (create_playbin),
	  (GST_START_TEST), (gst_codec_src_uri_get_type),
	  (gst_codec_src_uri_get_protocols), (gst_codec_src_uri_get_uri),
	  (gst_codec_src_uri_set_uri), (gst_codec_src_uri_handler_init),
	  (gst_codec_src_init_type), (gst_codec_src_base_init),
	  (gst_codec_src_create), (gst_codec_src_class_init),
	  (gst_codec_src_init), (plugin_init), (playbin_suite):
	  Add some tests for the missing-plugin stuff.

2007-01-09 14:20:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add new libgstbaseutils library with functions
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/utils/Makefile.am:
	  * gst-libs/gst/utils/base-utils.c: (gst_base_utils_init):
	  * gst-libs/gst/utils/base-utils.h:
	  * gst-libs/gst/utils/descriptions.c: (format_info_get_desc),
	  (find_format_info), (caps_are_rtp_caps),
	  (gst_base_utils_get_source_description),
	  (gst_base_utils_get_sink_description),
	  (gst_base_utils_get_decoder_description),
	  (gst_base_utils_get_encoder_description),
	  (gst_base_utils_get_element_description),
	  (gst_base_utils_add_codec_description_to_tag_list),
	  (gst_base_utils_get_codec_description), (gst_base_utils_list_all):
	  * gst-libs/gst/utils/descriptions.h:
	  * gst-libs/gst/utils/missing-plugins.c:
	  (missing_structure_get_type), (copy_and_clean_caps),
	  (gst_missing_uri_source_message_new),
	  (gst_missing_uri_sink_message_new),
	  (gst_missing_element_message_new),
	  (gst_missing_decoder_message_new),
	  (gst_missing_encoder_message_new),
	  (missing_structure_get_string_detail),
	  (missing_structure_get_caps_detail),
	  (gst_missing_plugin_message_get_installer_detail),
	  (gst_missing_plugin_message_get_description),
	  (gst_is_missing_plugin_message):
	  * gst-libs/gst/utils/missing-plugins.h:
	  API: add new libgstbaseutils library with functions
	  - to create and parse missing-plugins messages
	  - that provide (translated) descriptions for caps/decoders/sources/etc.
	  Closes #392393.
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  * pkgconfig/gstreamer-plugins-base.pc.in:
	  Add new lib.
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Generate docs for new lib and API.
	  * tests/check/Makefile.am:
	  * tests/check/libs/.cvsignore:
	  * tests/check/libs/utils.c: (missing_msg_check_getters),
	  (GST_START_TEST), (libgstbaseutils_suite):
	  Add some basic unit tests.

2007-01-09 13:35:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/Makefile.am: Dist gstoggdemux.h to fix 'make distcheck'.
	  Original commit message from CVS:
	  * ext/ogg/Makefile.am:
	  Dist gstoggdemux.h to fix 'make distcheck'.
	  * sys/v4l/Makefile.am:
	  Fix 'make distcheck' even more.

2007-01-09 12:30:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Added docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free),
	  (gst_ogg_pad_query_types), (gst_ogg_pad_submit_page),
	  (gst_ogg_chain_reset), (gst_ogg_chain_new_stream),
	  (gst_ogg_demux_perform_seek):
	  * ext/ogg/gstoggdemux.h:
	  Added docs.
	  Add some more comments.
	  Small cleanups.

2007-01-09 11:15:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Small documentation updates/fixes
	  Original commit message from CVS:
	  * ext/theora/theoradec.c:
	  * ext/vorbis/vorbisdec.c:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_commit_full):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  * gst-libs/gst/rtp/gstrtpbuffer.c:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Small documentation updates/fixes

2007-01-09 10:37:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Require core CVS HEAD for Andy's basesrc/sink API additions.
	  Original commit message from CVS:
	  * configure.ac:
	  Require core CVS HEAD for Andy's basesrc/sink API additions.

2007-01-08 14:01:23 +0000  Günter Thelen <daedalus.inc@gmx.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for flac-in-ogg in conformance with the ogg-mapping on flac.sf.ne...
	  Original commit message from CVS:
	  Patch by: Günter Thelen  <daedalus dot inc at gmx net>
	  * gst/typefind/gsttypefindfunctions.c: (flac_type_find),
	  (plugin_init):
	  Add typefinder for flac-in-ogg in conformance with the ogg-mapping
	  on flac.sf.net (there appear to be other versions of the first
	  ogg page in the wild) (#391365).

2007-01-08 13:32:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Check if localtime_r() is available.
	  Original commit message from CVS:
	  * configure.ac:
	  Check if localtime_r() is available.
	  * ext/pango/gstclockoverlay.c: (gst_clock_overlay_render_time):
	  If localtime_r() is not available, fall back to localtime(). Should
	  fix build on MingW (#393310).

2007-01-08 12:30:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.*: Remove spurious 1000 subtrahend when calculating the timestamp from the frame number and ...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (parse_mdvdsub):
	  * gst/subparse/gstsubparse.h:
	  Remove spurious 1000 subtrahend when calculating the timestamp from
	  the frame number and the frame rate . Also, use the frames/second
	  value specified in the first line of the file, if one is specified
	  there. Should fix #357503.
	  * tests/check/elements/subparse.c: (do_test),
	  (test_tmplayer_do_test), (test_microdvd_do_test), (GST_START_TEST),
	  (subparse_suite):
	  Add some basic unit tests for the microdvd subtitle format.

2007-01-07 21:53:38 +0000  Young-Ho Cha <ganadist@chollian.net>

	  sys/xvimage/xvimagesink.c: Fixes : #390076.
	  Original commit message from CVS:
	  2007-01-07  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimage_buffer_finalize), (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_xvimage_put),
	  (gst_lookup_xv_port_from_adaptor),
	  (gst_xvimagesink_get_xv_support), (gst_xvimagesink_setcaps),
	  (gst_xvimagesink_set_xwindow_id),
	  (gst_xvimagesink_set_event_handling),
	  (gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
	  (gst_xvimagesink_init), (gst_xvimagesink_class_init):
	  Patch by : Young-Ho Cha <ganadist at chollian dot net>
	  Fixes : #390076.
	  Add an adaptor property to select a specific XV adaptor.
	  * sys/xvimage/xvimagesink.h:

2007-01-07 18:50:13 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Use flow_lock much more to protect every access to xwindow.
	  Original commit message from CVS:
	  2007-01-07  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
	  (gst_ximagesink_handle_xerror), (gst_ximagesink_ximage_new),
	  (gst_ximagesink_ximage_destroy), (gst_ximagesink_ximage_put),
	  (gst_ximagesink_handle_xevents), (gst_ximagesink_setcaps),
	  (gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id),
	  (gst_ximagesink_expose), (gst_ximagesink_set_event_handling):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimage_buffer_finalize), (gst_xvimagesink_handle_xerror),
	  (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
	  (gst_xvimagesink_handle_xevents), (gst_xvimagesink_setcaps),
	  (gst_xvimagesink_change_state),
	  (gst_xvimagesink_set_xwindow_id),
	  (gst_xvimagesink_expose), (gst_xvimagesink_set_event_handling):
	  Use flow_lock much more to protect every access to xwindow.
	  Try to catch erros while creating images in case some drivers
	  are
	  just generating an XError when the requested image is too big.
	  Should fix : #354698, #384008, #384060.
	  * tests/icles/stress-xoverlay.c: (cycle_window),
	  (create_window):
	  Implement some stress testing of setting window xid.

2007-01-07 10:33:55 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/common/libgsaudio.def: Add new exported function.
	  Original commit message from CVS:
	  * win32/common/libgsaudio.def:
	  Add new exported function.
	  * win32/common/libgstogg.dsp:
	  Add gstoggaviparse.c to the build.
	  * win32/common/libgstvideoscale.dsp:
	  Add vs_4tap.c to the build.
	  * win32/common/libgstvorbis.dsp:
	  Add vorbistag.c to the build.

2007-01-06 17:28:40 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	  gst-libs/gst/audio/gstbaseaudiosink.c (gst_base_audio_sink_class_init)
	  Original commit message from CVS:
	  2007-01-06  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstbaseaudiosink.c
	  (gst_base_audio_sink_class_init)
	  (gst_base_audio_sink_init):
	  (gst_base_audio_sink_activate_pull): Add an activate_pull function
	  to baseaudiosink, and tell basesink that we can work in pull mode.
	  This way the ring buffer thread drives the pipeline directly, if
	  pull mode is possible. There is some lingering nastiness regarding
	  capsnego, however.
	  (gst_base_audio_sink_callback): Implement the callback to pull
	  data. This interface is a bit light, though -- it should get a
	  GstFlowReturn return value at least.

2007-01-05 19:43:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Printf format and missing argument fixes.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_stream_out):
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  * gst/playback/gstdecodebin2.c:
	  (gst_decode_group_check_if_blocked):
	  Printf format and missing argument fixes.

2007-01-05 18:57:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/ogg/gstogmparse.c: Activate pads before adding them to the element.
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header),
	  (gst_ogm_parse_change_state):
	  Activate pads before adding them to the element.

2007-01-05 16:02:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/examples/seek/: Call g_thread_init() first thing in main() (see #391278).
	  Original commit message from CVS:
	  * tests/examples/seek/scrubby.c: (main):
	  * tests/examples/seek/seek.c: (main):
	  Call g_thread_init() first thing in main() (see #391278).

2007-01-05 12:19:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add test for GstNetBuffer + gst_buffer_copy(). Disabled for the time being, since it's broken, see #393...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/libs/.cvsignore:
	  * tests/check/libs/netbuffer.c: (GST_START_TEST),
	  (netbuffer_suite):
	  Add test for GstNetBuffer + gst_buffer_copy(). Disabled
	  for the time being, since it's broken, see #393099.

2007-01-05 12:13:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Update to use GST_PLUGINS_BASE_CFLAGS as well.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Update to use GST_PLUGINS_BASE_CFLAGS as well.

2007-01-04 12:49:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS so that GST_BASE_CFLAGS can go inbetwe...
	  Original commit message from CVS:
	  * configure.ac:
	  split out GST_CFLAGS into GST_PLUGINS_BASE_CFLAGS and GST_CFLAGS
	  so that GST_BASE_CFLAGS can go inbetween them, making sure
	  we use uninstalled gst-libs headers
	  * docs/libs/Makefile.am:
	  * ext/alsa/Makefile.am:
	  * ext/cdparanoia/Makefile.am:
	  * ext/gnomevfs/Makefile.am:
	  * ext/libvisual/Makefile.am:
	  * ext/ogg/Makefile.am:
	  * ext/theora/Makefile.am:
	  * ext/vorbis/Makefile.am:
	  * gst-libs/gst/audio/Makefile.am:
	  * gst-libs/gst/cdda/Makefile.am:
	  * gst-libs/gst/interfaces/Makefile.am:
	  * gst-libs/gst/riff/Makefile.am:
	  * gst-libs/gst/rtp/Makefile.am:
	  * gst-libs/gst/tag/Makefile.am:
	  * gst/adder/Makefile.am:
	  * gst/audioconvert/Makefile.am:
	  * gst/audiorate/Makefile.am:
	  * gst/audioresample/Makefile.am:
	  * gst/playback/Makefile.am:
	  * gst/tcp/Makefile.am:
	  * gst/videoscale/Makefile.am:
	  * gst/volume/Makefile.am:
	  * sys/ximage/Makefile.am:
	  * sys/xvimage/Makefile.am:
	  * tests/icles/Makefile.am:
	  adapt

2007-01-04 11:30:53 +0000  Julien Moutte <julien@moutte.net>

	  Add a method to the XOverlay interface to allow disabling of event handling in x[v]imagesink elements. This will let ...
	  Original commit message from CVS:
	  2007-01-04  Julien MOUTTE  <julien@moutte.net>
	  * gst-libs/gst/interfaces/xoverlay.c:
	  (gst_x_overlay_handle_events):
	  * gst-libs/gst/interfaces/xoverlay.h:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
	  (gst_ximagesink_set_xwindow_id),
	  (gst_ximagesink_set_event_handling),
	  (gst_ximagesink_xoverlay_init), (gst_ximagesink_set_property),
	  (gst_ximagesink_get_property), (gst_ximagesink_init),
	  (gst_ximagesink_class_init):
	  * sys/ximage/ximagesink.h:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_new),
	  (gst_xvimagesink_set_xwindow_id),
	  (gst_xvimagesink_set_event_handling),
	  (gst_xvimagesink_xoverlay_init), (gst_xvimagesink_set_property),
	  (gst_xvimagesink_get_property), (gst_xvimagesink_init),
	  (gst_xvimagesink_class_init):
	  * sys/xvimage/xvimagesink.h:
	  * tests/icles/stress-xoverlay.c: (toggle_events),
	  (create_window):
	  Add a method to the XOverlay interface to allow disabling of
	  event handling in x[v]imagesink elements. This will let X events
	  propagate to parent windows which can be usefull in some cases.
	  Be carefull that the application is then responsible of pushing
	  navigation events and expose events to the video sink.
	  Fixes: #387138.

2007-01-03 15:45:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add vorbistag <=> GStreamer tag mapping for GST_TAG_LOCATION (fixes #392070).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Add vorbistag <=> GStreamer tag mapping for GST_TAG_LOCATION
	  (fixes #392070).

2007-01-01 18:59:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Dist design docs.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/Makefile.am:
	  * docs/design/Makefile.am:
	  Dist design docs.

2006-12-27 17:15:35 +0000  Julien Moutte <julien@moutte.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Fix a documentation typo. Fixes: #390063.
	  Original commit message from CVS:
	  2006-12-27  Julien MOUTTE  <julien@moutte.net>
	  * docs/libs/gst-plugins-base-libs-sections.txt: Fix a
	  documentation
	  typo. Fixes: #390063.

2006-12-27 12:08:13 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Plug a caps leak.
	  Original commit message from CVS:
	  2006-12-27  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_setcaps):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps): Plug a
	  caps leak.
	  * win32/common/config.h: Updated.

2006-12-22 12:10:18 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/: Fix the dp tests, but activating the pads for the streamheader tests too and cleaning up condi...
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (cleanup_gdpdepay),
	  (setup_gdpdepay_streamheader):
	  * tests/check/elements/gdppay.c: (cleanup_gdppay),
	  (setup_gdppay_streamheader):
	  Fix the dp tests, but activating the pads for the streamheader tests
	  too and cleaning up conditionaly

2006-12-22 11:09:34 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/ffmpegcolorspace/: Add 2 new caps arrangements, for 24-bit RGB and BGR in 32-bits, but at the other end of the wo...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/avcodec.h:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
	  (gst_ffmpegcsp_avpicture_fill):
	  * gst/ffmpegcolorspace/imgconvert.c: (img_convert),
	  (img_get_alpha_info):
	  Add 2 new caps arrangements, for 24-bit RGB and BGR in 32-bits, but at the
	  other end of the word. Fixes: #387073.
	  Add some inconsequential branch hints in a couple of places.

2006-12-21 12:30:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: The "signed" field in raw audio caps is of boolean type, trying to extract ...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_caps_to_smpfmt):
	  The "signed" field in raw audio caps is of boolean type, trying to
	  extract the value with _get_int() will fail (fix to keep in sync with
	  the copy in gst-ffmpeg)

2006-12-21 08:12:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/: consistent pad (de)activation
	  Original commit message from CVS:
	  * tests/check/elements/audioresample.c: (cleanup_audioresample):
	  * tests/check/elements/audiotestsrc.c: (cleanup_audiotestsrc):
	  * tests/check/elements/gdpdepay.c: (setup_gdpdepay),
	  (cleanup_gdpdepay):
	  * tests/check/elements/gdppay.c: (setup_gdppay), (cleanup_gdppay):
	  * tests/check/elements/subparse.c: (teardown_subparse):
	  * tests/check/elements/textoverlay.c: (cleanup_textoverlay):
	  * tests/check/elements/videorate.c: (cleanup_videorate):
	  * tests/check/elements/videotestsrc.c: (cleanup_videotestsrc):
	  * tests/check/elements/volume.c: (cleanup_volume):
	  * tests/check/elements/vorbisdec.c: (setup_vorbisdec),
	  (cleanup_vorbisdec):
	  * tests/check/elements/vorbistag.c: (setup_vorbistag),
	  (cleanup_vorbistag):
	  consistent pad (de)activation

2006-12-20 10:29:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Forgot to register the extensions.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Forgot to register the extensions.

2006-12-20 09:25:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for VIVO files (my christmas present to the 90s).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (vivo_type_find),
	  (plugin_init):
	  Add typefinder for VIVO files (my christmas present to the 90s).

2006-12-16 13:59:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: Special-case the text/plain media type: we only want to recognise it as a 'raw' decoded ...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (type_found):
	  Special-case the text/plain media type: we only want to recognise it
	  as a 'raw' decoded media type if it comes from a demuxer or subtitle
	  parser, but not if the entire stream is of text/plain type. If the
	  entire stream is text/plain, we should just error out.
	  This fixes playback of audio files with lyrics in totem. Totem can't
	  distinguish between text files and subtitle files and passes any
	  .txt file with the same basename as the main file to playbin as
	  suburi, and playbin will then throw a 'subtitle found, but no video
	  stream' error, which isn't entirely helpful. See #380342.
	  Also, with this change we'll show a slightly more correct error
	  message in case totem passes a playlist file to us (although a
	  custom error message wording instead of the default text would
	  probably not be a bad idea either).
	  Same problem also needs to be fixed for playbin+decodebin2.
	  * tests/check/Makefile.am:
	  * tests/check/elements/decodebin.c: (src_handoff_cb),
	  (decodebin_new_decoded_pad_cb), (GST_START_TEST),
	  (decodebin_suite):
	  Add simple unit test for decodebin for the above.

2006-12-16 12:22:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Refuse to change state to READY when we failed to create any of the required elements in our instance ...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state):
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_change_state):
	  Refuse to change state to READY when we failed to create any of the
	  required elements in our instance init function.

2006-12-15 10:52:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Small docs fixes/updates.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Small docs fixes/updates.
	  * gst-libs/gst/video/gstvideosink.h:
	  Remove nonfunctional GST_VIDEO_SINK_CLOCK macro which is a leftover
	  from the 0.9 days (GST_BASE_SINK_CLOCK, which it points to, was
	  removed from the base sink API between 0.9.6 and 0.9.7).
	  API: add GST_VIDEO_SINK_CAST and use it for the height/width
	  accessor macros, so we don't do a runtime GObject type check every
	  time we use them.

2006-12-15 00:20:37 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  add doap file
	  Original commit message from CVS:
	  * Makefile.am:
	  * gst-plugins-base.doap:
	  * gst-plugins-base.spec.in:
	  add doap file

2006-12-09 15:12:38 +0000  Jens Granseuer <jensgr@gmx.net>

	  Declare variables at the beginning of a block. Fixes #383195.
	  Original commit message from CVS:
	  Patch by: Jens Granseuer <jensgr at gmx net>
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_handle_frame_based_buffer),
	  (gst_base_rtp_audio_payload_handle_sample_based_buffer):
	  * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate):
	  Declare variables at the beginning of a block. Fixes #383195.

2006-12-07 02:38:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Bump version nano - back to CVS.
	  Original commit message from CVS:
	  * configure.ac:
	  Bump version nano - back to CVS.

=== release 0.10.11 ===

2006-12-07 02:30:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.11, "Dumb things"
	  Original commit message from CVS:
	  === release 0.10.11 ===
	  2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
	  * configure.ac:
	  releasing 0.10.11, "Dumb things"

2006-12-05 12:44:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: Handle the case where an element has multiple pads with unfixed caps as well as still po...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (find_dynamic), (dynamic_add),
	  (close_pad_link), (elem_is_dynamic), (unlinked), (close_link):
	  Handle the case where an element has multiple pads with
	  unfixed caps as well as still possibly producing more dynamic
	  pads by storing each case as a distinct entry in the dynamic list.
	  Fixes #38223 again.

2006-12-04 13:02:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Fix #382223, add more dynamic caps handling.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (close_pad_link):
	  Fix #382223, add more dynamic caps handling.

2006-12-01 11:35:57 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	* po/.gitignore:
	  Ignore all pot files
	  Original commit message from CVS:
	  Ignore all pot files

2006-12-01 10:36:50 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: Delete bad debug code.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  Delete bad debug code.
	  Fixes #381219

2006-12-01 10:27:54 +0000  Sergey Scobich <sergey.scobich@gmail.com>

	  Fix compilation on win32 under VS8
	  Original commit message from CVS:
	  * gst/videoscale/vs_4tap.c:
	  * win32/MANIFEST:
	  * win32/common/config.h:
	  * win32/vs8/libgstvideoscale.vcproj:
	  Fix compilation on win32 under VS8
	  Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
	  Partially fixes #381175

2006-11-30 23:46:27 +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-30 12:50:42 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/pipelines/theoraenc.c: It would be very bad if, after a discont buffer, we thought every single following...
	  Original commit message from CVS:
	  * tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
	  (GST_START_TEST):
	  It would be very bad if, after a discont buffer, we thought every
	  single following buffer was also discont. So, add to the test to
	  ensure that this isn't the case.
	  * ext/theora/theoraenc.c: (theora_enc_is_discontinuous):
	  ... it was the case. So fix it.

2006-11-28 16:43:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Improve debug.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (check_queue_event):
	  Improve debug.
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
	  Fix width and height range from 16 - 4096 to 1 - MAXINT, just like the
	  padtemplate caps. Refixes #357577.

2006-11-28 16:21:27 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Add event probe to see when EOS is in a queue and we can disable the underrun signals....
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (check_queue_event),
	  (queue_threshold_reached), (queue_out_of_data),
	  (gen_preroll_element):
	  Add event probe to see when EOS is in a queue and we can disable the
	  underrun signals. Fixes #357577.

2006-11-28 14:40:39 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/: New decodebin2 element.
	  Original commit message from CVS:
	  * gst/playback/Makefile.am:
	  * gst/playback/gstdecodebin2.c: (gst_decode_bin_get_type),
	  (_gst_boolean_accumulator), (gst_decode_bin_class_init),
	  (gst_decode_bin_factory_filter), (compare_ranks), (print_feature),
	  (gst_decode_bin_init), (gst_decode_bin_dispose),
	  (gst_decode_bin_finalize), (gst_decode_bin_set_property),
	  (gst_decode_bin_get_property), (gst_decode_bin_set_caps),
	  (gst_decode_bin_get_caps), (gst_decode_bin_autoplug_continue),
	  (gst_decode_bin_autoplug_sort), (analyze_new_pad), (connect_pad),
	  (connect_element), (expose_pad), (type_found),
	  (pad_added_group_cb), (pad_removed_group_cb),
	  (no_more_pads_group_cb), (pad_added_cb), (pad_removed_cb),
	  (no_more_pads_cb), (find_compatibles), (is_demuxer_element),
	  (are_raw_caps), (multi_queue_overrun_cb),
	  (multi_queue_underrun_cb), (gst_decode_group_new),
	  (get_current_group), (group_demuxer_event_probe),
	  (gst_decode_group_control_demuxer_pad),
	  (gst_decode_group_control_source_pad),
	  (gst_decode_group_check_if_blocked),
	  (gst_decode_group_check_if_drained), (gst_decode_group_expose),
	  (gst_decode_group_hide), (gst_decode_group_free),
	  (gst_decode_group_set_complete), (source_pad_blocked_cb),
	  (source_pad_event_probe), (gst_decode_pad_new), (add_fakesink),
	  (remove_fakesink), (find_sink_pad), (gst_decode_bin_change_state),
	  (plugin_init):
	  New decodebin2 element.
	  Closes #370092
	  * gst/playback/gstplay-marshal.list:
	  Added marshallers for new signals in decodebin2
	  * gst/playback/gstplaybasebin.c: (setup_subtitle), (make_decoder):
	  Use decodebin2 if *and only if* the USE_DECODEBIN2 environment variable
	  is set.

2006-11-28 10:45:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Disable rtsp:// uris for the release, it's not good enough yet.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source),
	  (gst_play_base_bin_change_state):
	  Disable rtsp:// uris for the release, it's not good enough yet.
	  Remove unused var.

2006-11-26 16:39:41 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Implement reverse playback.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (gst_theora_dec_reset),
	  (theora_dec_push_forward), (theora_dec_push_reverse),
	  (theora_handle_data_packet), (theora_dec_decode_buffer),
	  (theora_dec_flush_decode), (theora_dec_chain_reverse),
	  (theora_dec_chain_forward), (theora_dec_chain):
	  Implement reverse playback.
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
	  (vorbis_dec_decode_buffer), (vorbis_dec_flush_decode),
	  (vorbis_dec_chain_forward):
	  Clear buffers used for reverse playback in _reset.
	  No need to set the eos flag, we clip samples using the segment.

2006-11-24 15:40:58 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Some cleanups.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free),
	  (gst_ogg_pad_init), (gst_ogg_pad_dispose), (gst_ogg_pad_reset),
	  (gst_ogg_pad_stream_out), (gst_ogg_pad_submit_page),
	  (gst_ogg_chain_reset), (gst_ogg_demux_perform_seek):
	  Some cleanups.
	  Handle continued pages in reverse mode.

2006-11-24 15:39:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Small cleanups.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
	  (vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
	  (vorbis_dec_flush_decode):
	  Small cleanups.
	  Don't try to add invalid timestamps.
	  Clipping will unref the buffer.

2006-11-24 08:56:10 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/: remove obsolete _factory_init protos
	  Original commit message from CVS:
	  * gst/adder/gstadder.h:
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  remove obsolete _factory_init protos

2006-11-24 08:35:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: Fix spacing in debug message.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
	  Fix spacing in debug message.

2006-11-23 11:07:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Don't just ignore return values from _pad_push().
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page),
	  (gst_ogg_demux_chain):
	  Don't just ignore return values from _pad_push().
	  Small debug improvements.

2006-11-23 11:02:11 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggmux.c: If our incoming buffer is marked as DISCONT, then increment the page number (so that the discont...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad):
	  If our incoming buffer is marked as DISCONT, then increment the page
	  number (so that the discontinuity is marked in the final ogg
	  bitstream) and flush the previous page.

2006-11-22 14:34:03 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/: Mark discontinuities of > 3/4 of a frame, reinit encoder.
	  Original commit message from CVS:
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/theoraenc.c: (gst_theora_enc_init),
	  (theora_enc_reset), (theora_enc_clear), (theora_enc_sink_setcaps),
	  (theora_buffer_from_packet), (theora_enc_is_discontinuous),
	  (theora_enc_chain), (theora_enc_change_state):
	  Mark discontinuities of > 3/4 of a frame, reinit encoder.
	  * tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
	  (GST_START_TEST), (theoraenc_suite):
	  Enable discontinuity test, fix it.

2006-11-21 18:39:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.*: Some textoverlay fixes: for one, in the video chain function, actually wait for a text bu...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
	  (gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event),
	  (gst_text_overlay_video_event), (gst_text_overlay_pop_text),
	  (gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
	  (gst_text_overlay_change_state):
	  * ext/pango/gsttextoverlay.h:
	  Some textoverlay fixes: for one, in the video chain function,
	  actually wait for a text buffer to come in if there is none at the
	  moment and there should be one; also, deal more gracefully with
	  incoming buffers that do not have a timestamp or duration; discard
	  text buffer when not needed any longer. Fixes #341681.
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/textoverlay.c:
	  (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2),
	  (setup_textoverlay), (buffer_is_all_black), (create_black_buffer),
	  (create_text_buffer), (cleanup_textoverlay), (GST_START_TEST),
	  (test_video_waits_for_text_send_text_newsegment_thread),
	  (test_video_waits_for_text_shutdown_element),
	  (test_render_continuity_push_video_buffers_thread),
	  (textoverlay_suite):
	  Add some unit tests for textoverlay.

2006-11-21 09:29:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Avoid integer underflow when the found probability for mp3 is smaller than the '...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
	  Avoid integer underflow when the found probability for mp3 is
	  smaller than the 'penalty' we subtract if there's not a clean
	  mp3 header sync at offset 0.

2006-11-21 08:17:16 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/gst-plugins-base-libs-sections.txt: Add some new symbols to the docs
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  Add some new symbols to the docs

2006-11-20 16:44:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Enable ffmpegcolorspace test now that the RGBA32 issue is fixed (for now not for valgrinding though, si...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/ffmpegcolorspace.c:
	  (ffmpegcolorspace_suite):
	  Enable ffmpegcolorspace test now that the RGBA32 issue is fixed
	  (for now not for valgrinding though, since it takes too long).

2006-11-20 15:01:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Fix RGBA32 caps. Fixes #357038.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps):
	  Fix RGBA32 caps. Fixes #357038.

2006-11-20 12:20:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixertrack.h: Add FIXME so we can add some padding here in 0.11
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixertrack.h:
	  Add FIXME so we can add some padding here in 0.11

2006-11-19 17:07:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.h: Fix GstBaseRTPAudioPayload structure so the whole GObject inheritance busi...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  Fix GstBaseRTPAudioPayload structure so the whole GObject
	  inheritance business actually works (parent class instance structure
	  must always come first in the derived class instance structure).

2006-11-16 14:35:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Make sure our checks and the videotestsrc plugin link against the local uninstalled gst libs and not any installed gs...
	  Original commit message from CVS:
	  * gst/videotestsrc/Makefile.am:
	  * tests/check/Makefile.am:
	  Make sure our checks and the videotestsrc plugin link against the
	  local uninstalled gst libs and not any installed gst libs that
	  might happen to exist as well.
	  * tests/check/elements/adder.c: (message_received),
	  (test_event_message_received), (test_play_twice_message_received):
	  * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
	  Fix compiler warnings when compiling against core with disabled
	  debugging system.

2006-11-16 12:55:08 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: Fix audiorate, so that it accurately sets offsets and timestamps.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
	  (gst_audio_rate_sink_event), (gst_audio_rate_chain):
	  Fix audiorate, so that it accurately sets offsets and timestamps.
	  Doesn't change the fundamental algorithmic decisions; so should be
	  safe.
	  * tests/check/Makefile.am:
	  Enable audiorate test now that it passes.

2006-11-15 10:05:33 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: clear xv when going to NULL, remove // commented non-existant proto
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
	  clear xv when going to NULL, remove // commented non-existant proto
	  * tests/examples/seek/seek.c: (main):
	  add missing tooltip description for scrub and play_scrub

2006-11-14 23:34:19 +0000  David Schleef <ds@schleef.org>

	  configure.ac: Bump liboil requirement to 0.3.8.
	  Original commit message from CVS:
	  * configure.ac:
	  Bump liboil requirement to 0.3.8.
	  * gst-libs/gst/riff/riff-media.c:
	  Add Dirac fourcc.
	  * gst/videoscale/vs_image.h:
	  * gst/videoscale/vs_scanline.h:
	  Use liboil's stdint.h.
	  * gst/videotestsrc/videotestsrc.c:
	  Remove liboil related ifdef's, since they aren't needed now, and
	  won't work with future versions.

2006-11-14 23:08:38 +0000  David Schleef <ds@schleef.org>

	  gst/videoscale/: Add a 4-tap image scaler.  Theoretically looks much prettier.
	  Original commit message from CVS:
	  * gst/videoscale/Makefile.am:
	  * gst/videoscale/gstvideoscale.c:
	  * gst/videoscale/gstvideoscale.h:
	  * gst/videoscale/vs_4tap.c:
	  * gst/videoscale/vs_4tap.h:
	  * gst/videoscale/vs_image.c:
	  * gst/videoscale/vs_image.h:
	  * gst/videoscale/vs_scanline.c:
	  * gst/videoscale/vs_scanline.h:
	  Add a 4-tap image scaler.  Theoretically looks much prettier.
	  The tap calculation could use some improvement.

2006-11-14 11:54:14 +0000  Jan David Mol <j.j.d.mol@tudelft.nl>

	  Various gsize and gssize printf fixes. Fixes #372507.
	  Original commit message from CVS:
	  Patch by: Jan David Mol <j dot j dot d dot mol at tudelft dot nl>
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_auds),
	  (gst_riff_parse_strf_iavs):
	  * gst/subparse/gstsubparse.c: (convert_encoding):
	  * gst/tcp/gstmultifdsink.c:
	  (gst_multi_fd_sink_handle_client_write):
	  * gst/tcp/gsttcp.c: (gst_tcp_socket_write), (gst_tcp_socket_read),
	  (gst_tcp_read_buffer), (gst_tcp_gdp_read_caps),
	  (gst_tcp_gdp_write_buffer), (gst_tcp_gdp_write_caps):
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_render):
	  * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
	  (gst_ximagesink_ximage_new):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new):
	  Various gsize and gssize printf fixes. Fixes #372507.

2006-11-13 18:14:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.*: First stab at vorbis reverse playback.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
	  (vorbis_dec_push_forward), (vorbis_dec_push_reverse),
	  (vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
	  (vorbis_dec_flush_decode), (vorbis_dec_chain_reverse),
	  (vorbis_dec_chain_forward), (vorbis_dec_chain):
	  * ext/vorbis/vorbisdec.h:
	  First stab at vorbis reverse playback.

2006-11-13 17:30:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.*: Make the clock sync code more accurate wrt resampling and playback at differen...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_event), (gst_base_audio_sink_render):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Make the clock sync code more accurate wrt resampling and playback
	  at different rates.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_commit_full), (gst_ring_buffer_commit):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Use better algorithm to interpolate sample rates.

2006-11-13 15:31:01 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggdemux.c: Improve a debug line slightly.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page):
	  Improve a debug line slightly.
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_plugin_init):
	  Call gst_riff_init() in plugin_init, to avoid getting errors from
	  the debug system (unrelated changes to another plugin made this turn
	  up; not sure why).

2006-11-10 19:20:21 +0000  Sergey Scobich <sergery.scobich@gmail.com>

	  win32/common/libgsttag.def: Add missing symbol (#366492).
	  Original commit message from CVS:
	  Patch by: Sergey Scobich  <sergery.scobich at gmail com>
	  * win32/common/libgsttag.def:
	  Add missing symbol (#366492).

2006-11-10 00:52:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreamselector.c: Don't unref a NULL pad.
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c: (gst_stream_selector_dispose):
	  Don't unref a NULL pad.

2006-11-09 00:50:00 +0000  Christian Schaller <uraeus@gnome.org>

	  ext/ogg/gstoggdemux.c: Implement first stab at reverse playback.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page),
	  (gst_ogg_demux_get_prev_page), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_handle_page), (gst_ogg_demux_chain),
	  (gst_ogg_demux_loop_forward), (gst_ogg_demux_loop_reverse),
	  (gst_ogg_demux_loop):
	  Implement first stab at reverse playback.

2006-11-07 07:22:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-media.c: add h263/h264 variants to the caps, Fixes #363118
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  add h263/h264 variants to the caps, Fixes #363118

2006-11-06 18:24:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/: Use g_strerror instead of strerror so we get UTF-8.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
	  * gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
	  Use g_strerror instead of strerror so we get UTF-8.

2006-11-04 07:25:58 +0000  David Schleef <ds@schleef.org>

	  ext/ogg/: Add/remove KW-DIRAC header here, since it is ogg-specific.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  Add/remove KW-DIRAC header here, since it is ogg-specific.

2006-11-03 15:44:31 +0000  Michael Smith <msmith@xiph.org>

	  gst/typefind/gsttypefindfunctions.c: Recognise more mpeg4 elementary video streams.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find):
	  Recognise more mpeg4 elementary video streams.

2006-11-02 17:26:03 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Lower the probability of mp3 typefinding functions if we don't find a valid mp3 ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
	  Lower the probability of mp3 typefinding functions if we don't find a
	  valid mp3 header at the start of the file.
	  Closes #369482

2006-11-02 15:06:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/: Document and partially implement an algorithm for doing reverse playback of theora video.
	  Original commit message from CVS:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_init),
	  (theora_dec_sink_event), (theora_dec_chain_forward),
	  (theora_dec_flush_decode), (theora_dec_chain_reverse),
	  (theora_dec_chain):
	  Document and partially implement an algorithm for doing reverse playback
	  of theora video.

2006-11-02 14:18:45 +0000  Sergey Scobich <sergey.scobich@gmail.com>

	  win32/: Misc. VS8 build fixes: fix syntax in config.h, add missing entries to libgsttag.def; add missing dependencies...
	  Original commit message from CVS:
	  Patch by: Sergey Scobich  <sergey.scobich at gmail com>
	  * win32/common/config.h:
	  * win32/common/interfaces-enumtypes.c:
	  * win32/common/libgsttag.def:
	  * win32/vs8/gst-plugins-base.sln:
	  * win32/vs8/libgstaudioresample.vcproj:
	  * win32/vs8/libgstinterfaces.vcproj:
	  * win32/vs8/libgstogg.vcproj:
	  * win32/vs8/libgstriff.vcproj:
	  * win32/vs8/libgsttag.vcproj:
	  * win32/vs8/libgsttheora.vcproj:
	  * win32/vs8/libgstvideoscale.vcproj:
	  * win32/vs8/libgstvorbis.vcproj:
	  Misc. VS8 build fixes: fix syntax in config.h, add missing entries
	  to libgsttag.def; add missing dependencies for some vs8 projects;
	  re-arrange placement of .def files in vs8 projects (#366334).

2006-11-01 14:08:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstogg.c: Remove unused variable.
	  Original commit message from CVS:
	  * ext/ogg/gstogg.c:
	  Remove unused variable.
	  * ext/ogg/gstoggdemux.c:
	  Fix Wim's surname in plugin description.

2006-10-31 15:05:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-plugins-base.spec.in: spec new .h file. Fixes #368310.
	  Original commit message from CVS:
	  * gst-plugins-base.spec.in:
	  spec new .h file. Fixes #368310.

2006-10-31 14:19:07 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.*: Make using the remove or clear signals threadsafe.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
	  (gst_multi_fd_sink_remove), (gst_multi_fd_sink_clear),
	  (gst_multi_fd_sink_get_stats),
	  (gst_multi_fd_sink_remove_client_link),
	  (gst_multi_fd_sink_queue_buffer),
	  (gst_multi_fd_sink_handle_clients):
	  * gst/tcp/gstmultifdsink.h:
	  Make using the remove or clear signals threadsafe.
	  Make calling get-stats with an invalid fd not segfault.
	  Fixes 368273.

2006-10-31 10:49:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/: Fix and activate base audio payloader.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/Makefile.am:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  (gst_base_rtp_audio_payload_init):
	  Fix and activate base audio payloader.

2006-10-28 17:22:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for QuickTime Image Files (see #366156).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (qtif_type_find),
	  (plugin_init):
	  Add typefinder for QuickTime Image Files (see #366156).

2006-10-28 16:00:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioresample/gstaudioresample.c: Another typo fix (#366212).
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init):
	  Another typo fix (#366212).

2006-10-27 17:13:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/volume/gstvolume.c: Use stream time to synchronize volume property instead of rather random timestamps. This is n...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_transform_ip):
	  Use stream time to synchronize volume property instead of rather random
	  timestamps. This is needed when gnonlin does its time shifting.

2006-10-27 16:46:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	* ChangeLog:
	  I'm too lazy to comment this
	  Original commit message from CVS:
	  *** empty log message ***

2006-10-27 16:45:30 +0000  Mark Nauwelaerts <manauw@skynet.be>

	  ext/ogg/gstoggmux.c: Remove the pad from the element in release_pad.
	  Original commit message from CVS:
	  Patch by: Mark Nauwelaerts <manauw at skynet dot be>
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_release_pad):
	  Remove the pad from the element in release_pad.

2006-10-27 11:57:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/: Explicitly create our custom buffer classes at a thread-safe location as well, since g_type_class_ref() doesn't...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
	  Explicitly create our custom buffer classes at a thread-safe
	  location as well, since g_type_class_ref() doesn't seem to be
	  entirely thread-safe either (#365501; also see #349410).

2006-10-26 10:49:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-read.c: If strings in INFO chunk are not UTF-8, do something similar to what we do for ID3v1 t...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8),
	  (gst_riff_parse_info):
	  If strings in INFO chunk are not UTF-8, do something similar to
	  what we do for ID3v1 tags: check a number of environment variables
	  (GST_AVI_TAG_ENCODING, GST_RIFF_TAG_ENCODING, GST_TAG_ENCODING) for
	  character sets to try, otherwise try the current locale and/or fall
	  back on ISO-8859-1. Fixes #360552.

2006-10-23 12:46:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/: Add a bunch of exciting new checkers patterns.
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_pattern_get_type),
	  (gst_video_test_src_set_pattern):
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_checkers1),
	  (gst_video_test_src_checkers2), (gst_video_test_src_checkers4),
	  (gst_video_test_src_checkers8):
	  * gst/videotestsrc/videotestsrc.h:
	  Add a bunch of exciting new checkers patterns.

2006-10-23 12:06:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/: Add support for TMPlayer-type subtitles (#362845).
	  Original commit message from CVS:
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect),
	  (gst_sub_parse_format_autodetect), (handle_buffer),
	  (gst_sub_parse_chain), (gst_subparse_type_find), (plugin_init):
	  * gst/subparse/gstsubparse.h:
	  * gst/subparse/tmplayerparse.c: (tmplayer_parse_line),
	  (parse_tmplayer):
	  * gst/subparse/tmplayerparse.h:
	  Add support for TMPlayer-type subtitles (#362845).
	  * tests/check/elements/subparse.c: (test_tmplayer_do_test),
	  (GST_START_TEST), (subparse_suite):
	  Add some basic unit tests for the above.

2006-10-23 11:47:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/audiorate.c: More tests for audiorate: inject buffers to check behaviour when buffers overlap.
	  Original commit message from CVS:
	  * tests/check/elements/audiorate.c: (test_injector_base_init),
	  (test_injector_class_init), (test_injector_chain),
	  (test_injector_init), (probe_cb), (do_perfect_stream_test),
	  (GST_START_TEST), (audiorate_suite):
	  More tests for audiorate: inject buffers to check behaviour when
	  buffers overlap.

2006-10-21 16:39:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add some basic unit tests for audiorate. Disabled at the moment since it doesn't pass yet (see bug #363...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/audiorate.c: (probe_cb), (got_buf),
	  (do_perfect_stream_test), (GST_START_TEST), (audiorate_suite):
	  Add some basic unit tests for audiorate. Disabled at the moment
	  since it doesn't pass yet (see bug #363119).

2006-10-20 17:02:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Add missing closing tags for markup and fix broken markup, otherwise pango won't render a...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (subrip_fix_up_markup),
	  (parse_subrip), (handle_buffer):
	  Add missing closing tags for markup and fix broken markup,
	  otherwise pango won't render anything (fixes #357531). Also,
	  make sure the text we send out is always NUL-terminated
	  (better safe than sorry etc.).
	  * tests/check/elements/subparse.c: (test_srt_do_test),
	  (test_srt):
	  Some more tests for .srt incl. tests for the above stuff.

2006-10-20 13:56:55 +0000  Stefan Kost <ensonic@users.sf.net>

	  sys/: Try to redraw borders only when needed. Apparently this consumes resources on small devices... :-O (#363607)
	  Original commit message from CVS:
	  2006-10-20  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put):
	  Patch by: Stefan Kost  <ensonic@users.sf.net>
	  Try to redraw borders only when needed. Apparently this consumes
	  resources on small devices... :-O (#363607)

2006-10-20 13:54:19 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.c: If caps change, then update the client's idea of the caps so that we don't end up re-sendin...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c:
	  (gst_multi_fd_sink_client_queue_buffer):
	  If caps change, then update the client's idea of the caps so that we
	  don't end up re-sending streamheaders for every single buffer after
	  the caps change.

2006-10-20 12:31:02 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggparse.c: Set caps on pushed buffers; fix up refcounting of caps objects.
	  Original commit message from CVS:
	  * ext/ogg/gstoggparse.c: (gst_ogg_parse_dispose),
	  (gst_ogg_parse_append_header), (gst_ogg_parse_chain):
	  Set caps on pushed buffers; fix up refcounting of caps objects.

2006-10-19 14:09:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Typefind mmsh header data packet to application/x-mmsh (#362625).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mmsh_type_find),
	  (plugin_init):
	  Typefind mmsh header data packet to application/x-mmsh (#362625).

2006-10-19 09:17:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add very simple unit test for subparse.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/subparse.c: (buffer_from_static_string),
	  (setup_subparse), (teardown_subparse), (test_srt_do_test),
	  (GST_START_TEST), (subparse_suite):
	  Add very simple unit test for subparse.

2006-10-19 09:00:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Strip trailing newlines from subtitle text output.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (strip_trailing_newlines),
	  (parse_subrip):
	  Strip trailing newlines from subtitle text output.

2006-10-18 18:40:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Fix memleak; clear subparse->textbuf n state change function.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (gst_sub_parse_change_state):
	  Fix memleak; clear subparse->textbuf n state change function.

2006-10-18 15:13:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Don't require subrip (.srt) files to start with a chunk number of 1.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect):
	  Don't require subrip (.srt) files to start with a chunk number of 1.

2006-10-18 13:42:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.*: Extract rate from the NEWSEGMENT event.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_event), (gst_base_audio_sink_render):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  Extract rate from the NEWSEGMENT event.
	  Use commit_full to also take rate adjustment into account when writing
	  samples to the ringbuffer.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_commit_full), (gst_ring_buffer_commit),
	  (gst_ring_buffer_read):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Added _commit_full() to also take rate into account.
	  Use simple interpolation algorithm to resample audio.
	  API: gst_ring_buffer_commit_full()
	  * tests/examples/seek/scrubby.c: (speed_cb), (do_seek):
	  * tests/examples/seek/seek.c: (segment_done):
	  Don't try to seek with 0.0 rate, just pause instead.
	  Remove bogus debug line.

2006-10-18 12:57:54 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Catch async errors when starting up the subtitle bin, so we can stop waiting and conti...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (subbin_startup_sync_msg),
	  (setup_source):
	  Catch async errors when starting up the subtitle bin, so we can
	  stop waiting and continue with the main film instead of hanging
	  forever. Fixes #339366.
	  * tests/check/elements/playbin.c: (playbin_suite):
	  Enable unit test for the above.

2006-10-18 09:53:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Some small and basic unit tests for playbin; not very useful yet, but at least a start.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/playbin.c: (GST_START_TEST),
	  (gst_red_video_src_uri_get_type),
	  (gst_red_video_src_uri_get_protocols),
	  (gst_red_video_src_uri_get_uri), (gst_red_video_src_uri_set_uri),
	  (gst_red_video_src_uri_handler_init),
	  (gst_red_video_src_init_type), (gst_red_video_src_base_init),
	  (gst_red_video_src_create), (gst_red_video_src_class_init),
	  (gst_red_video_src_init), (plugin_init), (playbin_suite):
	  Some small and basic unit tests for playbin; not very useful yet,
	  but at least a start.

2006-10-18 09:46:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: The old pad activation spiel.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (setup_sinks):
	  The old pad activation spiel.

2006-10-18 09:31:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Don't hang forever if the subbin already fails to start up in the state change to PAUS...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source):
	  Don't hang forever if the subbin already fails to start up in
	  the state change to PAUSED (#339366).

2006-10-17 17:17:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/tuner.c: Fix some function guards, add some more function guards.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/tuner.c: (gst_tuner_list_channels),
	  (gst_tuner_set_channel), (gst_tuner_get_channel),
	  (gst_tuner_list_norms), (gst_tuner_set_norm), (gst_tuner_get_norm),
	  (gst_tuner_set_frequency), (gst_tuner_get_frequency),
	  (gst_tuner_signal_strength), (gst_tuner_find_norm_by_name),
	  (gst_tuner_find_channel_by_name):
	  Fix some function guards, add some more function guards.

2006-10-17 11:34:32 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: Don't return a pad from get_our_ghost_pad unless it is actually the one we want.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (get_our_ghost_pad),
	  (remove_element_chain):
	  Don't return a pad from get_our_ghost_pad unless it is actually the
	  one we want.
	  Change a cast in remove_element_chain slightly.

2006-10-13 15:20:29 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Segment seeking needs to use the rate and set stop to -1.
	  Original commit message from CVS:
	  2006-10-13  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (do_seek), (start_seek),
	  (rate_spinbutton_changed_cb), (segment_done),
	  (msg_state_changed):
	  Segment seeking needs to use the rate and set stop to -1.

2006-10-13 14:15:42 +0000  Ville Syrjala <ville.syrjala@movial.fi>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Don't crash when ringbuffer is not yet created.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_setcaps):
	  Don't crash when ringbuffer is not yet created.
	  Patch by: Ville Syrjala <ville dot syrjala at movial dot fi>
	  Fixes #361634.
	  * gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_request_new_pad):
	  Activate pads befre adding them to running elements.

2006-10-13 11:25:10 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Stop the scale updater when we start grabing the slider. Don't wait for the pipeline to b...
	  Original commit message from CVS:
	  2006-10-13  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (do_seek), (start_seek),
	  (rate_spinbutton_changed_cb), (msg_state_changed): Stop the
	  scale
	  updater when we start grabing the slider. Don't wait for the
	  pipeline to be PAUSED.

2006-10-13 08:57:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/mixer.c: Guard mixer interface functions against bogus arguments.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/mixer.c: (gst_mixer_list_tracks),
	  (gst_mixer_set_volume), (gst_mixer_get_volume),
	  (gst_mixer_set_mute), (gst_mixer_set_option),
	  (gst_mixer_get_option), (gst_mixer_mute_toggled),
	  (gst_mixer_record_toggled), (gst_mixer_volume_changed),
	  (gst_mixer_option_changed):
	  Guard mixer interface functions against bogus arguments.

2006-10-12 19:39:07 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: Use state-changed messages to trigger start/stop of scale update timer. Indeed the scale ...
	  Original commit message from CVS:
	  2006-10-12  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (do_seek), (start_seek),
	  (stop_seek),
	  (play_cb), (pause_cb), (stop_cb),
	  (rate_spinbutton_changed_cb),
	  (msg_state_changed), (main): Use state-changed messages to
	  trigger
	  start/stop of scale update timer. Indeed the scale slider was
	  jumping here and there because the update timer was activated
	  before seek completed. This fixes instant applying of rate
	  changes
	  by pressing the spinbutton like a crazy man !

2006-10-12 19:09:06 +0000  Sebastien Cote <sebas642@yahoo.ca>

	  gst-libs/gst/rtp/gstbasertppayload.c: Fix two small memory leaks (#361456).
	  Original commit message from CVS:
	  Patch by: Sebastien Cote  <sebas642 at yahoo.ca>
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
	  (gst_basertppayload_finalize):
	  Fix two small memory leaks (#361456).

2006-10-10 18:56:01 +0000  Julien Moutte <julien@moutte.net>

	  tests/examples/seek/seek.c: When changing spinbutton we try to change the rate on the fly.
	  Original commit message from CVS:
	  2006-10-10  Julien MOUTTE  <julien@moutte.net>
	  * tests/examples/seek/seek.c: (do_seek),
	  (rate_spinbutton_changed_cb): When changing spinbutton we try
	  to change the rate on the fly.

2006-10-10 16:50:06 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/: Add WMS caps.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Add WMS caps.

2006-10-10 12:49:03 +0000  Josep Torre Valles <josep@fluendo.com>

	  ext/gnomevfs/: Fix URI interface implementation return type.
	  Original commit message from CVS:
	  2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
	  Patch by: Josep Torre Valles <josep@fluendo.com>
	  * ext/gnomevfs/gstgnomevfssink.c:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Fix URI interface implementation return type.
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_set_property):
	  Fix what looks like a copy/paste issue when assigning values.
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  (gst_audio_filter_template_get_type):
	  Cast to prevent Forte warnings.
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
	  Fix URI interface implementation return type.
	  gst_pad_query_position requires a signed integer pointer as
	  3rd parameter, GstClockTime is unsigned.
	  * gst/audioconvert/audioconvert.c:
	  Fix integer overflow when treated as signed.
	  * gst/audioresample/resample.c: (resample_add_input_data):
	  Cast to prevent warnings on Forte.
	  * gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette):
	  Fix integer overflow when treated as signed.
	  * gst/ffmpegcolorspace/imgconvert_template.h:
	  Fix integer overflow when treated as signed. RGBA_OUT shifts bits.
	  * gst/playback/gstdecodebin.c: (queue_filled_cb),
	  (cleanup_decodebin):
	  Who initialises a guint to -1!
	  Cast function pointers to prevent warnings on Forte.
	  * gst/playback/gstplaybasebin.c: (queue_deadlock_check),
	  (queue_threshold_reached):
	  Cast function pointers correctly to prevent warnings on Forte.
	  * gst/playback/gststreaminfo.c: (gst_stream_info_dispose):
	  Cast function pointers correctly to prevent warnings on Forte.
	  * gst/subparse/gstssaparse.c: (gst_ssa_parse_setcaps):
	  Obvious change to unsigned, 0xEF > max signed char.
	  * gst/tcp/gstmultifdsink.c: (get_buffers_max), (count_burst_unit):
	  GstClockTime is unsigned, initialise correctly.
	  * gst/tcp/gsttcp.c: (gst_tcp_socket_write):
	  Cast so pointer arithemetic doesn't cause warnings on Forte.
	  * gst/videorate/gstvideorate.c:
	  Use correct return value.
	  * tests/examples/seek/scrubby.c:
	  GstClockTime is unsigned, initialise correctly.

2006-10-10 11:20:03 +0000  Ferenc Gerlits <fgerlits@gmail.com>

	  gst/typefind/gsttypefindfunctions.c: Recognise XML files and XML-like files shorter than 256 bytes as well (fixes #35...
	  Original commit message from CVS:
	  Patch by: Ferenc Gerlits  <fgerlits at gmail com>
	  * gst/typefind/gsttypefindfunctions.c:
	  Recognise XML files and XML-like files shorter than 256 bytes as
	  well (fixes #359237).

2006-10-09 15:01:30 +0000  Edgard Lima <edgard.lima@indt.org.br>

	* ChangeLog:
	* common:
	* gst/typefind/gsttypefindfunctions.c:
	  Added typefind functions to video/x-nuv media.
	  Original commit message from CVS:
	  Added typefind functions to video/x-nuv media.

2006-10-08 16:59:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/xoverlay.c: Some more guards against invalid input.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/xoverlay.c:
	  (gst_x_overlay_set_xwindow_id), (gst_x_overlay_expose):
	  Some more guards against invalid input.

2006-10-07 18:35:39 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Useless goto.
	  Original commit message from CVS:
	  2006-10-07  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event):
	  Useless goto.
	  * tests/examples/seek/seek.c: (do_seek),
	  (rate_spinbutton_changed_cb), (main): Add a rate spinbutton in
	  seek example to experiment with rates != 1.0 (reverse playback
	  !)

2006-10-06 19:20:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/interfaces/xoverlay.c: Unref message in doc-example (spotted by Robert McQueen)
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/xoverlay.c:
	  Unref message in doc-example (spotted by Robert McQueen)

2006-10-06 17:04:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/typefind/gsttypefindfunctions.c: printf fix.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
	  (mpeg1_parse_header), (mpeg1_sys_type_find):
	  printf fix.

2006-10-06 14:37:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/: Activate dynamic pads before adding them to the element.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_init),
	  (close_pad_link):
	  * gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
	  Activate dynamic pads before adding them to the element.

2006-10-06 14:04:53 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/floatcast/floatcast.h: Fix obviously-bogus macros; use the correct types.
	  Original commit message from CVS:
	  * gst-libs/gst/floatcast/floatcast.h:
	  Fix obviously-bogus macros; use the correct types.

2006-10-06 13:34:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Also call parent state change function to activate pads.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_change_state):
	  Also call parent state change function to activate pads.
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
	  (mpeg1_parse_header), (mpeg1_sys_type_find):
	  Add some more debug info in mpeg typefinding.

2006-10-06 12:57:10 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoradec.c: Zero byte theora packets are valid and well-defined; don't warn on them.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_chain):
	  Zero byte theora packets are valid and well-defined; don't warn on
	  them.

2006-10-06 10:04:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gstmultifdsink.c: API: add dropped_buffers to the get-stats GValueArray
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
	  (gst_multi_fd_sink_get_stats), (find_limits),
	  (gst_multi_fd_sink_queue_buffer):
	  API: add dropped_buffers to the get-stats GValueArray

2006-10-05 15:55:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Printf format fixes.
	  Original commit message from CVS:
	  * ext/alsa/gstalsadeviceprobe.c:
	  (gst_alsa_device_property_probe_get_values):
	  * ext/alsa/gstalsasink.c: (set_hwparams):
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_elem_pad),
	  (gst_ogg_chain_new_stream), (gst_ogg_demux_read_chain):
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_send_headers),
	  (gst_ogg_mux_process_best_pad):
	  * ext/ogg/gstoggparse.c: (gst_ogg_parse_new_stream),
	  (gst_ogg_parse_chain):
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_stream_header):
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_setup),
	  (gst_vorbis_enc_buffer_check_discontinuous):
	  * ext/vorbis/vorbisparse.c: (vorbis_parse_src_query):
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_handle_track_seek):
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_push_full):
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
	  * gst/audioresample/resample.c: (resample_input_pushthrough):
	  * gst/playback/gstplaybasebin.c: (queue_out_of_data):
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients):
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
	  (wavpack_type_find):
	  * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
	  * tests/check/elements/volume.c: (GST_START_TEST):
	  Printf format fixes.

2006-10-04 13:18:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gsttcp.c: Fix a simple mistake (see the docs)
	  Original commit message from CVS:
	  * gst/tcp/gsttcp.c: (gst_tcp_gdp_read_caps):
	  Fix a simple mistake (see the docs)
	  Fixes #359580

2006-10-04 13:15:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* win32/common/config.h:
	  bump version
	  Original commit message from CVS:
	  bump version

2006-10-03 12:11:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/: Add vorbistag element to docs; update version numbers to 0.10.10.1.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-libvisual.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playbin.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  Add vorbistag element to docs; update version numbers to 0.10.10.1.

2006-10-03 11:51:48 +0000  James Doc Livingston <doclivingston@gmail.com>

	  ext/vorbis/: Add new vorbistag element which derives from vorbisparse and is essentially the same as well, only that ...
	  Original commit message from CVS:
	  Patch by: James "Doc" Livingston <doclivingston at gmail com>
	  * ext/vorbis/Makefile.am:
	  * ext/vorbis/vorbis.c: (plugin_init):
	  * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init),
	  (vorbis_parse_parse_packet), (vorbis_parse_chain):
	  * ext/vorbis/vorbisparse.h:
	  * ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init),
	  (gst_vorbis_tag_class_init), (gst_vorbis_tag_init),
	  (gst_vorbis_tag_parse_packet):
	  * ext/vorbis/vorbistag.h:
	  Add new vorbistag element which derives from vorbisparse
	  and is essentially the same as well, only that it implements
	  the GstTagSetter interface and can modify the stream's
	  vorbiscomment on the fly (#335635).
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/vorbistag.c: (setup_vorbistag),
	  (cleanup_vorbistag), (buffer_probe), (start_pipeline),
	  (get_buffer), (stop_pipeline), (_create_codebook_header_buffer),
	  (_create_audio_buffer), (GST_START_TEST), (vorbistag_suite):
	  Add unit test for new vorbistag element.

2006-10-03 10:36:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/vorbis/vorbisparse.c: Set BOS flag in packet structure to fix 'jump depends on unitialized value' errors in valgr...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init),
	  (vorbis_parse_push_headers), (vorbis_parse_chain):
	  Set BOS flag in packet structure to fix 'jump depends
	  on unitialized value' errors in valgrind; various minor
	  clean-ups.

2006-09-30 15:30:07 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: Fix typo in a debug statement.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (close_pad_link):
	  Fix typo in a debug statement.
	  * gst/playback/gstplaybasebin.c: (probe_triggered),
	  (new_decoded_pad_full), (new_decoded_pad), (subs_new_decoded_pad),
	  (gen_source_element), (source_new_pad), (analyse_source),
	  (setup_source):
	  When handling no_more_pads in new_decoded_pad, make sure to treat
	  subtitle pads correctly. Fixes playback with subtitle files.
	  Move a recurring message to LOG level.
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
	  The maximum value for the Xv colorkey on this Radeon is 0xFFFFFFFF,
	  which ends up as -1 when cast to an int. Make the logic handle the
	  max value as an unsigned mask and only change the colorkey when it's
	  a value we recognise.

2006-09-30 00:14:20 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Removed empty * between paragraphs
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  Removed empty * between paragraphs

2006-09-29 23:50:53 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/: Moved some documentation into .c file
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/README:
	  Moved some documentation into .c file

2006-09-29 17:35:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Fix compilation.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (no_more_pads):
	  Fix compilation.

2006-09-29 16:04:05 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Remove g_print
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (new_caps):
	  Remove g_print
	  * gst/playback/gstplaybin.c:
	  Add some docs.

2006-09-29 15:16:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Re-enable cddabasesrc test to see if it works again now.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Re-enable cddabasesrc test to see if it works again
	  now.

2006-09-29 13:46:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Handle invalid URIs a bit more gracefully.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_subtitle),
	  (gen_source_element):
	  Handle invalid URIs a bit more gracefully.

2006-09-29 12:54:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/oggmux.c: Remove obsolete comment.
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c:
	  Remove obsolete comment.

2006-09-29 10:43:05 +0000  James Doc Livingston <doclivingston@gmail.com>

	  ext/ogg/gstoggmux.c: Commit patch from James "Doc" Livingston, adds proper EOS handling in oggmux. GStreamer can, for...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad),
	  (gst_ogg_mux_release_pad), (gst_ogg_mux_push_buffer),
	  (gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
	  (gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad),
	  (gst_ogg_mux_collected):
	  Commit patch from James "Doc" Livingston, adds proper EOS handling
	  in oggmux. GStreamer can, for the first time ever, create a valid
	  Ogg file! Yay!
	  * tests/check/pipelines/oggmux.c: (check_chain_final_state),
	  (oggmux_suite):
	  Reenable tests now that they pass.

2006-09-29 08:20:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.c: Stop reading commands when EOF (we read 0) as well.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_handle_clients):
	  Stop reading commands when EOF (we read 0) as well.

2006-09-28 15:29:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Implement delayed caps linking needed for element with a lot of different caps on the sr...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (dynamic_create), (dynamic_free),
	  (close_pad_link), (dynamic_remove), (no_more_pads), (new_caps),
	  (find_dynamic), (unlinked), (close_link):
	  Implement delayed caps linking needed for element with a lot of
	  different caps on the src pads that get fixed at runtime.
	  Improve management of dynamic elements.
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
	  (group_destroy), (group_commit), (check_queue), (queue_overrun),
	  (gen_preroll_element), (remove_groups), (unknown_type),
	  (add_element_stream), (no_more_pads_full), (no_more_pads),
	  (sub_no_more_pads), (source_no_more_pads), (preroll_unlinked),
	  (new_decoded_pad), (setup_subtitle), (array_has_value),
	  (gen_source_element), (source_new_pad), (has_all_raw_caps),
	  (analyse_source), (remove_decoders), (make_decoder),
	  (remove_source), (setup_source), (finish_source), (prepare_output),
	  (gst_play_base_bin_change_state):
	  * gst/playback/gstplaybasebin.h:
	  Use more _CAST instead of full type checking casts.
	  Small cleanups, plug some leaks.
	  Handle dynamic sources.
	  Add some helper functions to create lists of strings used for
	  blacklisting and other stuff.
	  Refactor some code dealing with analysing the source.
	  Re-enable sources without pads (like cd:// or other selfcontained
	  elements).

2006-09-28 15:08:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: When we have a timestamp, we can still perform clipping.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  When we have a timestamp, we can still perform clipping.
	  When we have no clock, we must play the sample ASAP.

2006-09-28 11:46:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiorate/gstaudiorate.c: Set caps on outgoing buffers.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  Set caps on outgoing buffers.
	  * gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev),
	  (gst_video_rate_event), (gst_video_rate_chain):
	  * gst/videorate/gstvideorate.h:
	  Fix videorate some more. Fixes #357977

2006-09-28 11:34:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/adder.c: Don't set timeout to 6 seconds when we're running in valgrind ... (and how is 6 seconds...
	  Original commit message from CVS:
	  * tests/check/elements/adder.c: (adder_suite):
	  Don't set timeout to 6 seconds when we're running
	  in valgrind ... (and how is 6 seconds longer than
	  the default anyway?)

2006-09-28 10:49:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiorate/gstaudiorate.c: Keep sink and src segment to keep track of time and support more input formats.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
	  (gst_audio_rate_sink_event), (gst_audio_rate_convert),
	  (gst_audio_rate_convert_segments), (gst_audio_rate_chain):
	  Keep sink and src segment to keep track of time and support more
	  input formats.
	  Fix bogus next_offset and run_time calculation, don't understand how
	  this could have worked before. Fixes #357976.
	  Remove some unneeded vars.

2006-09-28 09:41:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Only remove visualisation from visbin if there is a visbin (or: don't throw warnings when ...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (remove_sinks):
	  Only remove visualisation from visbin if there is a visbin (or:
	  don't throw warnings when closing totem without playing a file).

2006-09-27 13:52:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Add some more info in a WARNING.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  Add some more info in a WARNING.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_create):
	  Handle PAUSE in create function, use new -core addition to
	  wait for playing. Fixes pausing and resuming capture from an
	  audiosrc.
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
	  (gst_ring_buffer_read):
	  Constify some more.
	  Caller supports interrupted reads now.

2006-09-27 13:29:49 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  add new header file to spec
	  Original commit message from CVS:
	  add new header file to spec

2006-09-27 12:55:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Another attempt to make the gen64 buildbot happy.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Another attempt to make the gen64 buildbot happy.

2006-09-27 11:58:17 +0000  Jonathan Matthew <jonathan@kaolin.wh9.net>

	  ext/libvisual/visual.c: Libvisual plugin was not passing audio data to libvisual 0.4.0 correctly. Fixes #357800
	  Original commit message from CVS:
	  Patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
	  * ext/libvisual/visual.c: (gst_visual_clear_actors),
	  (gst_visual_chain), (gst_visual_change_state):
	  Libvisual plugin was not passing audio data to libvisual 0.4.0
	  correctly. Fixes #357800

2006-09-27 11:31:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/simple-launch-lines.c: Add timeout to _get_state() so we see which pipeline it is that causes t...
	  Original commit message from CVS:
	  * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
	  Add timeout to _get_state() so we see which pipeline it is
	  that causes trouble on the gen64 build bot.

2006-09-27 11:06:54 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: the source pad always uses fixed caps.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_push_full),
	  (gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_process),
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  the source pad always uses fixed caps.

2006-09-27 11:05:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Added docs for the audio libs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/gstaudioclock.c:
	  * gst-libs/gst/audio/gstaudioclock.h:
	  * gst-libs/gst/audio/gstaudiosink.c:
	  * gst-libs/gst/audio/gstaudiosink.h:
	  * gst-libs/gst/audio/gstaudiosrc.c:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Added docs for the audio libs.

2006-09-27 10:59:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Temporarily disable test that fails on the bots for unknown reasons.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Temporarily disable test that fails on the bots for unknown reasons.

2006-09-27 00:13:29 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.*: Moved AudioCodecType into priv
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  Moved AudioCodecType into priv
	  Renamed all gst_basertpaudiopayload to gst_base_rtp_audio_payload prefixes

2006-09-25 15:47:25 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Cleanups and small leak fixes.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
	  (add_fakesink), (remove_fakesink), (pad_probe), (close_pad_link),
	  (is_demuxer_element), (try_to_link_1), (get_our_ghost_pad),
	  (new_pad):
	  Cleanups and small leak fixes.
	  Added Depayloaders to valid list of autopluggable elements.

2006-09-25 13:24:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin.c: Detect NO_PREROLL state change returns and disable clock distribution to the sinks so that...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init),
	  (gst_play_bin_vis_blocked), (gst_play_bin_set_property),
	  (gen_video_element), (gen_text_element), (gen_audio_element),
	  (gen_vis_element), (remove_sinks), (add_sink), (setup_sinks),
	  (gst_play_bin_set_clock_func), (gst_play_bin_change_state):
	  Detect NO_PREROLL state change returns and disable clock distribution to
	  the sinks so that sync is disabled.
	  Avoid some type checking and do simple casts instead.
	  Small cleanups, fix some FIXMEs.
	  Be more robust when linking user specified elements, catch an report
	  errors. Fixes #357404.
	  Fix some leaks in the error paths.

2006-09-25 12:55:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	* ChangeLog:
	  ChangeLog surgery for missing bug-number
	  Original commit message from CVS:
	  ChangeLog surgery for missing bug-number

2006-09-25 11:28:15 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst/playback/test.c: Fix compilation with uClibc and -Werror (#357591).
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst/playback/test.c:
	  Fix compilation with uClibc and -Werror (#357591).

2006-09-25 10:21:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Parse dates that are followed by a time as well (#357532).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  Parse dates that are followed by a time as well (#357532).
	  * tests/check/libs/tag.c: (test_vorbis_tags):
	  Add unit test for this.

2006-09-23 15:24:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: A few array const-ifications.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
	  (gst_audio_convert_transform_caps):
	  * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor):
	  * gst/videotestsrc/videotestsrc.h:
	  A few array const-ifications.

2006-09-23 15:02:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: See if this makes the build bots happy.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  See if this makes the build bots happy.
	  * tests/check/libs/cddabasesrc.c:
	  UTF8-ise my name.

2006-09-23 14:30:53 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: More case-insensitivity for certain tags; recognise entities with decimal codes as special ...
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian dot net>
	  * gst/subparse/samiparse.c: (handle_start_font),
	  (fix_invalid_entities):
	  More case-insensitivity for certain tags; recognise entities with
	  decimal codes as special entities as well (#357330).

2006-09-23 13:32:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/Makefile.am: Need to build tag directory before cdda.
	  Original commit message from CVS:
	  * gst-libs/gst/Makefile.am:
	  Need to build tag directory before cdda.

2006-09-23 13:21:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can ex...
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/cdda/Makefile.am:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_base_init):
	  * gst-libs/gst/cdda/gstcddabasesrc.h:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal),
	  (gst_tag_register_musicbrainz_tags):
	  Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc
	  depend on libgsttag. This is required so we can extract/read tags like
	  DISCID without depending on libgstcddabasesrc (which used to register
	  them).
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID
	  tags (also see #347848).
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1):
	  Log vorbis comments we are actually writing. Const-ify array.

2006-09-23 08:53:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Improve buffering a bit by avoiding a deadlock because we cannot assume the underrun i...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gen_preroll_element):
	  Improve buffering a bit by avoiding a deadlock because we cannot assume
	  the underrun is always called.

2006-09-23 08:51:14 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst-libs/gst/riff/: Added MPEG-4 AAC and id and caps. Fixes #357289
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian dot net>
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Added MPEG-4 AAC and id and caps. Fixes #357289
	  Added WMA9 Lossless id.

2006-09-22 14:50:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Fix misleading docs addition.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Fix misleading docs addition.
	  * tests/check/elements/videotestsrc.c: (check_rgb_buf):
	  Get rid of compiler warning the right way.

2006-09-22 14:13:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Small cleanups.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_finalize),
	  (gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_push_full),
	  (gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_push),
	  (gst_base_rtp_depayload_process),
	  (gst_base_rtp_depayload_set_gst_timestamp),
	  (gst_base_rtp_depayload_queue_release):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Small cleanups.
	  Fix some leaks.
	  Refactored the process method and added methods to push from the process
	  vmethod.
	  Use _scale functions.
	  API: gst_base_rtp_depayload_push_ts
	  API: gst_base_rtp_depayload_push
	  * gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
	  timestamps are uint.

2006-09-22 11:59:00 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/interfaces/xoverlay.c: Remove unused statement from doc example.
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/xoverlay.c:
	  Remove unused statement from doc example.

2006-09-22 09:52:21 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/videorate/gstvideorate.c:
	  update docs
	  Original commit message from CVS:
	  update docs

2006-09-21 13:49:47 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/interfaces/videoorientation.c: Add since tags to new API docs, ChangeLog surgery (forgot API keyword in ...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/videoorientation.c:
	  (gst_video_orientation_iface_init),
	  (gst_video_orientation_get_hflip),
	  (gst_video_orientation_get_vflip),
	  (gst_video_orientation_get_hcenter),
	  (gst_video_orientation_get_vcenter),
	  (gst_video_orientation_set_hflip),
	  (gst_video_orientation_set_vflip),
	  (gst_video_orientation_set_hcenter),
	  (gst_video_orientation_set_vcenter):
	  Add since tags to new API docs, ChangeLog surgery (forgot API keyword
	  in ChangeLog)

2006-09-21 09:27:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: but disable for now since it doesn't pass (something wrong with
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/ffmpegcolorspace.c: (rgb_format_to_caps),
	  (create_rgb_conversions), (rgb_conversion_free),
	  (right_shift_colour), (fix_expected_colour), (check_rgb_buf),
	  (got_buf_cb), (GST_START_TEST), (ffmpegcolorspace_suite):
	  Add unit test for ffmpegcolorspace (RGB <=> RGB only so far),
	  but disable for now since it doesn't pass (something wrong with
	  RGBA somewhere).

2006-09-21 07:01:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Refactor handling of overrun detection.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (group_commit),
	  (queue_deadlock_check), (queue_overrun), (queue_threshold_reached),
	  (queue_out_of_data), (gen_preroll_element),
	  (preroll_remove_overrun), (probe_triggered):
	  Refactor handling of overrun detection.
	  Separate handling of group completion and deadlock detection when doing
	  network buffering. This should fix some deadlocks that were not detected
	  because the group was completed.
	  Add more comments, improve debugging.

2006-09-21 05:31:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/: Some more compilation fixes.
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (GST_START_TEST):
	  * tests/check/libs/audio.c:
	  Some more compilation fixes.

2006-09-21 05:12:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Early morning compilation fix.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
	  (gst_ring_buffer_read):
	  Early morning compilation fix.

2006-09-20 18:09:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  bump nano
	  Original commit message from CVS:
	  bump nano

2006-09-20 17:04:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/: Fix some warnings.
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (GST_START_TEST):
	  * tests/check/elements/multifdsink.c: (GST_START_TEST):
	  * tests/check/elements/videorate.c: (GST_START_TEST):
	  * tests/check/libs/cddabasesrc.c: (GST_START_TEST):
	  * tests/check/pipelines/oggmux.c: (eos_buffer_probe):
	  Fix some warnings.

2006-09-20 10:59:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: change colorkey behaviour back according to #354773 comment 6/7
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
	  (gst_xvimagesink_get_times):
	  change colorkey behaviour back according to #354773 comment 6/7

2006-09-20 10:42:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery: remove junk
	  Original commit message from CVS:
	  ChangeLog surgery: remove junk

2006-09-19 11:31:06 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.*: Implement stubbed out properties unit-type, units-soft-max, units-max, to allow specifying ...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
	  (gst_multi_fd_sink_class_init), (get_buffers_max), (find_limits),
	  (gst_multi_fd_sink_recover_client),
	  (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_set_property),
	  (gst_multi_fd_sink_get_property):
	  * gst/tcp/gstmultifdsink.h:
	  Implement stubbed out properties unit-type, units-soft-max,
	  units-max, to allow specifying maximum sizes in units other than
	  buffers.
	  Fixes #355935

2006-09-19 10:23:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-media.c: Reorder the audio formats a bit for clarity.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Reorder the audio formats a bit for clarity.
	  Detect and create caps for MSGSM and MSN (WAV49).
	  Fixes #356596.
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame):
	  Small cleanups, move error handling out of normal flow for clarity.

2006-09-18 15:59:39 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add new interface to control video orientation (fixes #354908)
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs.types:
	  * gst-libs/gst/interfaces/Makefile.am:
	  * gst-libs/gst/interfaces/videoorientation.c:
	  (gst_video_orientation_get_type),
	  (gst_video_orientation_iface_init),
	  (gst_video_orientation_get_hflip),
	  (gst_video_orientation_get_vflip),
	  (gst_video_orientation_get_hcenter),
	  (gst_video_orientation_get_vcenter),
	  (gst_video_orientation_set_hflip),
	  (gst_video_orientation_set_vflip),
	  (gst_video_orientation_set_hcenter),
	  (gst_video_orientation_set_vcenter):
	  * gst-libs/gst/interfaces/videoorientation.h:
	  Add new interface to control video orientation (fixes #354908)

2006-09-18 15:48:01 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/videotestsrc/gstvideotestsrc.c: Use G_UNLIKELY in _create and log one more detail.
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  Use G_UNLIKELY in _create and log one more detail.
	  (gst_video_test_src_get_times), (gst_video_test_src_create):
	  * sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
	  Use gst_util_uint64_scale_int in _get_times().

2006-09-18 15:00:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support)
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support)
	  Give better warning message (add object and detail).

2006-09-18 14:42:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  sys/xvimage/xvimagesink.c: xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes #354773), use gst_util...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
	  (gst_xvimagesink_get_times):
	  xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes
	  #354773), use gst_util_uint64_scale_int in _get_times()

2006-09-18 14:21:45 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggmux.c: Timestamps are unsigned; comparision against GST_CLOCK_TIME_NONE was always true, leading to dro...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_push_buffer):
	  Timestamps are unsigned; comparision against GST_CLOCK_TIME_NONE was
	  always true, leading to dropping all timestamps.

2006-09-18 11:40:14 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/libvisual/visual.c: update to work also with libvisual 0.4 API
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_vis_src_negotiate),
	  (gst_visual_chain), (gst_visual_change_state):
	  update to work also with libvisual 0.4 API
	  * tools/gst-launch-ext.1.in:
	  * tools/gst-visualise.1.in:
	  remove references to old man-pages
	  * tests/examples/seek/seek.c: (main):
	  add real meadi-buttons, add tool-tips for the seek-options, arrange
	  seek options in a table

2006-09-18 10:57:28 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggmux.c: Don't generate out-of-order timestamps from oggmux, instead clamp output timestamps to be >= the...
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_clear),
	  (gst_ogg_mux_push_buffer):
	  Don't generate out-of-order timestamps from oggmux, instead clamp
	  output timestamps to be >= the previously output ts.
	  Fixes #355595

2006-09-18 10:18:22 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.c: Updates, fixes, and typo corrections for multifdsink. No functional changes.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
	  (gst_multi_fd_sink_class_init):
	  Updates, fixes, and typo corrections for multifdsink. No functional
	  changes.

2006-09-17 21:58:06 +0000  Michael Smith <msmith@xiph.org>

	  gst/typefind/gsttypefindfunctions.c: Don't crash on truncated files - check that we got an 8 byte buffer before tryin...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (ogganx_type_find):
	  Don't crash on truncated files - check that we got an 8 byte buffer
	  before trying to memcmp it.

2006-09-17 20:32:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Make stream-switching appear instant to the application (ie. make sure that a g_object...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (get_active_source):
	  Make stream-switching appear instant to the application
	  (ie. make sure that a g_object_get on 'current-foo' returns
	  the stream previously set with g_object_set(). Totem needs
	  this to update stream-related meta-info (like audio-codec)
	  correctly when switching streams.

2006-09-17 20:14:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsamixer.c: Try harder to guess which mixer track is the master mixer track (instead of just taking the ...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer),
	  (gst_alsa_mixer_ensure_track_list):
	  Try harder to guess which mixer track is the master mixer
	  track (instead of just taking the first one that has a pvolume).
	  Fixes #342228.

2006-09-17 11:24:21 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/gstaudioconvert.c: Get structure-name just once.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
	  (gst_audio_convert_transform_caps):
	  Get structure-name just once.

2006-09-16 22:30:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/: Fix big batch of compiler warnings.
	  Original commit message from CVS:
	  * tests/check/elements/audioresample.c: (GST_START_TEST):
	  * tests/check/elements/videotestsrc.c: (check_rgb_buf):
	  * tests/check/elements/volume.c: (GST_START_TEST):
	  * tests/check/elements/vorbisdec.c: (GST_START_TEST):
	  * tests/check/pipelines/oggmux.c: (validate_ogg_page), (eos_watch),
	  (test_pipeline), (GST_START_TEST):
	  * tests/check/pipelines/theoraenc.c: (GST_START_TEST):
	  * tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
	  Fix big batch of compiler warnings.

2006-09-16 21:54:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Add docs about icydemux usage in connection with gnomevfssrc
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Add docs about icydemux usage in connection with gnomevfssrc
	  * ext/libvisual/visual.c:
	  * ext/ogg/gstoggaviparse.c:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggparse.c:
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  * gst-libs/gst/audio/gstaudiosink.c:
	  * gst-libs/gst/audio/gstaudiosrc.c:
	  * gst/audiorate/gstaudiorate.c:
	  More G_OBJECT macro fixing.
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Fix wrong info in header due to copy & paste

2006-09-15 14:53:44 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/: Do the delay calculation in the source/sink base classes as this is specific for the capture/pla...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_get_time), (gst_base_audio_sink_callback):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_get_time), (gst_base_audio_src_fixate),
	  (gst_base_audio_src_get_times), (gst_base_audio_src_get_offset),
	  (gst_base_audio_src_create), (gst_base_audio_src_change_state):
	  Do the delay calculation in the source/sink base classes as this is
	  specific for the capture/playback mode.
	  Try to fixate a bit better, like round depth up to a multiple of 8
	  bigger than width.
	  Handle underruns correctly by marking DISCONT on buffers and adjusting
	  timestamps to handle the gap.
	  Set offset/offset_end correctly on buffers.
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause),
	  (gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
	  (gst_ring_buffer_read):
	  Remove resync and underrun recovery from the ringbuffer.
	  Fix ringbuffer read code on under/overrun.

2006-09-15 11:17:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.*: Don't use a 0 low watermark when buffering, it is catching starvation way too late. In...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (gst_play_base_bin_init), (fill_buffer), (check_queue),
	  (queue_threshold_reached), (gst_play_base_bin_set_property),
	  (gst_play_base_bin_get_property):
	  * gst/playback/gstplaybasebin.h:
	  Don't use a 0 low watermark when buffering, it is catching starvation
	  way too late. Instead, use a 3 second queue with 30 and 95
	  percent low/high watermarks.
	  Added queue-min-threshold property to configure low watermark.
	  Use new _buffering message API.
	  Make queue_threshold variable big enough to store a uint64 time value.
	  API: playbin::queue-min-threshold property.

2006-09-15 09:13:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  configure.ac: We require 0.10.10.1 now because of _wait_preroll().
	  Original commit message from CVS:
	  * configure.ac:
	  We require 0.10.10.1 now because of _wait_preroll().
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  Use gst_base_sink_wait_preroll().

2006-09-15 09:09:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/: Use DEBUG_OBJECT more.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (xrun_recovery), (gst_alsasink_write):
	  * ext/alsa/gstalsasrc.c: (xrun_recovery), (gst_alsasrc_read):
	  Use DEBUG_OBJECT more.

=== release 0.10.10 ===

2006-09-14 20:09:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gdp.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* ext/theora/theoraparse.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst/playback/gstplaybin.c:
	* tests/check/Makefile.am:
	* win32/common/config.h:
	  releasing 0.10.10
	  Original commit message from CVS:
	  releasing 0.10.10

2006-09-09 16:08:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* win32/common/config.h:
	  second prerelease
	  Original commit message from CVS:
	  second prerelease

2006-09-07 19:01:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	  update bug in changelog
	  Original commit message from CVS:
	  update bug in changelog

2006-09-07 19:00:33 +0000  Michael Smith <msmith@fluendo.com>

	  Fix implementation of sync-method 'next-keyframe'
	  Original commit message from CVS:
	  patch by: Michael Smith <msmith at fluendo dot com>
	  * gst/tcp/gstmultifdsink.c: (is_sync_frame),
	  (gst_multi_fd_sink_client_queue_buffer),
	  (gst_multi_fd_sink_new_client):
	  * tests/check/elements/multifdsink.c: (GST_START_TEST),
	  (multifdsink_suite):
	  Fix implementation of sync-method 'next-keyframe'

2006-09-07 15:00:08 +0000  Wim Taymans <wim@fluendo.com>

	  ext/gnomevfs/gstgnomevfssrc.c: This patch removes the RANDOM flag that was incorrectly introduced with revision 1.91....
	  Original commit message from CVS:
	  patch by: Wim Taymans <wim at fluendo dot com>
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
	  This patch removes the RANDOM flag that was incorrectly introduced with
	  revision 1.91.  Fixes #354590

2006-09-07 14:56:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* win32/common/config.h:
	  first prerelease
	  Original commit message from CVS:
	  first prerelease

2006-09-07 14:56:31 +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-09-05 09:12:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Random variation in Makefile line to see if it makes the gen64-base-full bot any happier.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Random variation in Makefile line to see if it makes the
	  gen64-base-full bot any happier.

2006-09-04 19:04:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/pipelines/oggmux.c: Disable test that fails at the moment (killed after timeout).
	  Original commit message from CVS:
	  * tests/check/pipelines/oggmux.c: (oggmux_suite):
	  Disable test that fails at the moment (killed after timeout).

2006-09-04 18:19:06 +0000  James Livingston <doclivingston@gmail.com>

	  tests/check/: Add simple unit test for oggmux from #337026 with checking for the
	  Original commit message from CVS:
	  Patch by: James Livingston  <doclivingston at gmail.com>
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/.cvsignore:
	  * tests/check/pipelines/oggmux.c: (get_page_codec),
	  (check_chain_final_state), (fail_if_audio), (validate_ogg_page),
	  (eos_buffer_probe), (start_pipeline), (stop_pipeline), (eos_watch),
	  (test_pipeline), (test_vorbis), (test_theora), (test_vorbis_theora),
	  (test_theora_vorbis), (oggmux_suite):
	  Add simple unit test for oggmux from #337026 with checking for the
	  EOS flags disabled for the time being.

2006-09-04 09:13:01 +0000  Alessandro Dessina <alessandro@nnva.org>

	  ext/ogg/gstoggmux.c: Add cmml caps to oggmux. Fixes #353912
	  Original commit message from CVS:
	  patch by: Alessandro Dessina <alessandro nnva org>
	  * ext/ogg/gstoggmux.c:
	  Add cmml caps to oggmux. Fixes #353912

2006-09-02 13:20:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/videotestsrc.c: Returning a return value often helps. In this case, we don't need the return val...
	  Original commit message from CVS:
	  * tests/check/elements/videotestsrc.c: (check_rgb_buf):
	  Returning a return value often helps. In this case, we
	  don't need the return value anyway, so just get rid of it.
	  Should make build bots much happier.

2006-09-02 12:59:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/videotestsrc.*: Add support for AYUV and the various RGBA formats. Initialise fields of paintinfo st...
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure),
	  (paint_get_structure), (gst_video_test_src_get_size),
	  (gst_video_test_src_smpte), (gst_video_test_src_snow),
	  (gst_video_test_src_unicolor), (paint_setup_AYUV),
	  (paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888),
	  (paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4):
	  * gst/videotestsrc/videotestsrc.h:
	  Add support for AYUV and the various RGBA formats. Initialise
	  fields of paintinfo structs allocated on the stack.
	  * tests/check/elements/videotestsrc.c: (right_shift_colour),
	  (fix_expected_colour), (check_rgb_buf), (got_buf_cb),
	  (GST_START_TEST), (videotestsrc_suite):
	  Add unit tests for videotestsrc's RGB output.

2006-09-01 16:12:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/: Add more uni-colour patterns ("white", "red", "green", and "blue").
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_pattern_get_type),
	  (gst_video_test_src_set_pattern):
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor),
	  (gst_video_test_src_black), (gst_video_test_src_white),
	  (gst_video_test_src_red), (gst_video_test_src_green),
	  (gst_video_test_src_blue):
	  * gst/videotestsrc/videotestsrc.h:
	  Add more uni-colour patterns ("white", "red", "green", and "blue").

2006-09-01 10:07:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/videotestsrc.c: Fix stride for YVYU, should be word-aligned (#353658).
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.c: (paint_setup_YVYU):
	  Fix stride for YVYU, should be word-aligned (#353658).

2006-08-31 14:37:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/adder/gstadder.c: Fix build.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_src_event):
	  Fix build.

2006-08-31 12:39:17 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/adder/gstadder.*: Remember the start position asked in the incoming seeks, so we can output GST_EVENT_NEW_SEGMENT...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (forward_event_func),
	  (gst_adder_src_event), (gst_adder_collected),
	  (gst_adder_change_state):
	  * gst/adder/gstadder.h:
	  Remember the start position asked in the incoming seeks, so we can
	  output GST_EVENT_NEW_SEGMENT with a correct position value (instead
	  of assuming it will always be 0).

2006-08-31 12:31:00 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/ogg/gstoggdemux.c: Send the GST_EVENT_NEW_SEGMENT from the streaming thread.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
	  (gst_ogg_demux_finalize), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_loop):
	  Send the GST_EVENT_NEW_SEGMENT from the streaming thread.

2006-08-30 17:22:27 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/ffmpegcolorspace/gstffmpegcolorspace.c: Return FALSE instead of returning a random false unit size when the forma...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_get_unit_size):
	  Return FALSE instead of returning a random false unit
	  size when the format isn't known/supported (even if
	  this shouldn't happen under normal circumstances).

2006-08-29 15:23:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Try harder to get the size from a uri by using _info_uri() when _info_from_handle() do...
	  Original commit message from CVS:
	  Patch by: Tim-Philipp Müller  <tim at centricular dot net>
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create),
	  (gst_gnome_vfs_src_start):
	  Try harder to get the size from a uri by using _info_uri() when
	  _info_from_handle() does not give us enough info.
	  Also follow symlinks when getting the size.
	  Partially Fixes #332864.

2006-08-29 11:50:51 +0000  Viktor Peters <viktor.peters@gmail.com>

	  ext/alsa/: Improve and fix mixer track handling, in particular better handling of alsa's pvolume/pswitch/cvolume/cswi...
	  Original commit message from CVS:
	  Patch by: Viktor Peters  <viktor dot peters at gmail dot com>
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
	  (gst_alsa_mixer_update), (gst_alsa_mixer_get_volume),
	  (gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
	  (gst_alsa_mixer_set_record):
	  * ext/alsa/gstalsamixertrack.c:
	  (gst_alsa_mixer_track_update_alsa_capabilities),
	  (alsa_track_has_cap), (gst_alsa_mixer_track_new),
	  (gst_alsa_mixer_track_update):
	  * ext/alsa/gstalsamixertrack.h:
	  Improve and fix mixer track handling, in particular better handling
	  of alsa's pvolume/pswitch/cvolume/cswitch capabilities; create separate
	  track objects for tracks that have both capture and playback volume
	  (and label them differently as well so they're not mistakenly
	  assumed to be duplicates); classify mixer tracks that only affect
	  the audible volume of something (rather than the capture volume)
	  as playback tracks. Redefine/fix meaning of RECORD and MUTE flags
	  for capture tracks to correspond to alsa-pswitch alsa-cswitch
	  (following the meaning documented in the mixer interface header
	  file); add support for alsa's exclusive cswitch groups; update/sync
	  state/flags better if mixer settings are changed by another
	  application. Fixes #336075.

2006-08-29 10:58:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Improve docs: add section about BUFFERING messages sent by playbin.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c:
	  Improve docs: add section about BUFFERING messages sent by playbin.

2006-08-29 10:51:12 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.c: Ignore explicit DISCONT marked on buffers (which is often spurious, particularly when using m...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_push_buffer),
	  (gst_vorbis_enc_buffer_check_discontinuous),
	  (gst_vorbis_enc_chain):
	  Ignore explicit DISCONT marked on buffers (which is often spurious,
	  particularly when using multiple segments), in favour of solely
	  using the timestamps/durations.

2006-08-29 10:32:34 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/audiorate/gstaudiorate.c: Don't rely on incoming buffers offset anymore, since it is completely broken when using...
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
	  Don't rely on incoming buffers offset anymore, since it is completely
	  broken when using multiple segments.
	  Instead convert the incoming buffers timestamp to running time, and
	  then convert that value to the offsets.
	  Also inform GstSegment of the last outputted stop position, which is
	  needed if we received several segments with an unknown stop value.

2006-08-29 08:03:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/vorbis/vorbisenc.c: fix buffer unreffing on a header push failure
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_chain):
	  fix buffer unreffing on a header push failure

2006-08-28 16:17:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiorate/gstaudiorate.c: Make the metadata of the buffer writable before changing its flags.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_sink_event),
	  (gst_audio_rate_chain):
	  Make the metadata of the buffer writable before changing its
	  flags.

2006-08-28 16:09:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	* ChangeLog:
	  Fix changelog with bugzilla bug it fixed.
	  Original commit message from CVS:
	  Fix changelog with bugzilla bug it fixed.

2006-08-28 16:08:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audiorate/gstaudiorate.c: Fix audiorate some more.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
	  (gst_audio_rate_setcaps), (gst_audio_rate_init),
	  (gst_audio_rate_sink_event), (gst_audio_rate_src_event),
	  (gst_audio_rate_chain), (gst_audio_rate_change_state):
	  Fix audiorate some more.
	  Reset and resync counters on flush and READY.
	  Handle the DISCONT flag correctly.
	  Use GstSegment to track position.
	  Fail when not negotiated.

2006-08-25 16:48:28 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.c: Fix spelling.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
	  Fix spelling.
	  Remove accidently included debug line.

2006-08-25 16:39:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.c: Small cleanups.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
	  Small cleanups.
	  If a buffer is received with no caps, make the buffer metadata
	  writable and set the caps, making sure that we don't screw up the
	  refcounts.

2006-08-25 16:19:55 +0000  Michael Smith <msmith@xiph.org>

	  gst/gdp/gstgdppay.c: Fix memory leaks and misleading debug messages, add a couple of comments.
	  Original commit message from CVS:
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset),
	  (gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain):
	  Fix memory leaks and misleading debug messages, add a couple of
	  comments.
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats),
	  (gst_multi_fd_sink_render):
	  Do not use gst_buffer_make_writable() in a basesink render method,
	  as it may incorrectly unref the buffer. Instead, use convoluted
	  dance to avoid copying the buffer except when we need to.

2006-08-25 09:54:56 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.c: Allow very small discontinuities in the timestamps. These we can't do anything useful with an...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c:
	  (gst_vorbis_enc_buffer_check_discontinuous):
	  Allow very small discontinuities in the timestamps. These we can't
	  do anything useful with anyway (because vorbis's timestamps have
	  only sample granularity), and are commonly produced by elements with
	  minor bugs. Allow up to 1/2 a sample out.
	  Fixes #351742.

2006-08-24 11:18:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add a checkbox to enable play scrubbing. Makes it possible to disable normal scrubbing.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (seek_cb), (start_seek), (stop_seek),
	  (play_scrub_toggle_cb), (main):
	  Add a checkbox to enable play scrubbing. Makes it possible to disable
	  normal scrubbing.

2006-08-23 19:37:50 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/.cvsignore: make buildbot happy
	  Original commit message from CVS:
	  * tests/check/elements/.cvsignore:
	  make buildbot happy

2006-08-23 16:43:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstogmparse.c: Refactor ogm parse, do better input checking, misc. clean-ups.
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
	  (gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init),
	  (gst_ogm_parse_class_init), (gst_ogm_parse_dispose),
	  (gst_ogm_parse_init), (gst_ogm_audio_parse_init),
	  (gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
	  (gst_ogm_parse_stream_header), (gst_ogm_parse_comment_packet),
	  (gst_ogm_text_parse_strip_trailing_zeroes),
	  (gst_ogm_parse_data_packet), (gst_ogm_parse_chain),
	  (gst_ogm_parse_sink_event), (gst_ogm_parse_change_state):
	  Refactor ogm parse, do better input checking, misc. clean-ups.
	  Cache incoming events and push them once the source pad has
	  been created. Don't pass unterminated strings to sscanf().
	  Strip trailing zeroes from subtitle text output, since they
	  are not valid UTF-8. Don't push vorbiscomment packets on
	  the subtitle text pad. Output perfect streams if possible.

2006-08-23 15:27:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/libs/cddabasesrc.c: Waits for tasks to settle down so that we clean up correctly for valgrind.
	  Original commit message from CVS:
	  * tests/check/libs/cddabasesrc.c: (GST_START_TEST):
	  Waits for tasks to settle down so that we clean up correctly for
	  valgrind.

2006-08-23 15:11:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/libs/tag.c: Unit test fixes: \377 is more likely to fit into 8 bits than \777; actually return return val...
	  Original commit message from CVS:
	  * tests/check/libs/tag.c: (GST_START_TEST), (taglists_are_equal):
	  Unit test fixes: \377 is more likely to fit into 8 bits than \777;
	  actually return return value in taglists_are_equal.

2006-08-23 12:14:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstogmparse.c: Fix crash due to broken bitstream parsing on x86-64: can't make any assumptions about sizeof(s...
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
	  Fix crash due to broken bitstream parsing on x86-64: can't make
	  any assumptions about sizeof(struct) due to alignment/packing
	  differences on different architectures. Fixes #351790.

2006-08-22 16:31:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/riff/riff-read.c: Protect public functions against bad input.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk),
	  (gst_riff_parse_chunk), (gst_riff_parse_file_header),
	  (gst_riff_parse_strh), (gst_riff_parse_strf_vids),
	  (gst_riff_parse_strf_auds), (gst_riff_parse_strf_iavs),
	  (gst_riff_parse_info):
	  Protect public functions against bad input.
	  Do some cleanups.
	  Fix documentation.

2006-08-22 15:50:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/: Add voxware audio IDs (even if we can't play it) (#351795).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Add voxware audio IDs (even if we can't play it) (#351795).

2006-08-22 15:11:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Const-ify some arrays and use G_N_ELEMENTS instead of wasting oodles of RAM on termin...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c:
	  (gst_riff_create_video_template_caps),
	  (gst_riff_create_audio_template_caps),
	  (gst_riff_create_iavs_template_caps):
	  Const-ify some arrays and use G_N_ELEMENTS instead
	  of wasting oodles of RAM on terminator bits.

2006-08-22 08:27:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  And the same for _to_vorbiscomment_buffer(): allow id_data_len == 0 for speex.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  (gst_tag_list_to_vorbiscomment_buffer):
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  And the same for _to_vorbiscomment_buffer(): allow
	  id_data_len == 0 for speex.

2006-08-21 19:04:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/README:
	  adding a README
	  Original commit message from CVS:
	  adding a README

2006-08-21 19:01:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  Move GDP plugin to -base from -bad.  Closes #347783.
	  Original commit message from CVS:
	  * configure.ac:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/inspect/plugin-gdp.xml:
	  * gst/gdp/Makefile.am:
	  * tests/check/Makefile.am:
	  Move GDP plugin to -base from -bad.  Closes #347783.

2006-08-21 18:34:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Allow id_data_len == 0 (needed for vorbis comments in Speex files).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  (gst_tag_list_from_vorbiscomment_buffer):
	  Allow id_data_len == 0 (needed for vorbis comments in Speex files).
	  Also add some checks to make sure we don't memcmp() beyond the end of
	  vorbiscomment buffer if the ID to check for is larger than the buffer.
	  * tests/check/libs/tag.c: (GST_START_TEST):
	  Some more tests for gst_tag_list_from_vorbiscomment_buffer().

2006-08-21 16:39:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/vorbis/vorbisenc.c: Use vorbis comment utility functions from libgsttag instead of re-inventing the wheel (partia...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1),
	  (gst_vorbis_enc_set_metadata):
	  Use vorbis comment utility functions from libgsttag
	  instead of re-inventing the wheel (partially fixes #347091).

2006-08-21 11:42:12 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/elements/audioconvert.c: Fix leaks. Wait for state transitions that might happen ASYNC, as well as some t...
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (GST_START_TEST):
	  Fix leaks. Wait for state transitions that might happen ASYNC, as well
	  as some that won't.

2006-08-21 10:32:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/libs/: Don't try to GObject scan the netbuffer as it's not a GObject.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/gst-plugins-base-libs.types:
	  Don't try to GObject scan the netbuffer as it's not a GObject.
	  Fixes #351308.
	  * gst-libs/gst/netbuffer/gstnetbuffer.c:
	  * gst-libs/gst/netbuffer/gstnetbuffer.h:
	  Document GstNetBuffer.

2006-08-21 08:54:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/audioconvert.c: Add testcase for caps-size-explosion
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (GST_START_TEST),
	  (audioconvert_suite):
	  Add testcase for caps-size-explosion

2006-08-20 13:05:44 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audioconvert/gstaudioconvert.c: Lower debug, use g_assert in _get_unit_size
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c:
	  (gst_audio_convert_get_unit_size), (set_structure_widths):
	  Lower debug, use g_assert in _get_unit_size
	  * gst/audioresample/gstaudioresample.c:
	  (audioresample_get_unit_size):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_get_unit_size):
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_get_unit_size):
	  use g_assert in _get_unit_size

2006-08-18 21:21:48 +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-08-18 16:43:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Document GstRTPBuffer.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_set_packet_len),
	  (gst_rtp_buffer_pad_to), (gst_rtp_buffer_get_payload_subbuffer),
	  (gst_rtp_buffer_get_payload_buffer):
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Document GstRTPBuffer.
	  Added function to efficiently strip payload headers.
	  API: gst_rtp_buffer_get_payload_subbuffer()

2006-08-17 16:52:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT tags and deserialise...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
	  (gst_tag_to_vorbis_comments):
	  Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT
	  tags and deserialise them properly as well (#351768).
	  Add some more gtk-doc blurbs and also some g_return_if_fail().
	  * tests/check/libs/tag.c: (GST_START_TEST),
	  (back_to_vorbis_comments), (taglists_are_equal), (tag_suite):
	  More tests.

2006-08-17 15:43:40 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/: Added ogg-in-avi parser element. Fixes #140139.
	  Original commit message from CVS:
	  * ext/ogg/Makefile.am:
	  * ext/ogg/gstogg.c: (plugin_init):
	  * ext/ogg/gstoggaviparse.c: (gst_ogg_avi_parse_get_type),
	  (gst_ogg_avi_parse_base_init), (gst_ogg_avi_parse_class_init),
	  (gst_ogg_avi_parse_init), (gst_ogg_avi_parse_finalize),
	  (gst_ogg_avi_parse_setcaps), (gst_ogg_avi_parse_event),
	  (gst_ogg_avi_parse_push_packet), (gst_ogg_avi_parse_chain),
	  (gst_ogg_avi_parse_change_state), (gst_ogg_avi_parse_plugin_init):
	  Added ogg-in-avi parser element. Fixes #140139.
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page):
	  Fixed a bug in oggdemux debug code.
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Recognise Ogg in the AVI extensible wave format.

2006-08-17 10:00:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: Make buffer durations add up (duration should be next_ts-ts for perfect streams)....
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
	  Make buffer durations add up (duration should be next_ts-ts for
	  perfect streams). Fixes CD ripping to Ogg/Vorbis with vorbisenc
	  from CVS.
	  * tests/check/libs/cddabasesrc.c: (gst_cd_foo_src_close),
	  (test_buffer_timestamps), (cddabasesrc_suite):
	  Add unit test for the above.
	  * tests/check/Makefile.am:
	  Don't know why cddabasesrc test was in VALGRIND_TO_FIX, remove
	  to see what happens.

2006-08-16 11:38:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/: Avoid setting and using a NULL device name.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_set_property),
	  (gst_alsasink_open):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_set_property),
	  (gst_alsasrc_open):
	  Avoid setting and using a NULL device name.
	  Print more info when we fail to open a device.

2006-08-16 11:28:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add gst_tag_parse_extended_comment() (#351426).
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c: (gst_tag_parse_extended_comment):
	  API: add gst_tag_parse_extended_comment() (#351426).
	  * tests/check/Makefile.am:
	  * tests/check/libs/.cvsignore:
	  * tests/check/libs/tag.c: (GST_START_TEST), (tag_suite), (main):
	  Add unit test for gst_tag_parse_extended_comment().

2006-08-15 19:20:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/: Fix leak (#351502).
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_get_property):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_property):
	  Fix leak (#351502).

2006-08-15 17:21:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Document playbin.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * gst/playback/gstplaybin.c:
	  Document playbin.
	  * docs/plugins/inspect/plugin-adder.xml:
	  * docs/plugins/inspect/plugin-alsa.xml:
	  * docs/plugins/inspect/plugin-audioconvert.xml:
	  * docs/plugins/inspect/plugin-audiorate.xml:
	  * docs/plugins/inspect/plugin-audioresample.xml:
	  * docs/plugins/inspect/plugin-audiotestsrc.xml:
	  * docs/plugins/inspect/plugin-cdparanoia.xml:
	  * docs/plugins/inspect/plugin-decodebin.xml:
	  * docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	  * docs/plugins/inspect/plugin-gnomevfs.xml:
	  * docs/plugins/inspect/plugin-ogg.xml:
	  * docs/plugins/inspect/plugin-pango.xml:
	  * docs/plugins/inspect/plugin-playbin.xml:
	  * docs/plugins/inspect/plugin-subparse.xml:
	  * docs/plugins/inspect/plugin-tcp.xml:
	  * docs/plugins/inspect/plugin-theora.xml:
	  * docs/plugins/inspect/plugin-typefindfunctions.xml:
	  * docs/plugins/inspect/plugin-video4linux.xml:
	  * docs/plugins/inspect/plugin-videorate.xml:
	  * docs/plugins/inspect/plugin-videoscale.xml:
	  * docs/plugins/inspect/plugin-videotestsrc.xml:
	  * docs/plugins/inspect/plugin-volume.xml:
	  * docs/plugins/inspect/plugin-vorbis.xml:
	  * docs/plugins/inspect/plugin-ximagesink.xml:
	  * docs/plugins/inspect/plugin-xvimagesink.xml:
	  Update to CVS version.

2006-08-14 17:54:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Add "connection-speed" property; re-order redirect messages with multiple redirect locatio...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init),
	  (gst_play_bin_set_property), (gst_play_bin_get_property),
	  (value_list_append_structure_list),
	  (gst_play_bin_handle_redirect_message),
	  (gst_play_bin_handle_message):
	  Add "connection-speed" property; re-order redirect messages with
	  multiple redirect locations depending on the minimum bitrate if
	  that information is available and a connection speed is set
	  (#350399).

2006-08-14 11:41:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Update max volume to the same value that the volume element uses.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c:
	  Update max volume to the same value that the volume element uses.

2006-08-14 10:50:15 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsamixer.c: Less uglyness..
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
	  Less uglyness..

2006-08-14 10:49:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Add some more debug info.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer),
	  (gst_ogg_demux_get_next_page), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_read_chain), (gst_ogg_demux_loop):
	  Add some more debug info.
	  Don't crash when a seek failed.
	  Actually return the result of the seek instead of TRUE.
	  Ignore multiple BOS pages with the same serial so that we don't create
	  the same stream multiple times.
	  Post an error when we fail to do the initial seek.

2006-08-13 14:34:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsa.c: Small code cleanup.
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
	  (gst_alsa_detect_channels), (gst_alsa_probe_supported_formats):
	  Small code cleanup.
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
	  (gst_alsa_mixer_new):
	  Remove hack that always set the device to hw:0*.
	  Properly find the card name for whatever device was configured.
	  Do some better debugging.
	  Fixes #350784.
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_set_property),
	  (gst_alsa_mixer_element_change_state):
	  Cleanups.
	  Handle setting of a NULL device name better.

2006-08-11 15:53:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.c: Don't clip float values. Fixes #350900.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c:
	  Don't clip float values. Fixes #350900.

2006-08-11 15:33:17 +0000  Andy Wingo <wingo@pobox.com>

	  gst/tcp/gsttcp.c: Really fix the build?
	  Original commit message from CVS:
	  2006-08-11  Andy Wingo  <wingo@pobox.com>
	  * gst/tcp/gsttcp.c: Really fix the build?

2006-08-11 15:29:56 +0000  Andy Wingo <wingo@pobox.com>

	  gst/tcp/gsttcp.h: For now, always disable deprecation here -- fixes the build.
	  Original commit message from CVS:
	  2006-08-11  Andy Wingo  <wingo@pobox.com>
	  * gst/tcp/gsttcp.h: For now, always disable deprecation here --
	  fixes the build.

2006-08-10 13:01:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/gstaudioconvert.c: Float caps shouldn't have a "signed" field.
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes):
	  Float caps shouldn't have a "signed" field.

2006-08-10 08:56:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggdemux.c: Implement SEEKING query in its most basic form, so that we can at least check if we're seekabl...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query):
	  Implement SEEKING query in its most basic form, so that we can
	  at least check if we're seekable or not (#350655).

2006-08-09 14:42:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: The checks here are not even close to anything that would justify MAXIMUM probab...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
	  The checks here are not even close to anything that would
	  justify MAXIMUM probability, lowering to POSSIBLE until someone
	  fixes the checks (case at hand: quicktime redirection files
	  might start with 00 00 01 XX and pass the checks here just
	  fine, see #350399).

2006-08-08 13:57:29 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/elements/gdpdepay.c: I forgot to include the file containing the #define :)
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (gdpdepay_suite):
	  I forgot to include the file containing the #define :)
	  Now includes "config.h"

2006-08-08 13:45:44 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/elements/gdpdepay.c: Ignore test known to fail on PPC64. See #348114.
	  Original commit message from CVS:
	  * tests/check/elements/gdpdepay.c: (gdpdepay_suite):
	  Ignore test known to fail on PPC64. See #348114.

2006-08-08 08:41:13 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/typefind/gsttypefindfunctions.c: Better detection for multipart/x-mixed-replace: accept leading whitespaces befor...
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons  <sjoerd at luon net>
	  * gst/typefind/gsttypefindfunctions.c: (multipart_type_find):
	  Better detection for multipart/x-mixed-replace: accept leading
	  whitespaces before the boundary marker as well (as our very own
	  multipartmux used to produce) (#349068).

2006-08-07 08:26:03 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst-libs/gst/riff/: Detect DTS audio streams (#350157).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
	  (gst_riff_create_audio_template_caps):
	  Detect DTS audio streams (#350157).

2006-08-05 17:08:05 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/gsttheoraparse.h: ext/theora/theoraparse.c (gst_theora_parse_class_init) (theora_parse_dispose, theora_par...
	  Original commit message from CVS:
	  2006-08-05  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/gsttheoraparse.h:
	  * ext/theora/theoraparse.c (gst_theora_parse_class_init)
	  (theora_parse_dispose, theora_parse_set_property)
	  (theora_parse_get_property, theora_parse_munge_granulepos)
	  (theora_parse_push_buffer, theora_parse_change_state): Add a
	  property 'synchronization-points' to fix badly synchronized oggs.

2006-08-04 13:20:23 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  gst/gdp/gstgdpdepay.c: Fix event parsing by gdpdepay.  Fixes #349916.
	  Original commit message from CVS:
	  2006-08-04  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
	  Fix event parsing by gdpdepay.  Fixes #349916.

2006-08-03 15:04:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add a few tests for the channel position stuff in libgstaudio.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/libs/.cvsignore:
	  * tests/check/libs/audio.c: (structure_contains_channel_positions),
	  (fixed_caps_have_channel_positions), (GST_START_TEST),
	  (audio_suite), (main):
	  Add a few tests for the channel position stuff in libgstaudio.

2006-08-03 14:16:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/: Add support for cards that (only) do more than 8 channels, like the Delta 44 (#345188).
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c: (caps_add_channel_configuration),
	  (gst_alsa_detect_channels):
	  * ext/alsa/gstalsasink.c:
	  Add support for cards that (only) do more than 8 channels,
	  like the Delta 44 (#345188).
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions):
	  * gst-libs/gst/audio/multichannel.h:
	  API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an
	  unspecified channel position and cannot be combined with any
	  of the other audio channel positions; adjust position layout
	  checks accordingly (#345188).

2006-08-03 11:15:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Recognise ancient RealAudio files (see #349779).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Recognise ancient RealAudio files (see #349779).

2006-08-03 09:01:25 +0000  Jens Granseuer <jensgr@gmx.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefinder for Interplay's MVE format (#348973).
	  Original commit message from CVS:
	  Patch by: Jens Granseuer  <jensgr at gmx net>
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Add typefinder for Interplay's MVE format (#348973).

2006-08-02 17:03:29 +0000  Marcel Moreaux <marcelm@luon.net>

	  gst-libs/gst/rtp/gstbasertpdepayload.*: Handle RTP sequence number rollover.
	  Original commit message from CVS:
	  Patch by: Marcel Moreaux <marcelm at luon dot net>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_add_to_queue):
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  Handle RTP sequence number rollover.
	  Disable jitterbuffer by default.

2006-08-02 16:56:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/gdp/gstgdpdepay.c: Disable seeking.
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
	  (gst_gdp_depay_finalize), (gst_gdp_depay_sink_event),
	  (gst_gdp_depay_src_event), (gst_gdp_depay_chain),
	  (gst_gdp_depay_change_state):
	  Disable seeking.
	  Small cleanups.
	  Clear adapter on disconts.
	  Clear caps when going to READY instead of NULL
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
	  (gst_gdp_pay_init), (gst_gdp_pay_finalize), (gst_gdp_pay_reset),
	  (gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer),
	  (gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader),
	  (gst_gdp_queue_buffer), (gst_gdp_pay_chain),
	  (gst_gdp_pay_sink_event), (gst_gdp_pay_src_event),
	  (gst_gdp_pay_change_state):
	  * gst/gdp/gstgdppay.h:
	  Reset payloader when going to READY.
	  Fix leaked buffers in ->queue on push errors.
	  Disable seeking.
	  Code cleanups.
	  Create packetizer in _init, free in _finalize.

2006-07-31 08:48:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/gdp/gstgdpdepay.c: Consume all events except EOS because we generate events from the gdp payload instead. Fixes #...
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
	  (gst_gdp_depay_sink_event), (gst_gdp_depay_chain):
	  Consume all events except EOS because we generate events from
	  the gdp payload instead. Fixes #349204

2006-07-28 17:17:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/audioresample/gstaudioresample.c: Don't leak references to the incoming caps. Clean them up when stopping.
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c: (audioresample_stop),
	  (audioresample_set_caps):
	  Don't leak references to the incoming caps. Clean them up when
	  stopping.
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
	  (gst_video_scale_finalize):
	  Don't leak our temporary pixel buffer.
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
	  (GST_START_TEST), (simple_launch_lines_suite):
	  Fix leaks and re-enable the test for valgrind checking.

2006-07-28 16:39:31 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefind function for multipart/x-mixed-replace (#348916).
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons  <sjoerd at luon net>
	  * gst/typefind/gsttypefindfunctions.c: (multipart_type_find),
	  (plugin_init):
	  Add typefind function for multipart/x-mixed-replace (#348916).

2006-07-28 14:14:58 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.c: Fix leak in duration query.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_setcaps),
	  (gst_adder_query_duration):
	  Fix leak in duration query.
	  Reflow some docs and notes.

2006-07-28 13:42:48 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/pipelines/vorbisenc.c: Enable Andy's extra vorbisenc test, now that it passes. Also fix one aspect of it.
	  Original commit message from CVS:
	  * tests/check/pipelines/vorbisenc.c: (GST_START_TEST),
	  (vorbisenc_suite):
	  Enable Andy's extra vorbisenc test, now that it passes. Also fix one
	  aspect of it.

2006-07-28 12:48:21 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.*: Handle discontinuities in the input vorbis stream correctly, so that the output is properly t...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps),
	  (gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_buffer_from_packet),
	  (gst_vorbis_enc_push_buffer),
	  (gst_vorbis_enc_buffer_check_discontinuous),
	  (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
	  * ext/vorbis/vorbisenc.h:
	  Handle discontinuities in the input vorbis stream correctly,
	  so that the output is properly timestamped (and has good granulepos
	  values). Needs some oggmux fixes too.

2006-07-27 10:52:52 +0000  Kai Vehmanen <kv2004@eca.cx>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Don't send multiple newsegments with different formats.
	  Original commit message from CVS:
	  patch by: Kai Vehmanen <kv2004 eca cx>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_handle_sink_event),
	  (gst_base_rtp_depayload_change_state):
	  Don't send multiple newsegments with different formats.
	  Fixes #348677.

2006-07-26 15:20:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Make seeking in ogg more accurate again by doing the more correct granuletime to stream time c...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
	  (gst_ogg_demux_do_seek), (gst_ogg_demux_read_chain):
	  Make seeking in ogg more accurate again by doing the more correct
	  granuletime to stream time conversion.

2006-07-26 10:59:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gstmultifdsink.c: debug a little more understandably do not use goto as a substitute for break, especially if...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
	  (gst_multi_fd_sink_new_client):
	  debug a little more understandably
	  do not use goto as a substitute for break, especially if
	  break is also being used

2006-07-26 10:55:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gsttcp.c:
	  move a recurring normal event to LOG, where it should be
	  Original commit message from CVS:
	  move a recurring normal event to LOG, where it should be

2006-07-26 10:54:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/vorbis/vorbisdec.c:
	  tweak debug output
	  Original commit message from CVS:
	  tweak debug output

2006-07-26 10:52:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/gdp/gstgdpdepay.c: proxying get/set caps is the wrong thing to do, since we really do change caps quite fundament...
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init):
	  proxying get/set caps is the wrong thing to do, since we really
	  do change caps quite fundamentally
	  * tests/check/elements/gdpdepay.c:
	  * tests/check/elements/gdppay.c:
	  remove declaration of buffers, it's already done in gstcheck.h

2006-07-26 10:31:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Remove GLib-2.6 compatibility cruft.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property):
	  * gst/playback/gstplaybin.c: (gst_play_bin_get_property):
	  Remove GLib-2.6 compatibility cruft.

2006-07-24 16:47:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to align a sample to an unknown value.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  Don't try to align a sample to an unknown value.

2006-07-24 15:14:17 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: When the audio clock is slaved to another clock, never try to align samples bu...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render):
	  When the audio clock is slaved to another clock, never try to align
	  samples but trust the rate interpolation algorithm.

2006-07-24 14:34:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.c: Don't try to calculate silence samples, base class does this much better now.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
	  Don't try to calculate silence samples, base class does this much
	  better now.
	  * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
	  (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps),
	  (gst_ring_buffer_acquire):
	  Calculate silence samples correctly.
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Add _CAST macro.

2006-07-22 17:01:12 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Limit search for the first markup tag to the first few kB of the file. If we don...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (xml_check_first_element):
	  Limit search for the first markup tag to the first few kB of
	  the file. If we don't find one there, it's highly unlikely that
	  this is an XML(-ish) file.

2006-07-21 17:04:06 +0000  Andy Wingo <wingo@pobox.com>

	  tests/check/pipelines/theoraenc.c (test_discontinuity): Similar test to the one in vorbisenc. Also commented out.
	  Original commit message from CVS:
	  2006-07-21  Andy Wingo  <wingo@pobox.com>
	  * tests/check/pipelines/theoraenc.c (test_discontinuity): Similar
	  test to the one in vorbisenc. Also commented out.

2006-07-21 16:54:19 +0000  Andy Wingo <wingo@pobox.com>

	  tests/check/pipelines/vorbisenc.c: New test, commented out until Mike lands some elite vorbisenc patches.
	  Original commit message from CVS:
	  2006-07-21  Andy Wingo  <wingo@pobox.com>
	  * tests/check/pipelines/vorbisenc.c:
	  (test_discontinuity): New test, commented out until Mike lands
	  some elite vorbisenc patches.

2006-07-21 15:59:24 +0000  Andy Wingo <wingo@pobox.com>

	  tests/check/pipelines/: Port to bufferstraw.
	  Original commit message from CVS:
	  2006-07-21  Andy Wingo  <wingo@pobox.com>
	  * tests/check/pipelines/vorbisenc.c:
	  * tests/check/pipelines/theoraenc.c: Port to bufferstraw.
	  Bufferstraw was actually factored out of these tests. Now we share
	  code yay.

2006-07-21 11:03:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Better clipping.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (clip_buffer):
	  Better clipping.

2006-07-21 10:43:54 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Fix leak.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
	  (gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire),
	  (gst_audioringbuffer_release), (gst_audioringbuffer_stop):
	  Fix leak.
	  Avoid type casting when we can.
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_dispose):
	  Fix mem leak.

2006-07-20 16:57:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsamixerelement.c: Make state change fail if the specified device can't be opened for some reason.
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_change_state):
	  Make state change fail if the specified device can't be opened
	  for some reason.

2006-07-20 10:42:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/test.c: Example of a small audio/video player using decodebin.
	  Original commit message from CVS:
	  * gst/playback/test.c: (gen_video_element), (gen_audio_element),
	  (cb_newpad), (main):
	  Example of a small audio/video player using decodebin.

2006-07-20 05:56:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/riff-ids.h: Add 'fact' chunk id
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  Add 'fact' chunk id

2006-07-19 18:20:43 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Don't assert when not negotiated but post a meaningfull error message. Fixes ...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_chain),
	  (gst_base_rtp_depayload_change_state):
	  Don't assert when not negotiated but post a meaningfull
	  error message. Fixes #347918.
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  Add comment about better default MTU size.
	  * gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
	  Small cleanups, start docs.

2006-07-19 14:46:36 +0000  Martin Szulecki <compiz@sukimashita.com>

	  sys/v4l/gstv4lelement.c: If "device-name" is requested and the device is not open, try to temporarily open it to obta...
	  Original commit message from CVS:
	  Patch by: Martin Szulecki
	  * sys/v4l/gstv4lelement.c: (gst_v4lelement_get_property):
	  If "device-name" is requested and the device is not
	  open, try to temporarily open it to obtain this
	  information (#342494).

2006-07-19 12:25:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstid3tag.c: Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
	  * gst-libs/gst/tag/gsttageditingprivate.h:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  Some more random const-ifications.

2006-07-18 19:48:48 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst-libs/gst/riff/: add comment what those 16 bytes in struct _gst_riff_strh according to one avi-dumper are
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c:
	  (gst_riff_create_video_template_caps):
	  Add more FOURCCs (sort list to make stuff easier to find),
	  add comment what those 16 bytes in struct _gst_riff_strh according to
	  one avi-dumper are

2006-07-17 14:17:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/gdp/: remove parent_class setting, BOILERPLATE does this fix typo in comment
	  Original commit message from CVS:
	  2006-07-17  Thomas Vander Stichele  <thomas at apestaart dot org>
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_class_init):
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
	  remove parent_class setting, BOILERPLATE does this
	  (gst_gdp_pay_reset_streamheader):
	  fix typo in comment

2006-07-17 13:48:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: Const-ify two arrays.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions),
	  (gst_audio_fixate_channel_positions):
	  Const-ify two arrays.

2006-07-17 12:33:42 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsa.c: Fix typo, so that alsasink also advertises 8 channels if that's supported (tags: can, worms, open...
	  Original commit message from CVS:
	  * ext/alsa/gstalsa.c: (caps_add_channel_configuration):
	  Fix typo, so that alsasink also advertises 8 channels
	  if that's supported (tags: can, worms, open, alsa, ph34r).

2006-07-17 12:01:04 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: *sigh*, when is the compiler going to warn when the comments are out-of-sync with the code.. R...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
	  (gst_ogg_pad_submit_packet), (gst_ogg_demux_read_chain):
	  *sigh*, when is the compiler going to warn when the comments
	  are out-of-sync with the code.. Refix case of busted theora
	  headers with 0 granule pos.

2006-07-14 17:56:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Fix 99% cpu load by waiting for absolute times on the clock. Fixes #347300.
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_wait),
	  (gst_base_rtp_depayload_change_state),
	  (gst_base_rtp_depayload_set_property),
	  (gst_base_rtp_depayload_get_property):
	  Fix 99% cpu load by waiting for absolute times on the
	  clock. Fixes #347300.

2006-07-14 17:07:08 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/gsttheoraparse.h: ext/theora/theoraparse.c (theora_parse_drain_event_queue) (theora_parse_push_headers, th...
	  Original commit message from CVS:
	  2006-07-14  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/gsttheoraparse.h:
	  * ext/theora/theoraparse.c (theora_parse_drain_event_queue)
	  (theora_parse_push_headers, theora_parse_clear_queue)
	  (theora_parse_drain_queue_prematurely, )
	  (theora_parse_sink_event, theora_parse_change_state): Queue events
	  until we initialized our state, like in vorbisparse.

2006-07-14 16:45:17 +0000  Iain * <iaingnome@gmail.com>

	  ext/vorbis/vorbisparse.h: ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue) (vorbis_parse_push_headers, vorbi...
	  Original commit message from CVS:
	  2006-07-14  Andy Wingo  <wingo@pobox.com>
	  * ext/vorbis/vorbisparse.h:
	  * ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue)
	  (vorbis_parse_push_headers, vorbis_parse_clear_queue)
	  (vorbis_parse_drain_queue_prematurely, )
	  (vorbis_parse_sink_event, vorbis_parse_change_state): Queue events
	  until we have initialized our state. Fixes seeking after an
	  initial pad block.
	  2006-07-14  Andy Wingo  <wingo@pobox.com>
	  Patch by: Iain * <iaingnome@gmail.com>
	  * ext/ogg/gstoggdemux.c (gst_ogg_demux_finalize): Fix memleak.

2006-07-14 15:52:39 +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.9 ===

2006-07-14 15:51:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.9, "I walk the line"
	  Original commit message from CVS:
	  2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
	  * configure.ac:
	  releasing 0.10.9, "I walk the line"

2006-07-14 14:12:40 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/pipelines/vorbisenc.c: Move a g_cond_signal to earlier to avoid sometimes deadlocking (commonly happens w...
	  Original commit message from CVS:
	  * tests/check/pipelines/vorbisenc.c: (stop_pipeline):
	  Move a g_cond_signal to earlier to avoid sometimes deadlocking
	  (commonly happens when running this test under valgrind) when trying
	  to remove the buffer probe.

2006-07-14 10:34:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/Makefile.am:
	  build as a plugin, not a lib
	  Original commit message from CVS:
	  build as a plugin, not a lib

2006-07-13 16:43:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/xvimage/xvimagesink.c: Fix missing g_unlock from the previous commit
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new):
	  Fix missing g_unlock from the previous commit

2006-07-13 16:34:04 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: Implement a locking order to ensure we always take the object lock before the x_lock and never vice-versa.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
	  (gst_ximagesink_change_state):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_change_state):
	  Implement a locking order to ensure we always take the object lock
	  before the x_lock and never vice-versa.

2006-07-13 15:25:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  docs/plugins/: add more plugins and elements to docs
	  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:
	  add more plugins and elements to docs
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
	  fix segfaults due to wrong g_free
	  add example
	  * gst/gdp/gstgdppay.c:
	  add example

2006-07-13 14:38:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: Fix a caps leak when linking (#347304)
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (find_compatibles):
	  Fix a caps leak when linking (#347304)
	  * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
	  (gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_clear),
	  (gst_ximagesink_change_state):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimage_buffer_finalize), (gst_xvimagesink_check_xshm_calls),
	  (gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
	  (gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state):
	  Don't leak shared memory resources. Use the object lock to protect
	  against the xcontext disappearing while returning a buffer from the
	  pipeline. (#347304)

2006-07-12 14:20:43 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisdec.c: gst_tag_list_merge() returns a new object. Take that into account when using it. This avoids ...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_finalize),
	  (vorbis_handle_comment_packet):
	  gst_tag_list_merge() returns a new object. Take that into account when
	  using it. This avoids memleak.
	  Revert previous commit which is not needed.

2006-07-12 13:30:20 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisdec.c: Reset the decoder in finalize so that all fields get cleared.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_finalize):
	  Reset the decoder in finalize so that all fields get cleared.

2006-07-12 13:24:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Don't try to post an error message when setting the clock fails as this can hap...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_set_clock),
	  (gst_base_audio_src_check_get_range), (gst_base_audio_src_create):
	  Don't try to post an error message when setting the clock fails
	  as this can happen when adding an element to a bin which will then
	  deadlock. Fixes #347296.

2006-07-12 13:04:15 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisdec.c: Post tag messages on the bus even if we're not initialized.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
	  (vorbis_dec_sink_event), (vorbis_handle_comment_packet),
	  (vorbis_handle_type_packet):
	  Post tag messages on the bus even if we're not initialized.
	  If we're not initialized, we still postpone the event pushing of tags.

2006-07-12 11:28:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Revert last two changes that broke the freeze.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
	  * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
	  (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
	  Revert last two changes that broke the freeze.

2006-07-12 10:59:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.c: basesink calculates silence sample correctly for us.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
	  basesink calculates silence sample correctly for us.

2006-07-12 10:58:42 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Calculate correct silence samples so we don't fill our ringbuffer with noise.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
	  (gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
	  Calculate correct silence samples so we don't fill our ringbuffer
	  with noise.

2006-07-12 10:37:18 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisdec.*: Delay sending events (newsegment, tags) until the decoder is properly initialized.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_init),
	  (gst_vorbis_dec_reset), (vorbis_dec_sink_event),
	  (vorbis_handle_comment_packet), (vorbis_handle_type_packet):
	  * ext/vorbis/vorbisdec.h:
	  Delay sending events (newsegment, tags) until the decoder is properly
	  initialized.
	  Fixes #347295

2006-07-11 22:40:13 +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-07-11 21:04:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/elements/audioconvert.c: Patch from #347221 adding a test for audioconvert channel remappings.
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (get_float_mc_caps),
	  (get_int_mc_caps), (GST_START_TEST), (audioconvert_suite):
	  Patch from #347221 adding a test for audioconvert
	  channel remappings.

2006-07-11 12:03:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstssaparse.c: Don't include the terminating NUL in the buffer size, it's only there for extra paranoia ...
	  Original commit message from CVS:
	  * gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init),
	  (gst_ssa_parse_parse_line):
	  Don't include the terminating NUL in the buffer size,
	  it's only there for extra paranoia (would add random
	  '*' characters at the end of each subtitle since the
	  terminator itself is not valid UTF-8 technically).
	  Also fix indenting after boilerplate macro.

2006-07-10 14:59:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: Also emit 'unknown-type' signal (which should really be called unhandled-type) if we fou...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (close_pad_link):
	  Also emit 'unknown-type' signal (which should really be
	  called unhandled-type) if we found potential decoders/demuxers
	  in the registry but none of them worked in the end (as in the
	  case where the plugins don't exist any longer but are still
	  listed in the registry). Fixes #329798.

2006-07-08 13:48:58 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* ext/theora/theoraparse.c:
	  theoraparse.c (theora_parse_push_buffer)
	  Original commit message from CVS:
	  2006-07-08  Andy Wingo  <wingo@pobox.com>
	  * theoraparse.c (theora_parse_push_buffer)
	  (theora_parse_drain_queue_prematurely, theora_parse_drain_queue):
	  Add some more debugging. Fix granulepos reconstruction in the face
	  of discontinuities.

2006-07-06 15:54:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Use gobject_class instead of G_OBJECT_CLASS (klass)
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init),
	  (gst_base_audio_sink_provide_clock):
	  Use gobject_class instead of G_OBJECT_CLASS (klass)
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init), (gst_base_audio_src_init),
	  (gst_base_audio_src_set_clock), (gst_base_audio_src_provide_clock),
	  (gst_base_audio_src_get_time),
	  (gst_base_audio_src_check_get_range), (gst_base_audio_src_create),
	  (gst_base_audio_src_create_ringbuffer):
	  Fix latency and buffer-time constants and properties ala basesink.
	  Implement pull based scheduling. Fixes #346527.
	  Set default blocksize in GstBaseSrc to 0, we default to pushing out
	  one segment.
	  Refuse slaving to another clock instead of silently not working.
	  Only provide a clock when we are actually able to do so.
	  Various small cleanups and compiler hints.

2006-07-06 13:23:07 +0000  Lutz Mueller <lutz@topfrose.de>

	  gst/typefind/gsttypefindfunctions.c: Add typefinding for text/html (#346581).
	  Original commit message from CVS:
	  Patch by: Lutz Mueller <lutz at topfrose de>
	  * gst/typefind/gsttypefindfunctions.c: (html_type_find),
	  (plugin_init):
	  Add typefinding for text/html (#346581).

2006-07-06 13:12:02 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Fix SMIL typefinding, make xml_check_first_element() more useful.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (utf8_type_find),
	  (xml_check_first_element), (xml_type_find), (smil_type_find):
	  Fix SMIL typefinding, make xml_check_first_element() more
	  useful.

2006-07-06 13:04:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.*: Protect list of elements with a subtitle-encoding property and the subtitle encoding m...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
	  (gst_play_base_bin_finalize), (decodebin_element_added_cb),
	  (decodebin_element_removed_cb), (gst_play_base_bin_set_property):
	  * gst/playback/gstplaybasebin.h:
	  Protect list of elements with a subtitle-encoding property and
	  the subtitle encoding member itself with a lock of their own
	  instead of using the object lock. This prevents a dead-lock in
	  the element-remove callback in some circumstances when shutting
	  down playbin.

2006-07-05 20:11:13 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/common/libgsttag.def: Export some new functions.
	  Original commit message from CVS:
	  * win32/common/libgsttag.def:
	  Export some new functions.
	  * win32/vs6/libgstogg.dsp:
	  Add a link to libgsttag-0.10.lib.

2006-07-04 16:50:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsamixertrack.c: Some const-ification.
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
	  Some const-ification.

2006-07-04 14:06:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.c: Improve checking if we are dealing with a stream. Added some more uris that need buffe...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element):
	  Improve checking if we are dealing with a stream. Added some
	  more uris that need buffering.

2006-07-03 10:43:31 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/vorbis/vorbisdec.c: Remove unused variable.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_do_clip):
	  Remove unused variable.

2006-07-02 21:48:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  Makefile.am: include lcov.mak
	  Original commit message from CVS:
	  * Makefile.am:
	  include lcov.mak
	  * configure.ac:
	  add GCOV_LIBS to GST_LIBS

2006-07-02 11:08:58 +0000  Michael Sheldon <webmaster@mikeasoft.com>

	  ext/alsa/gstalsasrc.c: Add 32 bps to template caps and increase channels range from [1,2] to [1,MAX]. See #346326.
	  Original commit message from CVS:
	  Patch by: Michael Sheldon  <webmaster at mikeasoft com>
	  * ext/alsa/gstalsasrc.c:
	  Add 32 bps to template caps and increase channels range
	  from [1,2] to [1,MAX]. See #346326.

2006-06-30 12:04:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Recognise 'WMVA' video codec fourcc (#345879).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Recognise 'WMVA' video codec fourcc (#345879).

2006-06-29 12:21:06 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: Fixed nasty memory leak
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  Fixed nasty memory leak

2006-06-26 13:19:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gsttcp.c: fix logging
	  Original commit message from CVS:
	  * gst/tcp/gsttcp.c: (gst_tcp_read_buffer),
	  (gst_tcp_gdp_read_buffer), (gst_tcp_gdp_read_caps):
	  fix logging

2006-06-23 16:45:50 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: Protect remove_fakesink using a mutex, so that we don't try and remove the fakesink simu...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
	  (gst_decode_bin_init), (gst_decode_bin_finalize), (add_fakesink),
	  (remove_fakesink), (pad_probe), (gst_decode_bin_change_state):
	  Protect remove_fakesink using a mutex, so that we don't try and
	  remove the fakesink simultaneously from multiple threads.
	  When going from READY to PAUSED, restore the fakesink, so that
	  it is there when decodebin gets reused.

2006-06-23 09:53:09 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Use GST_DEBUG_CATEGORY_STATIC where possible (#342503).
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gsttcpclientsink.c:
	  * gst/tcp/gsttcpclientsrc.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/tcp/gsttcpserversrc.c:
	  * gst/videorate/gstvideorate.c:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * sys/v4l/gstv4ljpegsrc.c:
	  * sys/v4l/gstv4lmjpegsink.c:
	  * sys/v4l/gstv4lsrc.c:
	  * tests/examples/seek/scrubby.c:
	  * tests/examples/seek/seek.c:
	  Use GST_DEBUG_CATEGORY_STATIC where possible (#342503).

2006-06-23 09:09:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Use GST_DEBUG_CATEGORY_STATIC where possible (#342503) and fix one GObject boilerplate macro.
	  Original commit message from CVS:
	  * ext/directfb/dfbvideosink.c:
	  * ext/gsm/gstgsmdec.c:
	  * ext/gsm/gstgsmenc.c:
	  * ext/libmms/gstmms.c:
	  * ext/neon/gstneonhttpsrc.c:
	  * ext/theora/theoradec.c:
	  * gst/freeze/gstfreeze.c:
	  * gst/gdp/gstgdpdepay.c:
	  * gst/gdp/gstgdppay.c:
	  * sys/glsink/glimagesink.c:
	  Use GST_DEBUG_CATEGORY_STATIC where possible (#342503)
	  and fix one GObject boilerplate macro.

2006-06-22 12:13:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/tags.c: Second field in GEnumValue shouldn't be a description, but a stringified version of the enum...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum):
	  Second field in GEnumValue shouldn't be a description,
	  but a stringified version of the enum value.

2006-06-22 12:03:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/ximage/ximagesink.c: Avoid type checking in buffer casts.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
	  (gst_ximage_buffer_free), (gst_ximagesink_ximage_put),
	  (gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc):
	  Avoid type checking in buffer casts.
	  Avoid caps copy in buffer_alloc when we can.
	  Use pad_peer_accept.

2006-06-22 11:01:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/tag.h: Oops, make that 'Since: 0.10.9'.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/tag.h:
	  Oops, make that 'Since: 0.10.9'.

2006-06-22 10:55:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  API: add GstTagImageType enum to describe images contained in image tags (#345641).
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c: (register_tag_image_type_enum),
	  (gst_tag_image_type_get_type):
	  API: add GstTagImageType enum to describe images contained
	  in image tags (#345641).

2006-06-22 10:31:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/tcp/gstmultifdsink.c: Fix warnings with gst-inspect: "buffers-min" property should be of G_TYPE_INT and not G_TYP...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  Fix warnings with gst-inspect: "buffers-min" property
	  should be of G_TYPE_INT and not G_TYPE_INT64. Also fix
	  typo in property description.

2006-06-22 10:10:51 +0000  Cody Russell <bratsche@gnome.org>

	  gst/: Avoid unnecessary class cast check in class_init functions (#337747).
	  Original commit message from CVS:
	  Patch by: Cody Russell <bratsche at gnome org>
	  * gst/audioresample/gstaudioresample.c:
	  (gst_audioresample_class_init):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_class_init):
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_class_init):
	  * gst/tcp/gsttcpserversink.c: (gst_tcp_server_sink_class_init):
	  * gst/tcp/gsttcpserversrc.c: (gst_tcp_server_src_class_init):
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init):
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_class_init):
	  * gst/volume/gstvolume.c: (gst_volume_class_init):
	  Avoid unnecessary class cast check in class_init
	  functions (#337747).

2006-06-21 18:39:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: g_markup_escape_text() REALLY doesn't like non-UTF8 input and doesn't validate its input ...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_make_utf8),
	  (gst_text_overlay_video_chain):
	  g_markup_escape_text() REALLY doesn't like non-UTF8 input
	  and doesn't validate its input either (and neither did
	  textoverlay it seems). Let's do that then and fix #345206.

2006-06-19 17:12:57 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.*: Added shiny new burst-on-connect methods.
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
	  (gst_unit_type_get_type), (gst_multi_fd_sink_class_init),
	  (gst_multi_fd_sink_init), (gst_multi_fd_sink_add_full),
	  (gst_multi_fd_sink_add), (gst_multi_fd_sink_handle_client_read),
	  (find_syncframe), (find_limits), (assign_value),
	  (count_burst_unit), (gst_multi_fd_sink_new_client),
	  (gst_multi_fd_sink_handle_client_write),
	  (gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_render),
	  (gst_multi_fd_sink_set_property), (gst_multi_fd_sink_get_property),
	  (gst_multi_fd_sink_change_state):
	  * gst/tcp/gstmultifdsink.h:
	  Added shiny new burst-on-connect methods.
	  Add properties to control the minimal amount of data queued.
	  Small cleanups.
	  API: bytes-min property
	  API: time-min property
	  API: buffers-min property
	  API: burst-unit property
	  API: burst-value property
	  API: add-full signal
	  * gst/tcp/gsttcp-marshal.list:
	  Added new marshaller code for the new signal.
	  * tests/check/elements/multifdsink.c: (GST_START_TEST),
	  (multifdsink_suite):
	  Added testcases for new burst methods.

2006-06-19 11:35:47 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update for latest changes
	  Original commit message from CVS:
	  update for latest changes

2006-06-19 09:57:50 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/theora/theoradec.c: Implement clipping for accurate seeking.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (clip_buffer), (theora_dec_push):
	  Implement clipping for accurate seeking.
	  Closes #345225

2006-06-19 09:08:05 +0000  Philip Jaegenstedt <philip@lysator.liu.se>

	  gst/videoscale/gstvideoscale.c: Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131
	  Original commit message from CVS:
	  Patch by: Philip Jaegenstedt <philip at lysator dot liu dot se>
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size),
	  (gst_video_scale_transform):
	  Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes #345131

2006-06-17 14:18:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery
	  Original commit message from CVS:
	  ChangeLog surgery

2006-06-17 14:13:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Fix --disable-extern (can't set conditionals conditionally, #343602).
	  Original commit message from CVS:
	  * configure.ac:
	  Fix --disable-extern (can't set conditionals conditionally,
	  #343602).

2006-06-16 15:43:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/audioresample.c: Add test case for bug #342789 fixed below.
	  Original commit message from CVS:
	  * tests/check/elements/audioresample.c: (test_reuse),
	  (audioresample_suite):
	  Add test case for bug #342789 fixed below.

2006-06-16 15:17:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioresample/gstaudioresample.c: Implement GstBaseTransform::start and ::stop so that audioresample can clear it...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  (gst_audioresample_class_init), (gst_audioresample_init),
	  (audioresample_start), (audioresample_stop),
	  (gst_audioresample_set_property), (gst_audioresample_get_property):
	  Implement GstBaseTransform::start and ::stop so that audioresample
	  can clear its internal state properly and be reused insted of
	  causing non-negotiated errors with playbin under some circumstances
	  (#342789).
	  * tests/check/elements/audioresample.c: (setup_audioresample),
	  (cleanup_audioresample):
	  Need to set element state here so that ::start and ::stop are
	  called.

2006-06-16 13:59:29 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst-libs/gst/riff/riff-read.c: Parse extra data better, apparently it's right behind the normal strf header size. Fix...
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian dot net>
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_vids):
	  Parse extra data better, apparently it's right behind
	  the normal strf header size. Fixes #343500.

2006-06-16 11:04:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.c: If we fail to set the buffer_time and period_time alsa parameters, post a warning and leave a...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (set_hwparams):
	  If we fail to set the buffer_time and period_time alsa
	  parameters, post a warning and leave alsa select a
	  default instead of failing. Fixes #342085

2006-06-16 10:30:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery (it wouldn't have crashed, just shown bogus values)
	  Original commit message from CVS:
	  ChangeLog surgery (it wouldn't have crashed, just shown bogus values)

2006-06-16 10:20:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Remove GST_CDDA_TAG_TRACK_TAGS again, it is #ifdef 0'ed out in the header file and shouldn't be listed in the docs.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/cdda/gstcddabasesrc.h:
	  Remove GST_CDDA_TAG_TRACK_TAGS again, it is #ifdef 0'ed
	  out in the header file and shouldn't be listed in the docs.
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
	  Fix it so that it doesn't crash in the debug statement.

2006-06-16 10:02:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/: add remaining symbols into correct setions
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/gst-plugins-base-libs.types:
	  add remaining symbols into correct setions
	  * gst-libs/gst/audio/gstringbuffer.c:
	  fix incomplete docs
	  * gst-libs/gst/audio/gstringbuffer.h:
	  comment out not yet implemented function
	  * gst-libs/gst/floatcast/floatcast.h:
	  * gst-libs/gst/netbuffer/gstnetbuffer.c:
	  add short descriptions
	  * gst-libs/gst/interfaces/propertyprobe.c:
	  fix return value docs
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
	  simplify debug logging
	  * gst-libs/gst/riff/riff-read.h:
	  sync function prototype and docs
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  remove left over symbol

2006-06-16 09:56:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Use GST_PLUGIN_DOCS macro in configure.ac, add
	  Original commit message from CVS:
	  * autogen.sh:
	  * configure.ac:
	  * docs/Makefile.am:
	  Use GST_PLUGIN_DOCS macro in configure.ac, add
	  --enable-plugin-docs default to autogen.sh and use
	  ENABLE_PLUGIN_DOCS conditional in Makefile.am (#344039).

2006-06-15 15:27:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Combine GstFlowReturn from the source pads to give a meaningfull result to the upstream peer o...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
	  (gst_ogg_demux_activate_chain), (gst_ogg_demux_combine_flows),
	  (gst_ogg_demux_loop):
	  Combine GstFlowReturn from the source pads to give a
	  meaningfull result to the upstream peer or to stop the
	  processing task in case of errors.

2006-06-14 14:49:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreaminfo.c: Try GST_TAG_CODEC as fallback when extracting the codec name; more debug info.
	  Original commit message from CVS:
	  * gst/playback/gststreaminfo.c: (cb_probe):
	  Try GST_TAG_CODEC as fallback when extracting the
	  codec name; more debug info.

2006-06-14 14:34:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/: Extract language tags from ogm subtitle streams, so that the subtitle menu choices are labelled correctly in
	  Original commit message from CVS:
	  * ext/ogg/Makefile.am:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
	  Extract language tags from ogm subtitle streams, so that
	  the subtitle menu choices are labelled correctly in
	  Totem (fixes #344708).

2006-06-14 09:13:54 +0000  Alessandro Decina <alessandro@nnva.org>

	  ext/ogg/gstoggmux.c: Fix various leaks. Fixes #343699.
	  Original commit message from CVS:
	  Patch by: Alessandro Decina <alessandro at nnva dot org>
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_get_type), (gst_ogg_mux_clear),
	  (gst_ogg_mux_release_pad), (gst_ogg_mux_get_headers),
	  (gst_ogg_mux_set_header_on_caps), (gst_ogg_mux_init_collectpads),
	  (gst_ogg_mux_clear_collectpads), (gst_ogg_mux_change_state):
	  Fix various leaks. Fixes #343699.
	  Add x-smoke mime type.

2006-06-14 08:17:45 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-ids.h: Add IDs for 'bext' chunks (see #343837).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-ids.h:
	  Add IDs for 'bext' chunks (see #343837).

2006-06-12 12:44:38 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: Honour font face tags in SAMI subtitles (#344503).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * gst/subparse/samiparse.c: (sami_context_pop_state),
	  (handle_start_font), (end_sami_element):
	  Honour font face tags in SAMI subtitles (#344503).

2006-06-11 20:41:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  po/POTFILES.in: add missing files containing translatable strings
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  add missing files containing translatable strings

2006-06-11 19:55:32 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/tmpl/.cvsignore: we don't want those *.sgml files in CVS either
	  Original commit message from CVS:
	  * docs/libs/tmpl/.cvsignore:
	  we don't want those *.sgml files in CVS either

2006-06-11 19:44:49 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ignore more
	  Original commit message from CVS:
	  * docs/libs/.cvsignore:
	  * tests/check/elements/.cvsignore:
	  * tests/check/libs/.cvsignore:
	  ignore more

2006-06-11 18:33:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/Makefile.am: also commiting the changed Makefile.am (added more libs to the doc-build)
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  also commiting the changed Makefile.am (added more libs to the
	  doc-build)

2006-06-11 17:08:26 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  docs/libs/: first batch of reordering things, add index & hierarchy
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/gst-plugins-base-libs.types:
	  first batch of reordering things, add index & hierarchy

2006-06-11 14:08:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/gnomevfs/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/Makefile.am:
	* sys/v4l/Makefile.am:
	* sys/ximage/Makefile.am:
	* sys/xvimage/Makefile.am:
	  further clean up build
	  Original commit message from CVS:
	  further clean up build

2006-06-11 12:14:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: use GST_PKG_CHECK_MODULES, cleans up output
	  Original commit message from CVS:
	  * configure.ac:
	  use GST_PKG_CHECK_MODULES, cleans up output

2006-06-11 12:10:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* win32/common/config.h:
	  update to cvs
	  Original commit message from CVS:
	  update to cvs

2006-06-10 18:52:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfsuri.c: Add support for burn:// URIs (#343385); const-ify things a bit, use G_N_ELEMENTS inste...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
	  Add support for burn:// URIs (#343385); const-ify things a bit,
	  use G_N_ELEMENTS instead of hard-coded array size.

2006-06-10 18:25:07 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: Fix up broken entities before passing them to libxml *sigh*. (#343303).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * gst/subparse/samiparse.c: (fix_invalid_entities), (parse_sami):
	  Fix up broken entities before passing them to libxml *sigh*.
	  (#343303).

2006-06-09 18:52:35 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to trunk
	  Original commit message from CVS:
	  back to trunk

=== release 0.10.8 ===

2006-06-09 18:49:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/config.h:
	  releasing 0.10.8
	  Original commit message from CVS:
	  releasing 0.10.8

2006-06-07 11:04:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  0.10.7.2 prerelease
	  Original commit message from CVS:
	  * configure.ac:
	  * 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:
	  * win32/common/config.h:
	  0.10.7.2 prerelease

2006-06-07 11:03:03 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  move last template doc snippets to source code and delete them
	  Original commit message from CVS:
	  * docs/libs/tmpl/gstaudio.sgml:
	  * docs/libs/tmpl/gstcolorbalance.sgml:
	  * docs/libs/tmpl/gstmixer.sgml:
	  * docs/libs/tmpl/gstringbuffer.sgml:
	  * docs/libs/tmpl/gsttuner.sgml:
	  * docs/libs/tmpl/gstxoverlay.sgml:
	  * gst-libs/gst/audio/audio.c:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  * gst-libs/gst/interfaces/colorbalance.c:
	  * gst-libs/gst/interfaces/mixer.c:
	  * gst-libs/gst/interfaces/tuner.c:
	  * gst-libs/gst/interfaces/xoverlay.c:
	  move last template doc snippets to source code and delete them

2006-06-06 16:26:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/gstgdppay.c:
	  adapt to new api
	  Original commit message from CVS:
	  adapt to new api

2006-06-06 14:39:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: enable building of GDP elements
	  Original commit message from CVS:
	  * configure.ac:
	  enable building of GDP elements
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
	  (gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
	  (gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
	  (gst_gdp_pay_reset_streamheader), (gst_gdp_pay_sink_event),
	  (gst_gdp_pay_set_property), (gst_gdp_pay_get_property),
	  (gst_gdp_pay_change_state):
	  * gst/gdp/gstgdppay.h:
	  add version 1.0

2006-06-06 11:13:18 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoraparse.c: Mark DELTA_UNIT on non-keyframes.
	  Original commit message from CVS:
	  * ext/theora/theoraparse.c: (theora_parse_drain_queue_prematurely),
	  (theora_parse_drain_queue):
	  Mark DELTA_UNIT on non-keyframes.

2006-06-03 21:06:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/audio/: Document better the fact that latency_time and buffer_time are values stored in microseconds, an...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init), (gst_base_audio_sink_setcaps):
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps),
	  (gst_ring_buffer_samples_done):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Document better the fact that latency_time and buffer_time are values
	  stored in microseconds, and not the usual GStreamer nanoseconds.
	  Change the variables (compatibly) that store them from GstClockTime
	  to guint64 to make it more clear that they're not storing clock times.
	  Also, remove the bogus property description that says the user can
	  specify -1 to get the default value, since that's never been the case.
	  When computing the default segment size for the ring buffer, make it
	  an integer number of samples.
	  When the sub-class indicates a delay greater than the number of
	  samples we've written return 0 from the audio sink get_time method.

2006-06-02 17:01:02 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/: Don't busy-wait in tests; this was causing test timeouts very frequently when running under valgrind.
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (set_channel_positions),
	  (get_float_mc_caps), (get_int_mc_caps):
	  * tests/check/elements/audioresample.c:
	  * tests/check/elements/audiotestsrc.c: (GST_START_TEST):
	  * tests/check/elements/videorate.c:
	  * tests/check/elements/videotestsrc.c: (GST_START_TEST):
	  * tests/check/elements/volume.c:
	  * tests/check/elements/vorbisdec.c:
	  * tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
	  Don't busy-wait in tests; this was causing test timeouts very
	  frequently when running under valgrind.

2006-06-02 16:45:59 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/gdp/gstgdpdepay.c:
	* gst/gdp/gstgdppay.h:
	  small fixes
	  Original commit message from CVS:
	  small fixes

2006-06-02 16:35:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  fail_if_can_read is racy
	  Original commit message from CVS:
	  fail_if_can_read is racy

2006-06-02 16:26:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/: make multifdsink properly deal with streamheader:
	  Original commit message from CVS:
	  * gst/tcp/README:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_init),
	  (gst_multi_fd_sink_remove_client_link),
	  (gst_multi_fd_sink_client_queue_caps),
	  (gst_multi_fd_sink_client_queue_buffer),
	  (gst_multi_fd_sink_handle_client_write),
	  (gst_multi_fd_sink_render):
	  * gst/tcp/gstmultifdsink.h:
	  make multifdsink properly deal with streamheader:
	  - streamheader is taken from caps
	  - buffers marked with IN_CAPS are not sent
	  - streamheaders are sent, on connection, from the caps of the
	  buffer where the client gets positioned to
	  - further streamheader changes are done every time the client
	  will receive a buffer with different caps
	  * tests/check/elements/multifdsink.c: (GST_START_TEST),
	  (gst_multifdsink_create_streamheader):
	  add tests for this

2006-06-02 15:06:59 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisdec.c: Reinstate limit on channel count. Vorbis does not define the meaning of > 6 channels, so they...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
	  Reinstate limit on channel count. Vorbis does not define the meaning
	  of > 6 channels, so they're just independent channels. Gstreamer
	  currently has no mechanism to represent N independent channels.

2006-06-02 14:23:34 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisdec.c: Don't arbitrarily restrict channel counts and rate in vorbis.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
	  Don't arbitrarily restrict channel counts and rate in vorbis.
	  In terms of effects likely on real-world files, this fixes 96kHz
	  playback of vorbis.

2006-06-02 14:19:18 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/audioconvert.c: More correct float->int conversion.
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float):
	  More correct float->int conversion.

2006-06-02 14:07:42 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggdemux.c: Don't accidently send GST_CLOCK_TIME_NONE as a new segment start value. Fixes g-critical on tr...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
	  Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
	  value. Fixes g-critical on trying to play back ogg containing
	  unknown codec.

2006-06-02 10:34:12 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybasebin.*: Make the subtitle detection work from any thread so we don't deadlock. Fixes #343397.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (group_create), (group_commit),
	  (setup_source):
	  * gst/playback/gstplaybasebin.h:
	  Make the subtitle detection work from any thread so we don't
	  deadlock. Fixes #343397.

2006-06-02 10:28:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/gdp/gstgdppay.c: add crc-header and crc-payload properties don't error out on some things that are recoverable
	  Original commit message from CVS:
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
	  (gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
	  (gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
	  (gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain),
	  (gst_gdp_pay_sink_event), (gst_gdp_pay_set_property),
	  (gst_gdp_pay_get_property):
	  add crc-header and crc-payload properties
	  don't error out on some things that are recoverable
	  * tests/check/elements/gdppay.c: (GST_START_TEST), (gdppay_suite):
	  add test for crc

2006-06-02 09:17:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gsttcp.c:
	  show type number when packet is of the wrong type
	  Original commit message from CVS:
	  show type number when packet is of the wrong type

2006-06-01 23:04:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/volume/Makefile.am: Seriously, it's not *that* hard to get compilation right.  Even a drunk can do it ! Add LIBOI...
	  Original commit message from CVS:
	  * gst/volume/Makefile.am:
	  Seriously, it's not *that* hard to get compilation right.  Even
	  a drunk can do it ! Add LIBOIL CFLAGS and LIBS

2006-06-01 22:00:23 +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 20:39:30 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/volume/gstvolume.*: rewrite the passthrough check, split _int16 and _int16_clamp, fix another property desc., rem...
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_choose_func),
	  (volume_update_real_volume), (gst_volume_class_init),
	  (gst_volume_init), (volume_process_float), (volume_process_int16),
	  (volume_process_int16_clamp), (volume_set_caps),
	  (volume_transform_ip), (plugin_init):
	  * gst/volume/gstvolume.h:
	  rewrite the passthrough check, split _int16 and _int16_clamp, fix
	  another property desc., remove unused param from process function
	  * tests/check/elements/volume.c: (volume_suite):
	  reactivate the passthrough test

2006-06-01 19:19:51 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixerelement.h:
	  * ext/alsa/gstalsamixeroptions.h:
	  * ext/alsa/gstalsamixertrack.h:
	  * ext/gnomevfs/gstgnomevfssink.h:
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/gsttheoraparse.h:
	  * ext/vorbis/vorbisparse.h:
	  * gst-libs/gst/audio/gstaudioclock.h:
	  * gst-libs/gst/audio/gstaudiofilter.h:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  * gst/audioconvert/gstaudioconvert.h:
	  * gst/audioresample/gstaudioresample.h:
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	  * gst/playback/gststreamselector.h:
	  * gst/tcp/gstmultifdsink.h:
	  * gst/tcp/gsttcpclientsink.h:
	  * gst/tcp/gsttcpclientsrc.h:
	  * gst/tcp/gsttcpserversink.h:
	  * gst/tcp/gsttcpserversrc.h:
	  * gst/videorate/gstvideorate.h:
	  * gst/videoscale/gstvideoscale.h:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/volume/gstvolume.h:
	  * sys/v4l/gstv4ljpegsrc.h:
	  * sys/v4l/gstv4lmjpegsink.h:
	  * sys/v4l/gstv4lmjpegsrc.h:
	  * sys/v4l/gstv4lsrc.h:
	  * sys/ximage/ximagesink.h:
	  * sys/xvimage/xvimagesink.h:
	  * tests/old/testsuite/alsa/sinesrc.h:
	  Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass

2006-05-31 16:56:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  remove wrong commit
	  Original commit message from CVS:
	  remove wrong commit

2006-05-31 16:21:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: Handle DISCONT.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_reset),
	  (gst_visual_sink_setcaps), (gst_visual_sink_event),
	  (gst_visual_src_event), (get_buffer), (gst_visual_chain):
	  Handle DISCONT.
	  Use running time before doing QoS.
	  Handle mono too.

2006-05-31 14:17:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  docs/libs/Makefile.am: set a magic variable to indicate we know the docs are incomplete
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  set a magic variable to indicate we know the docs are incomplete

2006-05-30 20:33:59 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/common/libgstvideo.def: export gst_video_calculate_display_ratio
	  Original commit message from CVS:
	  * win32/common/libgstvideo.def:
	  export gst_video_calculate_display_ratio
	  * win32/vs6/libgstvideoscale.dsp:
	  add link to libgstvideo-0.10.lib

2006-05-30 19:00:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Throw a more comprehensible error for rtsp:// URIs (rather than erroring out with a ne...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gen_source_element):
	  Throw a more comprehensible error for rtsp:// URIs (rather
	  than erroring out with a negotiation error later on) until
	  we fix playbin to handle rtspsrc etc.

2006-05-30 16:09:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/pango/gsttextoverlay.c: Added some FIXMEs.
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event),
	  (gst_text_overlay_text_event):
	  Added some FIXMEs.

2006-05-30 16:07:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.*: Implement release_request_pad.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_class_init), (gst_adder_init),
	  (gst_adder_request_new_pad), (gst_adder_release_pad):
	  * gst/adder/gstadder.h:
	  Implement release_request_pad.
	  Make padcounter atomic.
	  * tests/check/elements/adder.c: (GST_START_TEST), (adder_suite):
	  Added check for release_pad in adder.

2006-05-30 16:04:14 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Fix build again.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_chain_new_stream):
	  Fix build again.

2006-05-30 14:59:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/ogg/gstoggdemux.c: add more debugging clean up printf formats for granulepos and serialno
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind),
	  (gst_ogg_demux_chain_elem_pad), (gst_ogg_demux_queue_data),
	  (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
	  (gst_ogg_pad_submit_page), (gst_ogg_chain_new_stream),
	  (gst_ogg_demux_seek), (gst_ogg_demux_get_data),
	  (gst_ogg_demux_get_next_page), (gst_ogg_demux_do_seek),
	  (gst_ogg_demux_bisect_forward_serialno),
	  (gst_ogg_demux_read_chain), (gst_ogg_demux_find_chains),
	  (gst_ogg_demux_chain), (gst_ogg_demux_loop), (gst_ogg_print):
	  add more debugging
	  clean up printf formats for granulepos and serialno

2006-05-30 14:31:43 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	* tests/check/generic/states.c:
	  properly fail if we can't make an element
	  Original commit message from CVS:
	  properly fail if we can't make an element

2006-05-30 13:22:58 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.*: Multi-channel caps negotiation, so we can do proper multichannel vorbis encoding, negotiated ...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (raw_caps_factory),
	  (gst_vorbis_enc_class_init), (gst_vorbis_enc_dispose),
	  (gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps),
	  (gst_vorbis_enc_init), (gst_vorbis_enc_buffer_from_header_packet),
	  (gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
	  * ext/vorbis/vorbisenc.h:
	  Multi-channel caps negotiation, so we can do proper multichannel
	  vorbis encoding, negotiated through audioconvert.

2006-05-30 11:45:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/elements/adder.c: Added check to show that #339935 is fixed with ongoing adder and collectpads fixes.
	  Original commit message from CVS:
	  * tests/check/elements/adder.c: (test_event_message_received),
	  (test_play_twice_message_received), (GST_START_TEST),
	  (adder_suite):
	  Added check to show that #339935 is fixed with ongoing
	  adder and collectpads fixes.

2006-05-29 17:19:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.c: Don't leak pad name.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_request_new_pad):
	  Don't leak pad name.

2006-05-29 15:49:53 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.c: Fix adder seeking.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_query_duration),
	  (forward_event_func), (forward_event), (gst_adder_src_event):
	  Fix adder seeking.
	  Make query/seeking code threadsafe.
	  * tests/check/Makefile.am:
	  * tests/check/elements/adder.c: (test_event_message_received),
	  (GST_START_TEST), (test_play_twice_message_received):
	  Fix adder test case.

2006-05-29 13:21:00 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/playback/gstplaybasebin.*: Add 'subtitle-encoding' property to playbin, so applications can force a subtitle enco...
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (gst_play_base_bin_init), (gst_play_base_bin_dispose),
	  (set_encoding_element), (decodebin_element_added_cb),
	  (decodebin_element_removed_cb), (setup_subtitle), (setup_source),
	  (gst_play_base_bin_set_property), (gst_play_base_bin_get_property):
	  * gst/playback/gstplaybasebin.h:
	  Add 'subtitle-encoding' property to playbin, so applications can
	  force a subtitle encoding for non-UTF8 subtitles (#342268).
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init),
	  (gst_sub_parse_set_property):
	  Rename recently-added 'encoding' property to 'subtitle-encoding'
	  (so it can be proxied by playbin/decodebin in a generic way
	  with less danger of false positives).

2006-05-29 11:04:48 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/gstaudioconvert.c: Patch from #341562: give more specific audio caps in get_caps, so that basetransf...
	  Original commit message from CVS:
	  * gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
	  (append_with_other_format), (set_structure_widths),
	  (gst_audio_convert_transform_caps):
	  Patch from #341562: give more specific audio caps in get_caps, so
	  that basetransform  can make better decisions on what caps to
	  negotiate.

2006-05-28 20:04:12 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/volume.c: make it compile again
	  Original commit message from CVS:
	  * tests/check/elements/volume.c:
	  make it compile again

2006-05-28 19:56:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/volume.c: disable test until #343196 gets resolved
	  Original commit message from CVS:
	  * tests/check/elements/volume.c: (volume_suite):
	  disable test until #343196 gets resolved

2006-05-28 19:42:27 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/gstadder.c: Make it easier to copy&paste
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_get_type):
	  Make it easier to copy&paste
	  * gst/volume/Makefile.am:
	  * gst/volume/gstvolume.c: (volume_update_real_volume),
	  (gst_volume_set_volume), (gst_volume_set_mute),
	  (gst_volume_class_init), (volume_process_int16), (volume_set_caps),
	  (volume_transform_ip), (volume_update_mute),
	  (volume_update_volume):
	  * gst/volume/gstvolume.h:
	  Add own debug category, move duplicate code to helper function, fix
	  property texts, add more comments and prepare ffor liboil-goodness
	  * tests/check/Makefile.am:
	  * tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
	  add test for mute and passtrough case, be a bit more verbose to track
	  failure
	  * tests/check/generic/states.c: (GST_START_TEST):
	  catch elements that fail to instantiate

2006-05-28 09:37:18 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/pipelines/: Comment out tests using parse_launch() if core was built without parsing capabilities.
	  Original commit message from CVS:
	  * tests/check/pipelines/simple-launch-lines.c:
	  * tests/check/pipelines/theoraenc.c:
	  * tests/check/pipelines/vorbisenc.c:
	  Comment out tests using parse_launch() if core was built without
	  parsing capabilities.

2006-05-27 13:34:03 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/check/Makefile.am: Extra bonus points for whoever explains to ensonic that you are meant to test unit tests tho...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Extra bonus points for whoever explains to ensonic that you are meant
	  to test unit tests thoroughly before commiting them, especially if
	  you know it's going to break.
	  De-activated element/adder tests.

2006-05-27 13:09:16 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Marking caps conversion issues as GST_WARNING is way too verbose,
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps):
	  Marking caps conversion issues as GST_WARNING is way too verbose,
	  Moving them to GST_LOG.

2006-05-27 11:26:18 +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-26 15:52:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Small cleanups.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
	  (vorbis_dec_src_event), (vorbis_dec_sink_event), (vorbis_do_clip),
	  (vorbis_dec_push), (vorbis_handle_data_packet), (vorbis_dec_chain),
	  (vorbis_dec_change_state):
	  Small cleanups.
	  Add some FIXMEs
	  Clip output samples to segment boundaries.

2006-05-26 11:17:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/ximage/ximagesink.c: Improve the errors produced on bad output, including some human readable description strings.
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
	  (gst_ximagesink_xcontext_get), (gst_ximagesink_show_frame):
	  Improve the errors produced on bad output, including some human
	  readable description strings.
	  Handle the (theoretical for ximagesink) case where the XServer
	  has a different idea about the size required for a particular
	  frame and gives us too small a memory allocation.

2006-05-26 10:18:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  Mention bugs fixed by previous commit
	  Original commit message from CVS:
	  Mention bugs fixed by previous commit

2006-05-26 09:40:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/xvimage/xvimagesink.c: Improve the errors produced on bad output, including some human readable description strings.
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get),
	  (gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps),
	  (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
	  Improve the errors produced on bad output, including some human
	  readable description strings.
	  Handle RGB Xv formats properly by transforming them into our
	  big-endian caps description.
	  Use gst_caps_truncate to ensure that we never try and choose a
	  non-fixed caps in buffer_alloc.
	  Handle the case where the XServer has a different idea about the size
	  required for a particular frame and gives us too small a memory
	  allocation.
	  Use -1 to indicate 'no image format', because 0 is a valid XServer
	  image format number.
	  Put RGB Xv formats at the end of the caps, so that we always prefer
	  YUV format frames.
	  Iterate the available Xv Encodings to determine the maximum width and
	  height, and then return that in our caps.

2006-05-25 16:50:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstdecodebin.c: When there is only one unfinished pad and it receives an event that doesn't match our re...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (remove_fakesink), (pad_probe):
	  When there is only one unfinished pad and it receives an event that
	  doesn't match our requirements, we need to set alldone=FALSE so that
	  the fakesink is not removed yet.

2006-05-25 09:32:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggdemux.c: Use gst_type_find_helper_for_buffer() to find the type of stream from the first packet.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
	  Use gst_type_find_helper_for_buffer() to find the type
	  of stream from the first packet.
	  * configure.ac:
	  Bump requirements to core CVS (needed for vorbis
	  typefinding to work).

2006-05-24 08:34:53 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Added the 'prfl' atom type which MQV (no, it's not a typo) files contain.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (qt_type_find):
	  Added the 'prfl' atom type which MQV (no, it's not a typo) files contain.
	  Else they play perfectly fine with qtdemux.

2006-05-23 20:38:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  make more debug catagories static
	  Original commit message from CVS:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/theora/theoraparse.c: (gst_theora_parse_class_init):
	  * gst/audiorate/gstaudiorate.c:
	  make more debug catagories static
	  * tests/check/Makefile.am:
	  * tests/check/elements/adder.c: (message_received),
	  (test_event_message_received), (GST_START_TEST),
	  (test_play_twice_message_received), (adder_suite):
	  added test case for using element twice, extra bonus points for anyone
	  who can make these test run reliably

2006-05-23 15:18:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/theora/theoradec.c: Make work with time-stamped input buffers that do not have a granulepos in BUFFER_OFFSET_END ...
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_chain):
	  Make work with time-stamped input buffers that do not
	  have a granulepos in BUFFER_OFFSET_END (like theora
	  buffers coming from matroskademux). Fixes #342448.

2006-05-22 15:53:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/gdp/: Handle error cases when calling functions do downwards state change after parent's change_state
	  Original commit message from CVS:
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain),
	  (gst_gdp_depay_change_state):
	  * gst/gdp/gstgdpdepay.h:
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_reset_streamheader),
	  (gst_gdp_pay_chain), (gst_gdp_pay_sink_event),
	  (gst_gdp_pay_change_state):
	  * gst/gdp/gstgdppay.h:
	  Handle error cases when calling functions
	  do downwards state change after parent's change_state
	  * tests/check/elements/gdpdepay.c: (GST_START_TEST):
	  * tests/check/elements/gdppay.c: (GST_START_TEST):
	  clean up more

2006-05-22 13:25:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  adding GDP payloader and depayloader.  Build integration will follow later when the GDP issues for core are sorted out.
	  Original commit message from CVS:
	  * gst/gdp/Makefile.am:
	  * gst/gdp/gstgdp.c: (plugin_init):
	  * gst/gdp/gstgdpdepay.c: (gst_gdp_depay_base_init),
	  (gst_gdp_depay_class_init), (gst_gdp_depay_init),
	  (gst_gdp_depay_finalize), (gst_gdp_depay_chain),
	  (gst_gdp_depay_change_state), (gst_gdp_depay_plugin_init):
	  * gst/gdp/gstgdpdepay.h:
	  * gst/gdp/gstgdppay.c: (gst_gdp_pay_base_init),
	  (gst_gdp_pay_class_init), (gst_gdp_pay_init),
	  (gst_gdp_pay_dispose), (gst_gdp_stamp_buffer),
	  (gst_gdp_buffer_from_caps), (gst_gdp_pay_buffer_from_buffer),
	  (gst_gdp_buffer_from_event), (gst_gdp_pay_reset_streamheader),
	  (gst_gdp_queue_buffer), (gst_gdp_pay_chain),
	  (gst_gdp_pay_sink_event), (gst_gdp_pay_change_state),
	  (gst_gdp_pay_plugin_init):
	  * gst/gdp/gstgdppay.h:
	  * tests/check/Makefile.am:
	  * tests/check/elements/gdpdepay.c: (setup_gdpdepay),
	  (cleanup_gdpdepay), (gdpdepay_push_per_byte), (GST_START_TEST),
	  (setup_gdpdepay_streamheader), (gdpdepay_suite), (main):
	  * tests/check/elements/gdppay.c: (setup_gdppay), (cleanup_gdppay),
	  (GST_START_TEST), (setup_gdppay_streamheader), (gdppay_suite),
	  (main):
	  adding GDP payloader and depayloader.  Build integration will
	  follow later when the GDP issues for core are sorted out.

2006-05-22 11:42:03 +0000  Peter Kjellerstedt <pkj@axis.com>

	  gst/tcp/Makefile.am: fdstresstest doesn't need Gtk+, fix compilation if gtk is not available (#342566).
	  Original commit message from CVS:
	  Patch by: Peter Kjellerstedt  <pkj at axis com>
	  * gst/tcp/Makefile.am:
	  fdstresstest doesn't need Gtk+, fix compilation if
	  gtk is not available (#342566).

2006-05-19 17:57:56 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpaudiopayload.c: 80 line columns
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  80 line columns
	  Removed redundant floor()

2006-05-19 15:00:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-read.c: On second thought, just skip JUNK chunks automatically, so the caller doesn't have to ...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
	  On second thought, just skip JUNK chunks automatically, so
	  the caller doesn't have to handle this. Fixes #342345.
	  Also, return GST_FLOW_UNEXPECTED if we get a short read,
	  not GST_FLOW_ERROR.

2006-05-19 13:37:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-read.c: Don't bail out on JUNK chunks with a size of 0 (would try to pull_range 0 bytes before...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
	  Don't bail out on JUNK chunks with a size of 0 (would try to
	  pull_range 0 bytes before, which sources don't like too much).
	  See #342345.

2006-05-19 13:02:46 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Use the gstutil scaling function to preserve 64 bits while calculating output width and height from the display-aspec...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
	  Use the gstutil scaling function to preserve 64 bits while calculating
	  output width and height from the display-aspect-ratio. (A continuation
	  of #341542)

2006-05-19 11:50:17 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/xvimage/xvimagesink.*: When performing buffer allocations, remember the caps and image format we return so that i...
	  Original commit message from CVS:
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear),
	  (gst_xvimagesink_buffer_alloc):
	  * sys/xvimage/xvimagesink.h:
	  When performing buffer allocations, remember the caps and image format
	  we return so that if the same caps are asked for next time we can
	  return them immediately without doing any caps intersections.

2006-05-18 23:00:02 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/README: Some new documentation
	  Original commit message from CVS:
	  2006-05-18 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
	  * gst-libs/gst/rtp/README:
	  Some new documentation
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  New RTP audio base payloader class. Supports frame or sample based codecs.
	  Not enabled in Makefile.am until approved.

2006-05-18 20:30:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/elements/alsa.c: Fix test case: don't try to free NULL GValueArray when there are no devices.
	  Original commit message from CVS:
	  * tests/check/elements/alsa.c: (test_device_property_probe):
	  Fix test case: don't try to free NULL GValueArray when there
	  are no devices.

2006-05-18 19:21:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/: Add simple test that runs a device property probe on alsasrc, alsasink and alsamixer. Disable valgrind ...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/alsa.c: (test_device_property_probe),
	  (alsa_suite), (main):
	  Add simple test that runs a device property probe on alsasrc,
	  alsasink and alsamixer. Disable valgrind check for now (too
	  many leaks in libasound, and valgrind ignored my suppressions
	  additions).

2006-05-18 17:19:39 +0000  Martin Szulecki <gnomebugzilla@sukimashita.com>

	  ext/alsa/: Clean up and simplify alsa device probing. Make it actually work for multiple classes. Don't cache results...
	  Original commit message from CVS:
	  * ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list),
	  (gst_alsa_device_property_probe_probe_property),
	  (gst_alsa_device_property_probe_needs_probe),
	  (gst_alsa_device_property_probe_get_values),
	  (gst_alsa_type_add_device_property_probe_interface):
	  * ext/alsa/gstalsadeviceprobe.h:
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_init_interfaces):
	  * ext/alsa/gstalsamixerelement.h:
	  Clean up and simplify alsa device probing. Make it actually work
	  for multiple classes. Don't cache results any longer.
	  * ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces),
	  (gst_alsasink_init):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose),
	  (gst_alsasrc_interface_supported), (gst_implements_interface_init),
	  (gst_alsasrc_init_interfaces), (gst_alsasrc_set_property):
	  Make alsasink and alsasrc implement the GstPropertyProbe interface
	  for device probing (#342181).
	  Patch by: Martin Szulecki  <gnomebugzilla at sukimashita com>

2006-05-18 10:05:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/samiparse.c: Don't ignore return value of strtol (++compiler_happiness).
	  Original commit message from CVS:
	  * gst/subparse/samiparse.c: (handle_start_font):
	  Don't ignore return value of strtol (++compiler_happiness).

2006-05-17 17:49:10 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/gstsubparse.*: Add 'encoding' property (#341681).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist chollian net>
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (gst_sub_parse_class_init), (gst_sub_parse_init),
	  (gst_sub_parse_set_property), (gst_sub_parse_get_property),
	  (convert_encoding):
	  * gst/subparse/gstsubparse.h:
	  Add 'encoding' property (#341681).
	  * gst/subparse/samiparse.c: (characters_sami):
	  Output is pango markup, so we need to escape text
	  between tags (#342143).

2006-05-16 17:34:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: It's okay to have caps with channels=1 and a channel position different from GST_A...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_check_channel_positions):
	  It's okay to have caps with channels=1 and a channel position
	  different from GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
	  (deinterleavers might want to keep the position in the caps,
	  so that they can be re-interleaved again properly later).
	  Leave check for unexpected 2-channel layouts intact for now.

2006-05-16 16:28:10 +0000  Zaheer Abbas Merali <zaheerabbas@merali.org>

	  gst/tcp/gsttcp.c: Return GST_FLOW_UNEXPECTED when we have an eos on the socket so basesrc can do its job correctly.
	  Original commit message from CVS:
	  2006-05-16  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
	  * gst/tcp/gsttcp.c: (gst_tcp_socket_read):
	  Return GST_FLOW_UNEXPECTED when we have an eos on the socket so
	  basesrc can do its job correctly.

2006-05-16 15:52:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/: Refactor and improve caps probing code: probe signedness when we probe the supported formats/widths; set e...
	  Original commit message from CVS:
	  * ext/alsa/Makefile.am:
	  * ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
	  (gst_alsa_detect_formats), (get_channel_free_structure),
	  (caps_add_channel_configuration), (gst_alsa_detect_channels),
	  (gst_alsa_probe_supported_formats):
	  * ext/alsa/gstalsa.h:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
	  Refactor and improve caps probing code: probe signedness
	  when we probe the supported formats/widths; set endianness
	  to the one we actually probed for (ie. cpu endianness).
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps),
	  (gst_alsasrc_close):
	  * ext/alsa/gstalsasrc.h:
	  Implement caps probing for alsasrc.

2006-05-15 17:42:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Cleanups, add some G_LIKELY.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (gst_theora_dec_reset),
	  (theora_dec_src_query), (theora_dec_src_event),
	  (theora_dec_sink_event), (theora_handle_comment_packet),
	  (theora_handle_data_packet), (theora_dec_change_state):
	  Cleanups, add some G_LIKELY.
	  Use segment helpers instead of our own wrong code.
	  Clear queued buffers on seek and READY.
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
	  (vorbis_dec_convert), (vorbis_dec_src_query),
	  (vorbis_dec_src_event), (vorbis_dec_sink_event),
	  (vorbis_handle_comment_packet), (vorbis_dec_push),
	  (vorbis_handle_data_packet), (vorbis_dec_chain),
	  (vorbis_dec_change_state):
	  * ext/vorbis/vorbisdec.h:
	  Remove old useless packetno variable.
	  Do position query properly.
	  Add some G_LIKELY.
	  Do cleanup of queued buffers in new helper function
	  and use it.

2006-05-15 17:17:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsasink.c: Query supported sample rates. Fixes #341732.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
	  Query supported sample rates. Fixes #341732.

2006-05-15 17:01:02 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gstdecodebin.c: Make decodebin reusable when going from PAUSE_TO_READY and then back to PAUSED.
	  Original commit message from CVS:
	  2006-05-15  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gstdecodebin.c: (cleanup_decodebin),
	  (gst_decode_bin_change_state): Make decodebin reusable
	  when going from PAUSE_TO_READY and then back to PAUSED.
	  Fixes #331678.

2006-05-15 16:49:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Cleanups. Use refcounting and DEBUG_OBJECT.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_get_query_types),
	  (vorbis_dec_convert), (vorbis_dec_src_query),
	  (vorbis_dec_sink_query), (vorbis_dec_src_event),
	  (vorbis_dec_sink_event), (vorbis_handle_identification_packet),
	  (vorbis_dec_clean_queued), (vorbis_dec_push),
	  (vorbis_handle_data_packet), (vorbis_dec_change_state):
	  Cleanups. Use refcounting and DEBUG_OBJECT.
	  Reset segment on flush, use code methods instead of our
	  own wrong version.
	  Fix potential memleak.

2006-05-15 16:46:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsasink.*: Don't leak allocated snd_output_t structure if there's more than one alsasink instance at a t...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
	  (gst_alsasink_init):
	  * ext/alsa/gstalsasink.h:
	  Don't leak allocated snd_output_t structure if there's
	  more than one alsasink instance at a time (#341873).
	  Also fix GObject macros in header file.

2006-05-15 15:31:30 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Don't use libxml functions in the typefinding code.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect):
	  Don't use libxml functions in the typefinding code.

2006-05-15 15:01:08 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Fix seeking performance in the case where a non-header packet has a 0 granulepos (busted theor...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet):
	  Fix seeking performance in the case where a non-header
	  packet has a 0 granulepos (busted theora case).
	  Fixes #341719

2006-05-15 14:19:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Improve SAMI typefinding: handle case where there are whitespaces or newlines in front of...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c:
	  (gst_sub_parse_data_format_autodetect):
	  Improve SAMI typefinding: handle case where there are
	  whitespaces or newlines in front of the first <SAMI>
	  tag (#169936).

2006-05-15 12:18:13 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Build video4linux plugin even if there's no XVIDEO, just without implementing the GstXOverlay interface...
	  Original commit message from CVS:
	  * configure.ac:
	  Build video4linux plugin even if there's no XVIDEO, just
	  without implementing the GstXOverlay interface (#334002).

2006-05-15 10:17:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add tentative support for libvisual-0.4 (#336881).
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/libvisual/visual.c: (gst_visual_actor_plugin_is_gl),
	  (plugin_init):
	  Add tentative support for libvisual-0.4 (#336881).

2006-05-15 09:41:03 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/samiparse.c: Need to map "silver" colour explicitly (#169936).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha <ganadist at chollian net>
	  * gst/subparse/samiparse.c: (handle_start_font):
	  Need to map "silver" colour explicitly (#169936).

2006-05-15 09:14:35 +0000  Young-Ho Cha <ganadist@chollian.net>

	  gst/subparse/: Add support for SAMI subtitles (#169936).
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (parser_state_dispose), (gst_sub_parse_data_format_autodetect),
	  (gst_sub_parse_format_autodetect), (feed_textbuf),
	  (gst_subparse_type_find), (plugin_init):
	  * gst/subparse/gstsubparse.h:
	  * gst/subparse/samiparse.c:
	  * gst/subparse/samiparse.h:
	  Add support for SAMI subtitles (#169936).

2006-05-14 21:18:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* win32/common/config.h:
	  update config.h
	  Original commit message from CVS:
	  update config.h

2006-05-14 21:18:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/README:
	  fix mistakes in README
	  Original commit message from CVS:
	  fix mistakes in README

2006-05-14 18:15:17 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioconvert/gstchannelmix.c: Fix #341696: crash when mixing L+R+C to mono or stereo.
	  Original commit message from CVS:
	  * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
	  Fix #341696: crash when mixing L+R+C to mono or stereo.
	  * tests/check/Makefile.am:
	  * tests/check/elements/audioconvert.c: (set_channel_positions),
	  (get_float_mc_caps), (get_int_mc_caps), (GST_START_TEST),
	  (audioconvert_suite):
	  Add test for the above, including some generic framework bits for
	  testing multichannel things.

2006-05-14 16:05:47 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* configure.ac:
	  Back to CVS
	  Original commit message from CVS:
	  Back to CVS

=== release 0.10.7 ===

2006-05-14 16:00:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: releasing 0.10.7, "Leave the gun"
	  Original commit message from CVS:
	  2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
	  * configure.ac:
	  releasing 0.10.7, "Leave the gun"

2006-05-14 15:55:16 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* common:
	* 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-05-12 22:22:37 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Fix the build.
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
	  Fix the build.

2006-05-12 21:30:00 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Fix integer overflow problem with pixel-aspect-ratio calculations in videoscale and xvimagesink (#341542)
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/video/video.c: (gst_video_calculate_display_ratio):
	  * gst-libs/gst/video/video.h:
	  * gst/videoscale/Makefile.am:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
	  * tests/check/Makefile.am:
	  * tests/check/libs/video.c: (GST_START_TEST), (video_suite),
	  (main):
	  Fix integer overflow problem with pixel-aspect-ratio calculations
	  in videoscale and xvimagesink (#341542)

2006-05-12 16:56:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstid3tag.c: Map GST_IMAGE_TAG to and from ID2v2 APIC frames (#341557).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Map GST_IMAGE_TAG to and from ID2v2 APIC frames (#341557).

2006-05-12 10:39:08 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/MANIFEST: update win32 files listing
	  Original commit message from CVS:
	  * win32/MANIFEST:
	  update win32 files listing

2006-05-11 21:47:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  disable failing check on gentoo64
	  Original commit message from CVS:
	  disable failing check on gentoo64

2006-05-11 21:35:44 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  disable failing check on gentoo64
	  Original commit message from CVS:
	  disable failing check on gentoo64

2006-05-11 21:20:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  macros show the correct line
	  Original commit message from CVS:
	  macros show the correct line

2006-05-11 21:04:08 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  macros show the correct line
	  Original commit message from CVS:
	  macros show the correct line

2006-05-11 21:01:05 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/playback/gstplaybasebin.*: API: GstPlayBaseBin::stream-info-value-array property use a more bindings-friendly way...
	  Original commit message from CVS:
	  2006-05-11  Thomas Vander Stichele  <thomas at apestaart dot org>
	  patch by: Sjoerd Simons (sjoerd@luon.net)
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
	  (group_create), (group_destroy), (add_stream),
	  (gst_play_base_bin_get_property),
	  (gst_play_base_bin_get_streaminfo_value_array):
	  * gst/playback/gstplaybasebin.h:
	  API: GstPlayBaseBin::stream-info-value-array property
	  use a more bindings-friendly way of exposing streaminfo
	  using a GValueArray.  Tested in ipython.
	  Closes #341114

2006-05-11 19:44:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  fix some type warnings
	  Original commit message from CVS:
	  fix some type warnings

2006-05-11 19:38:22 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Also catch queue underruns but don't do anything yet.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (try_to_link_1), (queue_enlarge),
	  (queue_underrun_cb), (queue_filled_cb):
	  Also catch queue underruns but don't do anything yet.
	  Refactor and comment queue enlarging code a bit.
	  * gst/playback/gstplaybasebin.c: (queue_overrun),
	  (queue_threshold_reached), (queue_out_of_data),
	  (gen_preroll_element):
	  If a queue over/underruns check that we don't create nasty
	  deadlocks when the min-threshold is not reached but the
	  max-bytes is. In those cases disable max-bytes when we
	  know that the queue is fed timed data.
	  Add more comments.

2006-05-11 18:06:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Make playbin automatically plug an 'audioresample' element before the audio sink as well. ...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_audio_element):
	  Make playbin automatically plug an 'audioresample'
	  element before the audio sink as well. This solves
	  problems with sinks that only accept a very specific
	  sample rate, like esdsink (e.g. #340379).

2006-05-11 16:04:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Make http sources send special headers so that we receive icecast metadata if the http...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gen_source_element):
	  Make http sources send special headers so that we receive
	  icecast metadata if the http stream is an icecast stream
	  (otherwise the server will just ignore them). This also
	  means that from now on users will need the 'icydemux'
	  element from gst-plugins-good installed if they want to
	  listen to icecast radio streams. (#341432, #333657).

2006-05-11 12:34:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  more commenting
	  Original commit message from CVS:
	  more commenting

2006-05-11 11:40:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gstmultifdsink.c: remove stupid example from docs - it should come with a simple
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_remove_client_link),
	  (gst_multi_fd_sink_new_client), (gst_multi_fd_sink_stop):
	  remove stupid example from docs - it should come with a simple
	  C program instead.
	  Clean up/fix docs
	  * tests/check/elements/multifdsink.c: (wait_bytes_served),
	  (fail_if_can_read), (GST_START_TEST),
	  (gst_multifdsink_create_streamheader), (multifdsink_suite):
	  add a test for changing streamheader which exposes a bug in
	  multifdsink

2006-05-11 10:33:46 +0000  Michael Smith <msmith@xiph.org>

	  ext/gnomevfs/gstgnomevfssrc.*: Don't set icy-caps unless we have a sane interval value. Move interval to a local vari...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init),
	  (gst_gnome_vfs_src_received_headers_callback):
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  Don't set icy-caps unless we have a sane interval value. Move
	  interval to a local variable; we never use it outside this function.

2006-05-11 10:14:20 +0000  Wim Taymans <wim.taymans@gmail.com>

	  sys/: Register special buffer types along with the objects so that they are not registered at runtime from N differen...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
	  Register special buffer types along with the objects so
	  that they are not registered at runtime from N different
	  streaming threads since they are not threadsafe.

2006-05-10 18:31:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/multifdsink.c:
	  set caps and plug leaks
	  Original commit message from CVS:
	  set caps and plug leaks

2006-05-10 18:16:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/elements/multifdsink.c: add two more tests, one doing streamheader
	  Original commit message from CVS:
	  * tests/check/elements/multifdsink.c: (wait_bytes_served),
	  (GST_START_TEST), (fail_unless_read), (multifdsink_suite):
	  add two more tests, one doing streamheader

2006-05-10 16:34:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/tcp/gstmultifdsink.c: clean up the bufqueue when shutting down
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_stop):
	  clean up the bufqueue when shutting down
	  * tests/check/Makefile.am:
	  * tests/check/elements/multifdsink.c: (setup_multifdsink),
	  (cleanup_multifdsink), (GST_START_TEST), (multifdsink_suite),
	  (main):
	  add a test for the leak that was just fixed

2006-05-10 15:16:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  DEBUG_FUNCPTR'ing
	  Original commit message from CVS:
	  DEBUG_FUNCPTR'ing

2006-05-10 15:14:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	  whitespace fixes
	  Original commit message from CVS:
	  whitespace fixes

2006-05-10 11:54:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.*: Updated some docs. Added comments and FIXMEs all over the place.
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_setcaps),
	  (gst_adder_query_duration), (gst_adder_query), (forward_event),
	  (gst_adder_src_event), (gst_adder_sink_event),
	  (gst_adder_class_init), (gst_adder_finalize),
	  (gst_adder_request_new_pad), (gst_adder_collected):
	  * gst/adder/gstadder.h:
	  Updated some docs. Added comments and FIXMEs all over the place.
	  Improve debugging info.
	  Fix leak on finalize by not calling the parent.
	  Implement duration query.
	  Make event forwarding threadsafe.
	  Correctly send NEWSEGMENT at start and after flush.
	  Handle EOS correctly.
	  Post error when not negotiated.
	  * tests/check/elements/adder.c: (GST_START_TEST):
	  Added FIXME in the test.

2006-05-09 19:24:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Const-ify GEnumValue and GFlagsValue arrays. Use
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_valign_get_type),
	  (gst_text_overlay_halign_get_type),
	  (gst_text_overlay_wrap_mode_get_type):
	  * ext/theora/theoradec.c: (theora_handle_type_packet),
	  (theora_handle_data_packet):
	  * ext/theora/theoraenc.c: (gst_border_mode_get_type),
	  (theora_enc_sink_setcaps), (theora_enc_chain):
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_mode_get_type):
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audiostestsrc_wave_get_type):
	  * gst/playback/gststreaminfo.c: (gst_stream_type_get_type):
	  * gst/tcp/gstfdset.c: (gst_fdset_mode_get_type):
	  * gst/tcp/gstmultifdsink.c: (gst_recover_policy_get_type),
	  (gst_sync_method_get_type), (gst_unit_type_get_type),
	  (gst_client_status_get_type):
	  * gst/videoscale/gstvideoscale.c:
	  (gst_video_scale_method_get_type):
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_pattern_get_type):
	  * gst/videotestsrc/videotestsrc.c: (paint_setup_I420),
	  (paint_setup_YV12), (paint_setup_YUY2), (paint_setup_UYVY),
	  (paint_setup_YVYU), (paint_setup_IYU2), (paint_setup_Y41B),
	  (paint_setup_Y42B), (paint_setup_Y800), (paint_setup_YVU9),
	  (paint_setup_YUV9), (paint_setup_RGB888), (paint_setup_BGR888),
	  (paint_setup_RGB565), (paint_setup_xRGB1555):
	  Const-ify GEnumValue and GFlagsValue arrays. Use
	  GST_ROUND_UP_* macros instead of home-made ones.

2006-05-09 17:40:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Require core CVS for the new newsegment stuff.
	  Original commit message from CVS:
	  * configure.ac:
	  Require core CVS for the new newsegment stuff.

2006-05-09 17:30:48 +0000  Sjoerd Simons <sjoerd@luon.net>

	  gst/tcp/gstmultifdsink.c: Register nick for enum value (#341160).
	  Original commit message from CVS:
	  Patch by: Sjoerd Simons  <sjoerd at luon net>
	  * gst/tcp/gstmultifdsink.c: (gst_client_status_get_type):
	  Register nick for enum value (#341160).

2006-05-09 16:46:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/typefind/gsttypefindfunctions.c: backout typefind patch #340375
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (m4a_type_find),
	  (plugin_init):
	  backout typefind patch #340375
	  * tests/check/elements/adder.c: (message_received),
	  (GST_START_TEST), (adder_suite):
	  redo, signal-handling of test

2006-05-09 16:14:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/adder/gstadder.*: Remove bogus segment merging and forwarding, we don't care about timestamps anyway and we just ...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_request_new_pad),
	  (gst_adder_collected):
	  * gst/adder/gstadder.h:
	  Remove bogus segment merging and forwarding, we don't
	  care about timestamps anyway and we just produce a
	  continuous stream.
	  Also create a nice NEWSEGMENT event when we start.
	  Use _scale_int some more.

2006-05-09 11:59:13 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/icles/stress-xoverlay.c: Fix if core was built without parsing support.
	  Original commit message from CVS:
	  * tests/icles/stress-xoverlay.c:
	  Fix if core was built without parsing support.

2006-05-09 11:37:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Add SEDG (Samsung MPEG-4) fourcc.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Add SEDG (Samsung MPEG-4) fourcc.

2006-05-09 11:31:47 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/examples/volume/volume.c: Fox if core was built without parsing support.
	  Original commit message from CVS:
	  * tests/examples/volume/volume.c:
	  Fox if core was built without parsing support.
	  * tests/examples/seek/seek.c:
	  Disable the parse_launch example if core was built without parsing
	  support.

2006-05-09 11:21:24 +0000  Edward Hervey <bilboed@bilboed.com>

	  tests/examples/seek/seek.c: Disable the parse_launch example if core was built without parsing support.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c:
	  Disable the parse_launch example if core was built without parsing
	  support.

2006-05-08 15:51:15 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/libs/tmpl/gstcolorbalance.sgml:
	* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/videoscale/gstvideoscale.c:
	  doc reparagraphing and DEBUG_FUNCPTRing
	  Original commit message from CVS:
	  doc reparagraphing and DEBUG_FUNCPTRing

2006-05-08 11:51:43 +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-07 17:39:04 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/: Disable the adder test, until the build-slaves posses the kindness to either like it or to give valid r...
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/elements/adder.c: (event_loop), (GST_START_TEST):
	  Disable the adder test, until the build-slaves posses the kindness to
	  either like it or to give valid reason for not doing so

2006-05-07 17:25:56 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  tests/check/elements/adder.c: Shuffle NULL state change around and raise timeout more
	  Original commit message from CVS:
	  * tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
	  (adder_suite):
	  Shuffle NULL state change around and raise timeout more

2006-05-07 17:07:03 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/typefind/gsttypefindfunctions.c: Add typefind to distinguish between "audio/x-m4a" and new type "video/mp4". Fixe...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp4_find_box),
	  (mp4_type_find), (plugin_init):
	  Add typefind to distinguish between "audio/x-m4a" and new type
	  "video/mp4". Fixes #340375
	  * tests/check/elements/adder.c: (adder_suite):
	  Raise timeout to make buildbot happy

2006-05-07 16:39:36 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add sink-event handling to adder. It tries to merge incomming newsegment-events. Added test to check if segment_done ...
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_sink_event),
	  (gst_adder_request_new_pad), (gst_adder_change_state):
	  * gst/adder/gstadder.h:
	  * tests/check/Makefile.am:
	  * tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
	  (adder_suite), (main):
	  Add sink-event handling to adder. It tries to merge incomming
	  newsegment-events. Added test to check if segment_done is comming
	  through.

2006-05-05 16:34:15 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* ext/theora/theoraparse.c:
	* ext/vorbis/vorbisparse.c:
	  ext/theora/theoraparse.c (gst_theora_parse_init) ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
	  Original commit message from CVS:
	  2006-05-05  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/theoraparse.c (gst_theora_parse_init)
	  (theora_parse_src_convert, theora_parse_src_query):
	  * ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
	  (vorbis_parse_convert, vorbis_parse_src_query): Add convert and
	  query functions on the source pads of the theora and vorbis parse
	  elements. Fixes position querying when doing a remux.

2006-05-05 13:46:37 +0000  Michael Smith <msmith@xiph.org>

	  ext/theora/theoraparse.c: Fix flushing.
	  Original commit message from CVS:
	  * ext/theora/theoraparse.c: (parse_granulepos),
	  (theora_parse_drain_queue_prematurely),
	  (theora_parse_queue_buffer), (theora_parse_sink_event):
	  Fix flushing.
	  Fix invalid granulepos outputs when starting with a non-keyframe.

2006-05-05 12:37:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/typefind/gsttypefindfunctions.c: Rearrange MPEG system stream detection, fixing some memleaks in the process.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find),
	  (mpeg1_sys_type_find), (ogganx_type_find), (sw_data_destroy):
	  Rearrange MPEG system stream detection, fixing some memleaks in the
	  process.
	  Constify the data for STARTS_WITH and RIFF helper handlers. Make sure
	  they clean up their data correctly.
	  Remove unused ogganx caps and move the 'is_annodex' check to inside
	  the 'is_ogg' if statement.

2006-05-05 11:33:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstdecodebin.c: Properly remove ghostpads. Fixes #340392
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (cleanup_decodebin):
	  Properly remove ghostpads. Fixes #340392

2006-05-04 18:43:58 +0000  David Schleef <ds@schleef.org>

	  gst/typefind/gsttypefindfunctions.c:
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:

2006-05-03 16:32:19 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/typefind/gsttypefindfunctions.c: When typefinding an MP3 in push-based mode, don't penalise the probability down ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
	  (mpeg_ts_probe_headers), (mpeg_ts_type_find):
	  When typefinding an MP3 in push-based mode, don't penalise the
	  probability down to 74% when we found 5 valid frames just because we
	  can't peek the end of the file.
	  Make the probability for detecting MPEG Transport Streams based on the
	  number of sequential headers we successfully detected.

2006-05-03 15:52:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Still produce an error when we receive an empty packet.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
	  (vorbis_dec_push), (vorbis_dec_chain):
	  Still produce an error when we receive an empty packet.

2006-05-03 15:34:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Mark buffers with DISCONT after seek and after activating new chains.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
	  (gst_ogg_chain_mark_discont), (gst_ogg_chain_new_stream),
	  (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek):
	  Mark buffers with DISCONT after seek and after activating new
	  chains.
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_reset),
	  (theora_get_query_types), (theora_dec_sink_event),
	  (theora_dec_push), (theora_handle_data_packet), (theora_dec_chain),
	  (theora_dec_change_state):
	  Fix frame counter.
	  Detect and mark DISCONT buffers.
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
	  (vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain),
	  (vorbis_dec_change_state):
	  * ext/vorbis/vorbisdec.h:
	  Use GstSegment.
	  Detect and mark DISCONT buffers.
	  Don't crash on 0 sized buffers.

2006-05-03 08:58:13 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/volume/gstvolume.c: Increase "volume" property to 10.0. Fixes #340369.
	  Original commit message from CVS:
	  * gst/volume/gstvolume.c: (volume_funcfind), (volume_set_caps),
	  (volume_transform_ip):
	  Increase "volume" property to 10.0. Fixes #340369.
	  Set the process function to NULL when capsnego fails so that
	  we properly error out.

2006-05-02 18:15:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/playback/: free cpas using gst_caps_unref, don't leak caps-strings
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (add_sink):
	  * gst/playback/test.c: (main):
	  * gst/playback/test5.c: (dump_element_stats):
	  * gst/playback/test6.c: (main):
	  free cpas using gst_caps_unref, don't leak caps-strings

2006-05-02 06:33:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-libs/gst/rtp/gstbasertppayload.c:
	  some RTP debug
	  Original commit message from CVS:
	  some RTP debug

2006-05-01 19:08:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Refine musepack typefinding a bit. Return MAXIMUM probability when we detect str...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
	  (plugin_init):
	  Refine musepack typefinding a bit. Return MAXIMUM
	  probability when we detect stream version 7 to make
	  sure the mpeg audio typefinder doesn't trump us.

2006-04-29 16:25:58 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Protect against unexpected NULL strf_data buffer.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Protect against unexpected NULL strf_data buffer.

2006-04-29 13:09:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/elements/audioconvert.c: interpret the out[] buffer in the order the bytes are actually put in, which is ...
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (verify_convert),
	  (GST_START_TEST):
	  interpret the out[] buffer in the order the bytes are actually
	  put in, which is LITTLE_ENDIAN, not BYTE_ORDER.
	  Other tests should use BYTE_ORDER since the array is filled in
	  with actual values

2006-04-29 12:10:52 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/elements/audioconvert.c:
	  dump expected data when audioconvert test fails
	  Original commit message from CVS:
	  dump expected data when audioconvert test fails

2006-04-29 11:55:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/elements/audioconvert.c: when a test fails, give an indication of which it is
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (verify_convert),
	  (GST_START_TEST):
	  when a test fails, give an indication of which it is

2006-04-29 09:48:16 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	* ext/theora/theoraenc.c:
	  add another include
	  Original commit message from CVS:
	  add another include

2006-04-29 01:24:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/subparse/gstssaparse.c:
	  atoi() needs stdlib.h
	  Original commit message from CVS:
	  atoi() needs stdlib.h

2006-04-29 01:18:05 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/playback/test4.c:
	* gst/playback/test5.c:
	* gst/playback/test6.c:
	  exit needs stdlib.h
	  Original commit message from CVS:
	  exit needs stdlib.h

2006-04-29 01:10:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst-libs/gst/cdda/gstcddabasesrc.c: compile fix; strtol() needs <stdlib.h>
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  compile fix; strtol() needs <stdlib.h>

2006-04-29 01:04:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* common:
	* docs/Makefile.am:
	* docs/libs/Makefile.am:
	* docs/libs/tmpl/gstcolorbalance.sgml:
	* docs/plugins/Makefile.am:
	* docs/upload.mak:
	  use common upload.mak
	  Original commit message from CVS:
	  use common upload.mak

2006-04-28 19:46:37 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  make GstElementDetails const
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixerelement.c:
	  * ext/alsa/gstalsasrc.c:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggparse.c:
	  * ext/ogg/gstogmparse.c:
	  * ext/pango/gstclockoverlay.c:
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextrender.c:
	  * ext/pango/gsttimeoverlay.c:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/vorbis/vorbisdec.c:
	  * ext/vorbis/vorbisenc.c:
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/audiorate/gstaudiorate.c:
	  * gst/audioresample/gstaudioresample.c:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gststreamselector.c:
	  * gst/subparse/gstsubparse.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gsttcpclientsink.c:
	  * gst/tcp/gsttcpclientsrc.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/tcp/gsttcpserversrc.c:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  * gst/videorate/gstvideorate.c:
	  * gst/videoscale/gstvideoscale.c:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/volume/gstvolume.c:
	  * sys/v4l/gstv4ljpegsrc.c:
	  * sys/v4l/gstv4lmjpegsink.c:
	  * sys/v4l/gstv4lmjpegsrc.c:
	  * sys/v4l/gstv4lsrc.c:
	  * sys/ximage/ximagesink.c:
	  * sys/xvimage/xvimagesink.c:
	  * tests/check/libs/cddabasesrc.c:
	  make GstElementDetails const

2006-04-28 19:17:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/adder/gstadder.c: send events from src-pad to all sink-pads fixes #338657
	  Original commit message from CVS:
	  * gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
	  (gst_adder_init):
	  send events from src-pad to all sink-pads fixes #338657

2006-04-28 19:08:34 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/alsa/gstalsasink.c: query witdh capabilities from alsa, fixes #338919
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps),
	  (alsasink_parse_spec):
	  query witdh capabilities from alsa, fixes #338919

2006-04-28 15:31:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/tcp/gstmultifdsink.*: Fix race condition in multifdsink that can lead to spurious duplicate clients. this patch a...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
	  (gst_multi_fd_sink_remove_client_link):
	  * gst/tcp/gstmultifdsink.h:
	  Fix race condition in multifdsink that can lead to spurious
	  duplicate clients. this patch adds a new signal that is fired when
	  multifdsink has removed all references to the fd.
	  Fixes #339574.
	  Updated documentation.
	  API: client-fd-removed signal added

2006-04-28 15:24:00 +0000  Michael Smith <msmith@xiph.org>

	  gst/tcp/gstmultifdsink.c: When asking g_value_array_new to prealloc elements, we may as well ask for the right number...
	  Original commit message from CVS:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats):
	  When asking g_value_array_new to prealloc elements, we may as well
	  ask for the right number of elements.

2006-04-28 15:08:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: patch to make timestamp checking more tollerant to rounding errors given that ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain), (gst_base_audio_sink_event),
	  (gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
	  patch to make timestamp checking more tollerant to rounding
	  errors given that real discontinuities are to be marked on
	  buffers. Fixes some asf files and #338778.
	  Also avoid some crashers when we receive an event in the
	  NULL state.

2006-04-28 15:01:58 +0000  Michael Smith <msmith@xiph.org>

	  ext/gnomevfs/gstgnomevfssrc.*: Remove ICY handling (mostly) from gnomevfssrc, in favour of proper shared support with...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
	  (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize),
	  (gst_gnome_vfs_src_get_property),
	  (gst_gnome_vfs_src_send_additional_headers_callback),
	  (gst_gnome_vfs_src_received_headers_callback),
	  (gst_gnome_vfs_src_create), (gst_gnome_vfs_src_start),
	  (gst_gnome_vfs_src_stop):
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  Remove ICY handling (mostly) from gnomevfssrc, in favour of
	  proper shared support within icydemux.

2006-04-28 14:49:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/videorate/gstvideorate.c: fix up docs fix a leak when no caps negotiated fix counting of input frames
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_reset),
	  (gst_video_rate_swap_prev), (gst_video_rate_chain):
	  fix up docs
	  fix a leak when no caps negotiated
	  fix counting of input frames
	  * tests/check/elements/.cvsignore:
	  * tests/check/elements/videorate.c: (assert_videorate_stats),
	  (GST_START_TEST), (videorate_suite):
	  add tests for these

2006-04-28 14:48:11 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Check arguments passed to public functions instead of crashing.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_set_callback), (gst_ring_buffer_acquire),
	  (gst_ring_buffer_release), (gst_ring_buffer_is_acquired),
	  (gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
	  (gst_ring_buffer_pause), (gst_ring_buffer_stop),
	  (gst_ring_buffer_delay), (gst_ring_buffer_samples_done),
	  (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
	  (gst_ring_buffer_commit), (gst_ring_buffer_read),
	  (gst_ring_buffer_prepare_read), (gst_ring_buffer_advance),
	  (gst_ring_buffer_clear), (gst_ring_buffer_may_start):
	  Check arguments passed to public functions instead of
	  crashing.

2006-04-28 14:37:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: GstBaseAudioSrc must be live or it does not work.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
	  (gst_base_audio_src_get_time), (gst_base_audio_src_create):
	  GstBaseAudioSrc must be live or it does not work.
	  * gst-libs/gst/audio/gstaudiosrc.c: (gst_audio_src_init):
	  Don't set live to TRUE as this is the default in the parentclass.

2006-04-28 14:37:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* win32/common/config.h:
	  update config.h
	  Original commit message from CVS:
	  update config.h

2006-04-28 14:33:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videoscale/gstvideoscale.c: Videoscale doesn't pass on pixel-aspect ratio. Handle all fixation cases better. Fixe...
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps),
	  (gst_video_scale_fixate_caps), (gst_video_scale_src_event):
	  Videoscale doesn't pass on pixel-aspect ratio. Handle all
	  fixation cases better. Fixes #338991

2006-04-28 14:24:38 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videotestsrc/gstvideotestsrc.c: Handle 0/1 framerate correctly Fixes #331901.
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_create):
	  Handle 0/1 framerate correctly Fixes #331901.

2006-04-28 14:22:16 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/check/elements/audioconvert.c: Added check for correct clipping when doing float samples in audioconvert.
	  Original commit message from CVS:
	  * tests/check/elements/audioconvert.c: (get_float_caps),
	  (GST_START_TEST), (audioconvert_suite):
	  Added check for correct clipping when doing float samples
	  in audioconvert.

2006-04-28 14:19:49 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videorate/gstvideorate.c: Print more debugging info.
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_event),
	  (gst_video_rate_chain):
	  Print more debugging info.

2006-04-28 14:17:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audioresample/gstaudioresample.c: Add support for other formats audioresample can handle such as 32 bits in and f...
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
	  (resample_set_state_from_caps):
	  Add support for other formats audioresample can handle such as
	  32 bits in and float and 64 bits float. Fixes #301759

2006-04-28 14:12:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/audioconvert/audioconvert.c: correctly clip float samples > 1.0. Fixes #338718
	  Original commit message from CVS:
	  * gst/audioconvert/audioconvert.c: (float):
	  correctly clip float samples > 1.0. Fixes #338718

2006-04-28 13:35:34 +0000  Young-Ho Cha <ganadist@chollian.net>

	  ext/pango/gsttextoverlay.c: Don't strip newlines from the text. Also, center lines within multi-line paragraphs (#339...
	  Original commit message from CVS:
	  Patch by: Young-Ho Cha  <ganadist at chollian net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
	  (gst_text_overlay_render_text):
	  Don't strip newlines from the text. Also, center lines
	  within multi-line paragraphs (#339405).

2006-04-28 12:15:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Fix wavpack typefinding to work in more cases (don't peek for chunks of multiple...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (wavpack_type_find):
	  Fix wavpack typefinding to work in more cases (don't peek
	  for chunks of multiple hundred kBs at once, but process
	  things step-by-step in smaller units). Fixes #339786.

2006-04-28 10:58:41 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.6 ===

2006-04-28 10:53:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* docs/upload.mak:
	  releasing 0.10.6
	  Original commit message from CVS:
	  releasing 0.10.6

2006-04-28 10:42:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* win32/MANIFEST:
	* win32/common/config.h:
	  dist more win32 files
	  Original commit message from CVS:
	  dist more win32 files

2006-04-28 10:41:57 +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-04-27 00:19:29 +0000  David Schleef <ds@schleef.org>

	  gst/videoscale/gstvideoscale.c: Add call to oil_init().
	  Original commit message from CVS:
	  * gst/videoscale/gstvideoscale.c: Add call to oil_init().
	  Fixes #338897.

2006-04-26 17:20:31 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	* win32/common/config.h:
	  new prerelease
	  Original commit message from CVS:
	  new prerelease

2006-04-26 17:17:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: make sure correct newsegments are sent, so that the decoder and the demuxer agree on timestamp...
	  Original commit message from CVS:
	  2006-04-26  Thomas Vander Stichele  <thomas at apestaart dot org>
	  patch by: Wim Taymans
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_perform_seek):
	  make sure correct newsegments are sent, so that the decoder
	  and the demuxer agree on timestamps.  Fixes playback of a lot
	  of Ogg files that do not start from 0.  Fixes #339833.

2006-04-26 16:44:20 +0000  Edward Hervey <edward@fluendo.com>

	  Fix an infinite loop if frames are passed in with wrongly ordered timestamps.  Fixes #339013.
	  Original commit message from CVS:
	  Patch by: Edward Hervey  <edward@fluendo.com>
	  * gst/videorate/gstvideorate.c: (gst_video_rate_chain):
	  * tests/check/Makefile.am:
	  * tests/check/elements/videorate.c: (assert_videorate_stats),
	  (setup_videorate), (cleanup_videorate), (GST_START_TEST),
	  (videorate_suite), (main):
	  Fix an infinite loop if frames are passed in with wrongly ordered
	  timestamps.  Fixes #339013.

2006-04-26 13:55:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* win32/common/config.h:
	  prerelease
	  Original commit message from CVS:
	  prerelease

2006-04-22 21:25:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: fix typefinding on some ISO files.  Fixes #339212.
	  Original commit message from CVS:
	  Patch by: Tim-Philipp Müller  <tim at centricular dot net>
	  * gst/typefind/gsttypefindfunctions.c: (qt_type_find):
	  fix typefinding on some ISO files.  Fixes #339212.

2006-04-22 21:19:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: add another H264 fourcc.  Fixes #339047.
	  Original commit message from CVS:
	  Patch by: Tim-Philipp Müller  <tim at centricular dot net>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  add another H264 fourcc.  Fixes #339047.

2006-04-22 21:12:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gststreamselector.c: Restore old StreamSelector behaviour.
	  Original commit message from CVS:
	  Patch by: Jan Schmidt
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_bufferalloc):
	  Restore old StreamSelector behaviour.
	  Fixes #338419.

2006-04-13 09:26:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  reverting rtp patches to fix freeze break on -base as explained on the list
	  Original commit message from CVS:
	  reverting rtp patches to fix freeze break on -base as explained on the list

2006-04-13 03:55:12 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstrtpbuffer.h: Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
	  Original commit message from CVS:
	  2006-04-12 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
	  * gst-libs/gst/rtp/gstrtpbuffer.h:
	  Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.c:
	  * gst-libs/gst/rtp/gstbasertpaudiopayload.h:
	  New RTP audio base payloader class. Supports frame or sample based codecs

2006-04-12 11:04:53 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	* 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 libtool versioning
	  Original commit message from CVS:
	  update libtool versioning

2006-04-12 10:58:00 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	* win32/common/config.h:
	  prerelease
	  Original commit message from CVS:
	  prerelease

2006-04-11 17:31:29 +0000  Antoine Tremblay <hexa00@gmail.com>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Fix some memory leaks: on finalize, free buffers left in the queue before des...
	  Original commit message from CVS:
	  Patch by: Antoine Tremblay  <hexa00 at gmail dot com>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_push):
	  Fix some memory leaks: on finalize, free buffers left in the queue
	  before destroying the queue; in _push(), unref rtp_buf even if
	  the process vfunc returned a NULL buffer as output buffer (#337548);
	  demote some recuring debug messages to LOG level.

2006-04-11 15:01:51 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  fix version number macro
	  Original commit message from CVS:
	  fix version number macro

2006-04-11 14:42:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: More cleanups.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
	  (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
	  (gst_ogg_chain_free), (gst_ogg_demux_sink_event),
	  (gst_ogg_demux_loop):
	  More cleanups.
	  Respect segment stop when emiting EOS or SEGMENT_DONE.
	  Fixes (#337945).

2006-04-11 10:45:32 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gststreamselector.c: Don't leak pad name.
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_get_property):
	  Don't leak pad name.

2006-04-11 09:42:52 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	  Mention bug #336617 closed by recent commit
	  Original commit message from CVS:
	  Mention bug #336617 closed by recent commit

2006-04-10 20:32:46 +0000  Michael Smith <msmith@xiph.org>

	  tests/check/: so that FC4 buildslaves can pass.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  * tests/check/gst-plugins-base.supp:
	  Suppress an old libtheora bug (fixed in more recent versions), so
	  that FC4 buildslaves can pass.

2006-04-10 19:13:30 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Don't leak events.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
	  (gst_ogg_demux_receive_event), (gst_ogg_pad_event),
	  (gst_ogg_demux_init), (gst_ogg_demux_finalize),
	  (gst_ogg_demux_sink_event), (gst_ogg_demux_get_data),
	  (gst_ogg_demux_loop):
	  Don't leak events.
	  Remember what error we got when finding chains, if we
	  were shutdown, that would not be an error.

2006-04-10 17:05:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Starting the ringbuffer when we did not acquire it can cause a deadlock, is po...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_event):
	  Starting the ringbuffer when we did not acquire it can cause
	  a deadlock, is pointless and causes nasty things for
	  subclasses.
	  Fixes gst-launch audiotestsrc num-buffers=0 ! alsasink.

2006-04-10 15:17:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Add some more debugging.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
	  (gst_ogg_demux_receive_event), (gst_ogg_pad_event),
	  (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_submit_buffer), (gst_ogg_demux_get_data),
	  (gst_ogg_demux_deactivate_current_chain),
	  (gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek),
	  (gst_ogg_demux_bisect_forward_serialno),
	  (gst_ogg_demux_find_chains), (gst_ogg_demux_chain):
	  Add some more debugging.

2006-04-10 14:52:10 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* ext/theora/theoraenc.c:
	  fix width of docs
	  Original commit message from CVS:
	  fix width of docs

2006-04-10 10:29:21 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Some more debug info.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_src_event),
	  (theora_handle_data_packet):
	  Some more debug info.
	  * tests/examples/seek/seek.c: (start_seek), (main):
	  Print element messages too.

2006-04-09 17:14:22 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/audioresample/debug.h: replace debug macros with variable number of parameters by a simple alias to gstreamer sta...
	  Original commit message from CVS:
	  * gst/audioresample/debug.h:
	  replace debug macros with variable number of parameters
	  by a simple alias to gstreamer standard debug macros
	  (#define RESAMPLE_ERROR GST_ERROR, __VA_ARGS__ is not
	  supported by MSVC 6.0 and 7.1)
	  * gst/audioresample/resample.h:
	  define M_PI and rint for WIN32
	  * win32/common/libgstaudio.def:
	  * win32/common/libgstriff.def:
	  * win32/common/libgsttag.def:
	  * win32/common/libgstvideo.def:
	  add new exported functions
	  * win32/vs6:
	  update project files

2006-04-08 21:02:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixeroptions.c:
	  (gst_alsa_mixer_options_class_init):
	  * ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_class_init):
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init):
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init):
	  * ext/ogg/gstoggparse.c: (gst_ogg_parse_class_init):
	  * gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_class_init):
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  (gst_audio_filter_class_init):
	  * gst-libs/gst/audio/gstaudiosink.c:
	  (gst_audioringbuffer_class_init):
	  * gst-libs/gst/audio/gstaudiosrc.c:
	  (gst_audioringbuffer_class_init):
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_class_init):
	  * gst-libs/gst/interfaces/colorbalancechannel.c:
	  (gst_color_balance_channel_class_init):
	  * gst-libs/gst/interfaces/mixeroptions.c:
	  (gst_mixer_options_class_init):
	  * gst-libs/gst/interfaces/mixertrack.c:
	  (gst_mixer_track_class_init):
	  * gst-libs/gst/interfaces/tunerchannel.c:
	  (gst_tuner_channel_class_init):
	  * gst-libs/gst/interfaces/tunernorm.c: (gst_tuner_norm_class_init):
	  * gst-libs/gst/netbuffer/gstnetbuffer.c:
	  (gst_netbuffer_class_init):
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_class_init):
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_class_init):
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init):
	  * gst/playback/gstplaybin.c: (gst_play_bin_class_init):
	  * gst/playback/gststreaminfo.c: (gst_stream_info_class_init):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_class_init):
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_class_init):
	  * gst/tcp/gsttcpclientsink.c: (gst_tcp_client_sink_class_init):
	  * sys/v4l/gstv4lcolorbalance.c:
	  (gst_v4l_color_balance_channel_class_init):
	  * sys/v4l/gstv4ljpegsrc.c: (gst_v4ljpegsrc_class_init):
	  * sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_class_init):
	  * sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_class_init):
	  * sys/v4l/gstv4ltuner.c: (gst_v4l_tuner_channel_class_init),
	  (gst_v4l_tuner_norm_class_init):
	  * sys/ximage/ximagesink.c: (gst_ximagesink_class_init):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_class_init):
	  * tests/old/testsuite/alsa/sinesrc.c: (sinesrc_class_init):
	  Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)

2006-04-08 18:09:17 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Fix broken GObject macros
	  Original commit message from CVS:
	  * ext/pango/gsttextrender.h:
	  * gst-libs/gst/audio/gstaudiosink.h:
	  * gst-libs/gst/audio/gstaudiosrc.h:
	  * gst-libs/gst/audio/gstbaseaudiosink.h:
	  * gst-libs/gst/audio/gstbaseaudiosrc.h:
	  * gst-libs/gst/audio/gstringbuffer.h:
	  * gst-libs/gst/rtp/gstbasertpdepayload.h:
	  * gst-libs/gst/rtp/gstbasertppayload.h:
	  * gst-libs/gst/video/gstvideofilter.h:
	  * gst-libs/gst/video/gstvideosink.h:
	  * gst/playback/gstplaybasebin.h:
	  * gst/tcp/gstmultifdsink.h:
	  * sys/v4l/gstv4lelement.h:
	  Fix broken GObject macros

2006-04-08 16:21:15 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/alsa/gstalsasink.c: More debug to trace why my USB headset is not working with gst
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec):
	  More debug to trace why my USB headset is not working with gst

2006-04-07 17:18:11 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybasebin.c: Clean up our group elements properly in the case where it never got committed - it sti...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (group_destroy):
	  Clean up our group elements properly in the case where it never
	  got committed - it still got added unconditionally to the bin.

2006-04-07 15:14:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Unref unhandled events.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_dec_sink_event),
	  (theora_handle_data_packet), (theora_dec_chain):
	  Unref unhandled events.
	  Protect against empty buffers.
	  Perform QoS on running time.

2006-04-07 13:24:54 +0000  Michael Smith <msmith@xiph.org>

	  ext/vorbis/vorbisenc.c: Remove leaks from vorbisenc.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_set_header_on_caps),
	  (gst_vorbis_enc_chain):
	  Remove leaks from vorbisenc.
	  Mostly minor changes, the only significant one is that now the
	  buffers we set as 'streamheader' on the caps are copies of the
	  original buffers, to avoid circular refcounting problems.

2006-04-07 09:51:35 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybasebin.c: Don't remove our mute-probe if someone else already did so.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (mute_stream), (setup_substreams):
	  Don't remove our mute-probe if someone else already did so.
	  Don't set a 2nd one if there is already one pending on the pad.
	  * gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink),
	  (do_playbin_seek):
	  When a seek fails, ensure that playbin is still set back to playing.
	  * gst/typefind/gsttypefindfunctions.c: (mpeg_ts_probe_headers),
	  (mpeg_ts_type_find), (plugin_init):
	  Add a typefind function for mpeg-ts streams.

2006-04-06 11:40:45 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/videorate/gstvideorate.c:
	  gst/videorate/gstvideorate.c (gst_video_rate_reset)
	  Original commit message from CVS:
	  2006-04-06  Andy Wingo  <wingo@pobox.com>
	  * gst/videorate/gstvideorate.c (gst_video_rate_reset)
	  (gst_video_rate_init): Caps-related parameters should not be reset
	  by a flush -- move their inits to the instance init function.
	  (gst_video_rate_flush_prev): Don't complain if gst_pad_push
	  is not OK, just return the result.
	  * gst/audiotestsrc/gstaudiotestsrc.c
	  (gst_audio_test_src_class_init)
	  (gst_audio_test_src_get_times): Re-enable is-live=true, as was
	  broken by Stefan's commit on 24 March.

2006-04-06 10:50:14 +0000  Andy Wingo <wingo@pobox.com>

	  ext/ogg/gstoggmux.c (gst_ogg_mux_push_buffer): Set caps on buffers being pushed out. Fixes oggmux ! multifdsink.
	  Original commit message from CVS:
	  2006-04-06  Andy Wingo  <wingo@pobox.com>
	  * ext/ogg/gstoggmux.c (gst_ogg_mux_push_buffer): Set caps on
	  buffers being pushed out. Fixes oggmux ! multifdsink.

2006-04-05 13:05:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/vorbis/: Remove left-over 0.8 cruft; use GST_DEBUG_FUNCPTR; make vorbisenc adhere to the official nomenclature; u...
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (gst_vorbis_dec_class_init),
	  (gst_vorbis_dec_init), (vorbis_dec_finalize):
	  * ext/vorbis/vorbisdec.h:
	  * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_add_interfaces),
	  (gst_vorbis_enc_base_init), (gst_vorbis_enc_class_init),
	  (gst_vorbis_enc_sink_setcaps), (gst_vorbis_enc_convert_src),
	  (gst_vorbis_enc_convert_sink), (gst_vorbis_enc_get_query_types),
	  (gst_vorbis_enc_src_query), (gst_vorbis_enc_sink_query),
	  (gst_vorbis_enc_init), (gst_vorbis_enc_get_tag_value),
	  (gst_vorbis_enc_metadata_set1), (gst_vorbis_enc_set_metadata),
	  (gst_vorbis_enc_setup), (gst_vorbis_enc_clear),
	  (gst_vorbis_enc_buffer_from_packet),
	  (gst_vorbis_enc_buffer_from_header_packet),
	  (gst_vorbis_enc_push_buffer), (gst_vorbis_enc_push_packet),
	  (gst_vorbis_enc_set_header_on_caps), (gst_vorbis_enc_sink_event),
	  (gst_vorbis_enc_chain), (gst_vorbis_enc_output_buffers),
	  (gst_vorbis_enc_get_property), (gst_vorbis_enc_set_property),
	  (gst_vorbis_enc_change_state):
	  * ext/vorbis/vorbisenc.h:
	  Remove left-over 0.8 cruft; use GST_DEBUG_FUNCPTR; make
	  vorbisenc adhere to the official nomenclature; use boilerplate
	  macro.

2006-04-04 11:20:24 +0000  Andy Wingo <wingo@pobox.com>

	  gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Whoops, fix bug introduced. Bad hacker!
	  Original commit message from CVS:
	  2006-04-04  Andy Wingo  <wingo@pobox.com>
	  * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
	  Whoops, fix bug introduced. Bad hacker!

2006-04-04 11:15:00 +0000  Andy Wingo <wingo@pobox.com>

	  gst/videorate/gstvideorate.c (gst_video_rate_flush_prev): Properly handle the case where you get EOS before any buffe...
	  Original commit message from CVS:
	  2006-04-04  Andy Wingo  <wingo@pobox.com>
	  * gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
	  Properly handle the case where you get EOS before any buffers are
	  received. Use gst_buffer_make_metadata_writable where appropriate.

2006-04-04 10:16:46 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/theoradec.c (theora_handle_data_packet): This value is often negative -- make it signed so as not to wrap ...
	  Original commit message from CVS:
	  2006-04-04  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/theoradec.c (theora_handle_data_packet): This value
	  is often negative -- make it signed so as not to wrap around.
	  Fixes segfaults introduced on 9 March.

2006-04-03 16:43:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/: Don't try to store a gdouble in a gboolean.
	  Original commit message from CVS:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (theora_dec_src_event):
	  Don't try to store a gdouble in a gboolean.
	  Small cleanups.

2006-04-03 12:55:18 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggmux.c: Oggmux sucks.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
	  Oggmux sucks.
	  Make it suck slightly less by writing out the final page.
	  Still can't encode a vorbis-in-ogg file correctly, though.

2006-04-03 08:49:06 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/theoraparse.c (theora_parse_drain_queue): Um, remove a g_print.
	  Original commit message from CVS:
	  2006-04-03  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/theoraparse.c (theora_parse_drain_queue): Um, remove
	  a g_print.

2006-04-03 08:32:21 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/theora.c (plugin_init): Register theoraparse.
	  Original commit message from CVS:
	  2006-04-03  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/theora.c (plugin_init): Register theoraparse.
	  * ext/theora/gsttheoraparse.h:
	  * ext/theora/theoraparse.c: New files implementing a theora
	  parser. Now we can properly remux ogg/theora+vorbis, yay.

2006-04-03 08:28:58 +0000  Andy Wingo <wingo@pobox.com>

	  ext/vorbis/vorbisparse.c: Add some docs and a copyright.
	  Original commit message from CVS:
	  2006-04-03  Andy Wingo  <wingo@pobox.com>
	  * ext/vorbis/vorbisparse.c: Add some docs and a copyright.

2006-04-01 15:34:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* configure.ac:
	  don't use AS_LIBTOOL_TAGS, it doesn't work
	  Original commit message from CVS:
	  don't use AS_LIBTOOL_TAGS, it doesn't work

2006-04-01 11:41:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* ext/pango/gsttextoverlay.c:
	* sys/v4l/gstv4lsrc.c:
	  remove BT8x8 from description, works for more devices
	  Original commit message from CVS:
	  remove BT8x8 from description, works for more devices

2006-04-01 11:21:30 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/audiotestsrc/gstaudiotestsrc.c: Fixed the sample pipeline (see #323798)
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  Fixed the sample pipeline (see #323798)

2006-04-01 09:50:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  use AS_VERSION and AS_NANO more cleanups
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/common/config.h:
	  * win32/common/config.h.in:
	  use AS_VERSION and AS_NANO
	  more cleanups

2006-03-31 17:08:41 +0000  Andy Wingo <wingo@pobox.com>

	  ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix uninitialized variable return that would happen.
	  Original commit message from CVS:
	  2006-03-31  Andy Wingo  <wingo@pobox.com>
	  * ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix
	  uninitialized variable return that would happen.

2006-03-31 16:57:47 +0000  Andy Wingo <wingo@pobox.com>

	  ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix uninitialized variable return that would never happen.
	  Original commit message from CVS:
	  2006-03-31  Andy Wingo  <wingo@pobox.com>
	  * ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix
	  uninitialized variable return that would never happen.

2006-03-31 16:43:43 +0000  Andy Wingo <wingo@pobox.com>

	  ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
	  Original commit message from CVS:
	  2006-03-31  Andy Wingo  <wingo@pobox.com>
	  * ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
	  (vorbis_parse_sink_event): Add an event function to flush our
	  state on a seek, and to drain buffers on a premature EOS.
	  (vorbis_parse_push_headers, vorbis_parse_clear_queue)
	  (vorbis_parse_push_buffer, vorbis_parse_drain_queue_prematurely)
	  (vorbis_parse_chain, vorbis_parse_queue_buffer)
	  (vorbis_parse_drain_queue): Queue up buffers until we can set
	  their timestamps and granulepos values.
	  * ext/vorbis/vorbisparse.h: Include the vorbis decoder headers,
	  and keep track of data needed for deriving granulepos and
	  timestamps for buffers.

2006-03-30 11:05:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	  expose pluginsdir so gonlin can use it for tests
	  Original commit message from CVS:
	  expose pluginsdir so gonlin can use it for tests

2006-03-30 10:03:56 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	  add ccda to libraries
	  Original commit message from CVS:
	  add ccda to libraries

2006-03-29 14:00:08 +0000  j^ <j@bootlab.org>

	  better/unified long descriptions
	  Original commit message from CVS:
	  Patch by: j^ <j at bootlab dot org>
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_class_init):
	  * ext/alsa/gstalsasink.c:
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init):
	  * ext/ogg/gstoggdemux.c:
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggparse.c:
	  * ext/pango/gstclockoverlay.c:
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextrender.c:
	  * ext/pango/gsttimeoverlay.c:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/vorbis/vorbisdec.c:
	  * ext/vorbis/vorbisenc.c:
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/subparse/gstsubparse.c:
	  * gst/tcp/gstmultifdsink.c:
	  * gst/tcp/gsttcpclientsink.c:
	  * gst/tcp/gsttcpclientsrc.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/tcp/gsttcpserversrc.c:
	  better/unified long descriptions
	  Fixes #336477

2006-03-29 13:54:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Don't let double and tripple clicks mess up our state.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (end_scrub), (seek_cb), (start_seek),
	  (stop_seek):
	  Don't let double and tripple clicks mess up our state.

2006-03-28 13:13:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybin.c: Error out gracefully when we can't create any of the usual conversion elements for some re...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_video_element),
	  (gen_text_element), (gen_audio_element), (gen_vis_element):
	  Error out gracefully when we can't create any of the usual
	  conversion elements for some reason. Also, don't try to
	  create an audioscale (sic) element that's not used anyway.

2006-03-28 10:21:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Don't post RESOURCE_NOT_FOUND error when we can't find a source element for a particul...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source):
	  Don't post RESOURCE_NOT_FOUND error when we can't find a source
	  element for a particular protocol, that's confusing for users.
	  Instead, post a RESOURCE_FAILED error, so that our own error
	  message is actually shown in totem etc. (#336303).

2006-03-27 16:36:46 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  ext/gnomevfs/gstgnomevfssrc.c: Fix some minor memory leaks (#336194).
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen  <ext-tommi dot myohanen at nokia dot com>
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_finalize),
	  (gst_gnome_vfs_src_get_icy_metadata):
	  Fix some minor memory leaks (#336194).

2006-03-27 16:15:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/: Make gnomevfssink accept filenames as well as URIs for the "location" property, just like gnomevfssrc ...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfs.c:
	  (gst_gnome_vfs_location_to_uri_string):
	  * ext/gnomevfs/gstgnomevfs.h:
	  * ext/gnomevfs/gstgnomevfssink.c:
	  (gst_gnome_vfs_sink_set_property):
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_set_property):
	  Make gnomevfssink accept filenames as well as URIs for the
	  "location" property, just like gnomevfssrc does (and
	  filesrc/filesink do) (#336190).

2006-03-24 20:35:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/check/generic/clock-selection.c: set to NULL before unreffing, fixes a valgrind leak.
	  Original commit message from CVS:
	  * tests/check/generic/clock-selection.c: (GST_START_TEST):
	  set to NULL before unreffing, fixes a valgrind leak.
	  Why was this not triggering the error that an object needs to
	  be NULL before unreffing ?
	  * win32/common/config.h:
	  update

2006-03-24 17:57:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.*: Text subtitle files may or may not be UTF-8. If it's not, we don't really want to see '?'...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (convert_encoding),
	  (gst_sub_parse_change_state):
	  * gst/subparse/gstsubparse.h:
	  Text subtitle files may or may not be UTF-8. If it's not, we
	  don't really want to see '?' characters in place of non-ASCII
	  characters like accented characters. So let's assume the input
	  is UTF-8 until we come across text that is clearly not. If it's
	  not UTF-8, we don't really know what it is, so try the following:
	  (a) see whether the GST_SUBTITLE_ENCODING environment variable
	  is set; if not, check (b) if the current locale encoding is
	  non-UTF-8 and use that if it is, or (c) assume ISO-8859-15 if
	  the current locale encoding is UTF-8 and the environment variable
	  was not set to any particular encoding. Not perfect, but better
	  than nothing (and better than before, I think) (fixes #172848).

2006-03-24 17:39:45 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/plugins/tmpl/.gitignore:
	* tests/check/libs/.gitignore:
	* tests/check/pipelines/.gitignore:
	* tests/examples/volume/.gitignore:
	  ignore more
	  Original commit message from CVS:
	  ignore more

2006-03-24 17:26:54 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: update core requirement to 0.10.4.1 because of async_playback vmethod on GstBaseSink
	  Original commit message from CVS:
	  2006-03-24  Thomas Vander Stichele <thomas at apestaart dot org>
	  * configure.ac:
	  update core requirement to 0.10.4.1 because of async_playback
	  vmethod on GstBaseSink

2006-03-24 17:11:53 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  use DEBUG_FUNCPTR for collectpads
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
	  * gst/adder/gstadder.c: (gst_adder_init):
	  use DEBUG_FUNCPTR for collectpads

2006-03-24 14:11:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* Makefile.am:
	  don't go through check-torture if no check installed
	  Original commit message from CVS:
	  don't go through check-torture if no check installed

2006-03-24 10:42:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  Add docs for adder, use GST_ELEMENT_DETAILS macro, define GstElementDetails at the top
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_base_init),
	  (gst_gnome_vfs_sink_class_init):
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_base_init):
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_base_init):
	  * ext/ogg/gstoggmux.c:
	  * ext/ogg/gstoggparse.c: (gst_ogg_parse_base_init):
	  * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
	  (gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init):
	  * ext/pango/gsttextoverlay.c:
	  * ext/pango/gsttextrender.c:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * ext/vorbis/vorbisdec.c:
	  * ext/vorbis/vorbisenc.c:
	  * gst-libs/gst/audio/gstaudiofilter.c:
	  (gst_audio_filter_base_init):
	  * gst-libs/gst/audio/gstaudiofiltertemplate.c:
	  (gst_audio_filter_template_base_init):
	  * gst/adder/gstadder.c: (gst_adder_get_type):
	  * gst/adder/gstadder.h:
	  * gst/audioconvert/gstaudioconvert.c:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init),
	  (gst_audio_test_src_create):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  * gst/playback/gstdecodebin.c:
	  * gst/playback/gstplaybin.c:
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_base_init):
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_base_init):
	  * gst/volume/gstvolume.c:
	  * sys/v4l/gstv4lmjpegsink.c:
	  * sys/v4l/gstv4lmjpegsrc.c:
	  * tests/check/libs/cddabasesrc.c:
	  * tests/old/examples/gob/gst-identity2.gob:
	  Add docs for adder, use GST_ELEMENT_DETAILS macro,
	  define GstElementDetails at the top

2006-03-23 21:48:18 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/common/libgstinterfaces.def: Add a lot of export functions for gst-python
	  Original commit message from CVS:
	  * win32/common/libgstinterfaces.def:
	  Add a lot of export functions for gst-python
	  * win32/common/libgstinterfaces.dsp:
	  Add a missing include folder in the project configuration

2006-03-23 16:58:03 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: Fix audio sources, forgot to make the ringbuffer startable...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_get_time), (gst_base_audio_src_create),
	  (gst_base_audio_src_change_state):
	  Fix audio sources, forgot to make the ringbuffer
	  startable...

2006-03-23 16:29:58 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosrc.c: unparent instead of unref the ringbuffer.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_get_time), (gst_base_audio_src_create),
	  (gst_base_audio_src_change_state):
	  unparent instead of unref the ringbuffer.

2006-03-23 16:24:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Implement new async_play vmethod to start slaving and allow playback start in ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init), (gst_base_audio_sink_async_play),
	  (gst_base_audio_sink_do_play), (gst_base_audio_sink_change_state):
	  Implement new async_play vmethod to start slaving and allow
	  playback start in case of async PLAY state changes.
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
	  Enable QoS with new method in base class.

2006-03-23 11:18:19 +0000  Julien MOUTTE <julien@moutte.net>

	  gst/videotestsrc/gstvideotestsrc.c: Partially handle 0 framerate, only EOS after the first frame is missing.
	  Original commit message from CVS:
	  Patch by: Julien MOUTTE <julien at moutte dot net>
	  * gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_query),
	  (gst_video_test_src_do_seek), (gst_video_test_src_create):
	  Partially handle 0 framerate, only EOS after the first frame
	  is missing.

2006-03-23 09:38:59 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>

	  gst/: Patch for support of YVU9 AVI files (#334822)
	  Original commit message from CVS:
	  Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  * gst/ffmpegcolorspace/avcodec.h:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
	  (gst_ffmpegcsp_avpicture_fill):
	  * gst/ffmpegcolorspace/imgconvert.c:
	  Patch for support of YVU9 AVI files (#334822)

2006-03-22 15:29:25 +0000  Edward Hervey <bilboed@bilboed.com>

	  docs/design/design-decodebin.txt: Added design document for new decodebin text/x-pango-markup is also a default targe...
	  Original commit message from CVS:
	  * docs/design/design-decodebin.txt:
	  Added design document for new decodebin
	  (Target Caps): text/x-pango-markup is also a default target caps.

2006-03-22 15:11:47 +0000  Edward Hervey <bilboed@bilboed.com>

	  docs/design/design-decodebin.txt: Added design document for new decodebin
	  Original commit message from CVS:
	  * docs/design/design-decodebin.txt:
	  Added design document for new decodebin

2006-03-22 12:33:09 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Since we _parent the ringbuffer, we also need to _unparent instead of a plain ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_dispose):
	  Since we _parent the ringbuffer, we also need to
	  _unparent instead of a plain _unref.

2006-03-22 12:28:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/seek.c: Add scrub checkbox.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (end_scrub), (do_seek), (seek_cb),
	  (stop_seek), (scrub_toggle_cb), (main):
	  Add scrub checkbox.

2006-03-21 17:47:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstoggparse.c: Fix very inefficient usage of linked lists (#335365).
	  Original commit message from CVS:
	  * ext/ogg/gstoggparse.c: (gst_ogg_parse_find_stream),
	  (gst_ogg_parse_chain):
	  Fix very inefficient usage of linked lists (#335365).

2006-03-21 14:26:01 +0000  Edward Hervey <bilboed@bilboed.com>

	  gcc 4.1 unreferenced pointer fixes.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):
	  * gst/playback/gstplaybin.c: (handoff):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_set_property):
	  gcc 4.1 unreferenced pointer fixes.
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put):
	  gst_buffer_ref() now takes a GstBuffer*.

2006-03-20 18:09:41 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.c: Fix a memleak reported by Jan Schmidt.
	  Original commit message from CVS:
	  2006-03-20  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c:
	  (gst_xvimagesink_get_format_from_caps): Fix a memleak reported
	  by Jan Schmidt.

2006-03-19 11:37:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Can't do tag preferences via probability, as tags would then lose against types ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (id3v2_type_find),
	  (id3v1_type_find), (apetag_type_find), (plugin_init):
	  Can't do tag preferences via probability, as tags would then
	  lose against types that are recognised with MAXIMUM probability
	  (like .wav); so let all tag typefinders return MAXIMUM themselves
	  and order them via the rank. Split ID3v1 and ID3v2 typefinders so
	  that we can prefer APE to ID3v1 (fixes #335028).

2006-03-17 17:48:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/: Only start playback if we are playing. should fix #330748.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_change_state):
	  * gst-libs/gst/audio/gstringbuffer.c: (wait_segment),
	  (gst_ring_buffer_may_start):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Only start playback if we are playing.
	  should fix #330748.

2006-03-17 13:11:45 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Revert accidental commits to these files.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
	  * win32/common/config.h:
	  Revert accidental commits to these files.

2006-03-16 20:01:03 +0000  Michal Benes <michal.benes@xeris.cz>

	  tests/Makefile.am: Don't try to build tests in tests/icles if we don't have X (#323852)
	  Original commit message from CVS:
	  Patch by: Michal Benes  <michal dot benes at xeris dot cz>
	  * tests/Makefile.am:
	  Don't try to build tests in tests/icles if we
	  don't have X (#323852)

2006-03-16 13:08:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstid3tag.c: Add TXXX frame identifiers for replaygain stuff as used by some taggers (see #323721).
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Add TXXX frame identifiers for replaygain stuff as used
	  by some taggers (see #323721).

2006-03-16 10:22:27 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gststreamselector.c: Preserve the existing buggy streamselector behaviour by performing a fallback buffe...
	  Original commit message from CVS:
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_set_property),
	  (gst_stream_selector_bufferalloc):
	  Preserve the existing buggy streamselector behaviour by performing
	  a fallback buffer allocation when downstream isn't linked yet.
	  This should really be fixed in playbin by blocking pads until it's
	  linked them.
	  Also, use gst_pad_alloc_buffer instead of
	  gst_pad_alloc_buffer_and_set.

2006-03-15 22:40:08 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstid3tag.c: Don't crash on unknown ID3v2 TXXX frames.
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Don't crash on unknown ID3v2 TXXX frames.

2006-03-15 17:59:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/alsa/gstalsasink.c: Chain up to the parent finalize method.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_finalise):
	  Chain up to the parent finalize method.
	  Add 32-bit sample size to the template caps.
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add the fourcc that the VMWare codec uses.
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_set_property),
	  (gst_stream_selector_bufferalloc),
	  (gst_stream_selector_request_new_pad):
	  For the active pad, forward buffer-alloc requests, otherwise
	  return GST_FLOW_NOT_LINKED. This also prevents xvimagesink
	  having to memcpy every frame when used by playbin.
	  * gst/tcp/gstmultifdsink.c:
	  (gst_multi_fd_sink_handle_client_write):
	  Get negotiated caps from the sink pad, rather than the sink
	  pad's peer.

2006-03-15 17:11:34 +0000  Tommi Myöhänen <ext-tommi.myohanen@nokia.com>

	  ext/gnomevfs/gstgnomevfssrc.c: Don't forget to set src->callbacks_pushed to FALSE again when popping them, otherwise ...
	  Original commit message from CVS:
	  Patch by: Tommi Myöhänen  <ext-tommi dot myohanen at nokia dot com>
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_pop_callbacks):
	  Don't forget to set src->callbacks_pushed to FALSE again when
	  popping them, otherwise re-activation in a different mode won't
	  work (#334620).

2006-03-15 11:30:29 +0000  Sebastien Moutte <sebastien@moutte.net>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Replace __VA_ARGS__ caps creation macros with varargs functions. looks nice...
	  Original commit message from CVS:
	  Patch by: Sebastien Moutte  <sebastien moutte net>
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
	  (gst_ff_aud_caps_new), (gst_ffmpeg_pixfmt_to_caps),
	  (gst_ffmpeg_smpfmt_to_caps):
	  Replace __VA_ARGS__ caps creation macros with varargs functions.
	  Makes things compile on MSVC (#320765), looks nicer, and we can
	  tell the compiler to check for the NULL terminator.

2006-03-14 15:13:04 +0000  Fabrizio Gennari <fabrizio.ge@tiscali.it>

	  gst-libs/gst/riff/riff-media.c: Make sure the buffer we copy into is really always big enough, this time for real (#3...
	  Original commit message from CVS:
	  Patch by: Fabrizio Gennari  <fabrizio dot ge at tiscali dot it>
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Make sure the buffer we copy into is really always big
	  enough, this time for real (#333488).

2006-03-14 13:16:49 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Add support for 24bpp DIB (#305279).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Add support for 24bpp DIB (#305279).

2006-03-14 11:11:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/: Re-enable QoS after the release.
	  Original commit message from CVS:
	  * gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_init):
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_init):
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
	  (gst_video_scale_init), (gst_video_scale_src_event):
	  Re-enable QoS after the release.
	  Rework videoscale to use the base class src_event handler.

2006-03-14 09:51:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: back to CVS.
	  Original commit message from CVS:
	  * configure.ac:
	  back to CVS.

=== release 0.10.5 ===

2006-03-13 19:50:04 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/config.h:
	  releasing 0.10.5
	  Original commit message from CVS:
	  releasing 0.10.5

2006-03-13 17:28:23 +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-03-13 11:17:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/Makefile.am: Part of previous cdparanoiasrc docs fixes, forgot to commit.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  Part of previous cdparanoiasrc docs fixes, forgot to commit.

2006-03-12 14:56:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/: Add cdparanoiasrc to docs.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  Add cdparanoiasrc to docs.
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  More GstCddaBaseSrc docs.

2006-03-12 13:47:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add new API to libgsttag: gst_tag_from_id3_user_tag().
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_user_tag):
	  * gst-libs/gst/tag/tag.h:
	  Add new API to libgsttag: gst_tag_from_id3_user_tag().

2006-03-11 19:47:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: NULL-terminate array of mpeg4 video file extensions.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  NULL-terminate array of mpeg4 video file extensions.
	  Fixes crash on PPC (#334226).

2006-03-11 16:40:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: gnome_vfs_uri_is_local() alone is not a good indicator whether we can operate in pull-...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  (gst_gnome_vfs_src_check_get_range):
	  gnome_vfs_uri_is_local() alone is not a good indicator
	  whether we can operate in pull-mode with a specific URI,
	  as it returns FALSE for file:// URIs that point to an
	  NFS-mounted path. Be more conservative here: whitelist
	  local files, blacklist http URIs and use the old
	  mechanism for anything else (fixes #334216).

2006-03-10 19:15:34 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  configure.ac: back to trunk
	  Original commit message from CVS:
	  * configure.ac:
	  back to trunk

=== release 0.10.4 ===

2006-03-10 19:05:13 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* docs/upload.mak:
	* win32/common/config.h:
	  releasing 0.10.4
	  Original commit message from CVS:
	  releasing 0.10.4

2006-03-10 12:37:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/video/gstvideosink.c: Disable max-lateness by setting it to -1 for now, so that we can bed QoS stuff in ...
	  Original commit message from CVS:
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
	  Disable max-lateness by setting it to -1 for now, so that
	  we can bed QoS stuff in thoroughly between now and the next
	  release.

2006-03-10 11:09:23 +0000  Fabrizio <fabrizio.ge@tiscali.it>

	  gst-libs/gst/riff/riff-media.c: Make sure we don't read beyond the palette buffer in case of
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Make sure we don't read beyond the palette buffer in case of
	  broken or manipulated files (#333488, patch by: Fabrizio
	  Gennari)

2006-03-10 10:44:02 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Fix for variable not initialized.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
	  Fix for variable not initialized.

2006-03-09 19:02:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* docs/libs/tmpl/gstringbuffer.sgml:
	* 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:
	* win32/common/config.h:
	  prereleasing
	  Original commit message from CVS:
	  prereleasing

2006-03-09 17:58:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: Small cleanups.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_get_type),
	  (gst_visual_src_setcaps), (gst_vis_src_negotiate),
	  (gst_visual_chain):
	  Small cleanups.
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/theoradec.c: (gst_theora_dec_init),
	  (gst_theora_dec_reset), (_theora_granule_time),
	  (theora_dec_src_convert), (theora_dec_sink_convert),
	  (theora_dec_src_query), (theora_dec_src_event),
	  (theora_dec_sink_event), (theora_handle_comment_packet),
	  (theora_handle_header_packet), (theora_dec_push),
	  (theora_handle_data_packet), (theora_dec_chain),
	  (theora_dec_change_state):
	  Add simple QoS.

2006-03-09 17:50:59 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/gnomevfs/gstgnomevfssrc.c: Some cleanups.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init),
	  (audiocast_register_listener), (gst_gnome_vfs_src_start):
	  Some cleanups.

2006-03-09 17:45:39 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Don't try to activate NULL chains.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_activate_chain):
	  Don't try to activate NULL chains.

2006-03-09 16:30:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Fix invalid memory access to region before peek'd data (#332964).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
	  Fix invalid memory access to region before peek'd data (#332964).

2006-03-09 15:05:03 +0000  Christophe Fergeau <teuf@gnome.org>

	  closes #333510.
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init):
	  * ext/pango/gsttextrender.c: (gst_text_render_init):
	  * gst/adder/gstadder.c: (gst_adder_init):
	  Don't leak padtemplates, patch by Christophe Fergeau,
	  closes #333510.

2006-03-09 12:56:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Fix invalid memory access: make sure string passed to regexec() is NUL-termianted.
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (gst_subparse_type_find):
	  Fix invalid memory access: make sure string passed to
	  regexec() is NUL-termianted.

2006-03-09 12:37:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Refactor mpeg/audio typefinding to make it more maintainable and easier to fine-...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
	  (mp3_type_find):
	  Refactor mpeg/audio typefinding to make it more maintainable
	  and easier to fine-tune. Make probing into middle of the file
	  work properly (fixes #333900, also see #152688).

2006-03-09 11:10:03 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Remove part from previous commit that was bogus: g_utf8_validate() does in fact ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  (utf8_type_find_have_valid_utf8_at_offset):
	  Remove part from previous commit that was bogus:
	  g_utf8_validate() does in fact not accept embedded
	  zeroes, so we don't need to check for those (thanks
	  to Mike for the hint).

2006-03-08 17:11:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Make plain/text typefinder more conservative: firstly, check for embedded zeroes...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c:
	  (utf8_type_find_count_embedded_zeroes),
	  (utf8_type_find_have_valid_utf8_at_offset), (utf8_type_find):
	  Make plain/text typefinder more conservative: firstly, check
	  for embedded zeroes, which are perfectly valid UTF-8 characters,
	  but also a fairly good sign that something is not a plain text
	  file; secondly, probe into the middle of the file if possible.
	  If we can't probe into the middle, limit the probability value
	  to be returned to TYPE_FIND_POSSIBLE (see #333900).

2006-03-08 11:34:45 +0000  Michael Smith <msmith@xiph.org>

	  gst/typefind/gsttypefindfunctions.c: Make typefind function name for mpeg4 video unique.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Make typefind function name for mpeg4 video unique.

2006-03-08 09:53:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/libvisual/visual.c: Cleanups, post nice errors.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_init),
	  (gst_visual_clear_actors), (gst_visual_dispose),
	  (gst_visual_reset), (gst_visual_src_setcaps),
	  (gst_visual_sink_setcaps), (gst_vis_src_negotiate),
	  (gst_visual_sink_event), (gst_visual_src_event), (get_buffer),
	  (gst_visual_chain), (gst_visual_change_state):
	  Cleanups, post nice errors.
	  Handle sink and src events.
	  Implement simple QoS.
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
	  Use new basesink methods to configure max-lateness.
	  Small doc update.
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_set_caps):
	  Debug statement cleanups.
	  * gst/volume/gstvolume.c: (gst_volume_class_init):
	  Simple cleanup.

2006-03-08 09:50:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Revert API/ABI break from March 1. Keep 'halign' and 'valign' as string type properties, ...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
	  (gst_text_overlay_init), (gst_text_overlay_set_property),
	  (gst_text_overlay_get_property):
	  Revert API/ABI break from March 1. Keep 'halign' and 'valign'
	  as string type properties, but mark them deprecated. Add
	  'halignment' and 'valignment' properties that use enums
	  instead of strings.

2006-03-08 09:37:12 +0000  Fabrizio <fabrizio.ge@tiscali.it>

	  gst-libs/gst/riff/riff-media.c: Allow palettes with less than 256 colours in AVI files
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Allow palettes with less than 256 colours in AVI files
	  (#333488, patch by: Fabrizio Gennari).

2006-03-07 21:56:09 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Fix wrong EOS handling on text pad. We were releasing the queued text buffer when we shou...
	  Original commit message from CVS:
	  2006-03-07  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
	  (gst_text_overlay_video_event): Fix wrong EOS handling on text
	  pad. We were releasing the queued text buffer when we should keep
	  it until video pad gets EOS or discard the text buffer because it's
	  too old. That was eating the last subtitle buffer. Add some more
	  debug.

2006-03-07 17:28:36 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Fix invalid memory access (we can't access a buffer after it's been pushed downstream wit...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_render_text),
	  (gst_text_overlay_video_chain):
	  Fix invalid memory access (we can't access a buffer after it's been
	  pushed downstream without taking a reference); fix memory leak (if
	  there's no text to render, bail out before allocating stuff).

2006-03-07 15:08:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.*: If input is plain text, escape it before passing it to pango_layout_set_markup().
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
	  (gst_text_overlay_setcaps_txt), (gst_text_overlay_video_chain):
	  * ext/pango/gsttextoverlay.h:
	  If input is plain text, escape it before passing it to
	  pango_layout_set_markup().

2006-03-07 13:01:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstaudiofilter.c: Don't ignore flow return from gst_pad_push().
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_chain):
	  Don't ignore flow return from gst_pad_push().

2006-03-07 12:49:03 +0000  Christophe Fergeau <teuf@gnome.org>

	  Don't leak references returned by gst_pad_get_parent()
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_getcaps),
	  (gst_visual_src_setcaps), (gst_visual_sink_setcaps):
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_sinkconnect):
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
	  (gst_vorbisenc_convert_sink):
	  * gst-libs/gst/audio/audio.c: (gst_audio_frame_byte_size),
	  (gst_audio_duration_from_pad_buffer):
	  * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_link),
	  (gst_audio_filter_chain):
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps):
	  * gst-libs/gst/video/video.c: (gst_video_frame_rate),
	  (gst_video_get_size):
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
	  Don't leak references returned by gst_pad_get_parent()
	  (#333663, based on patch by: Christophe Fergeau).

2006-03-06 20:52:25 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/gnomevfs/gstgnomevfssink.c: change location param details
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
	  change location param details
	  * gst/volume/gstvolume.c: (plugin_init):
	  correct plugin description

2006-03-06 20:07:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Override GstBaseSrc::check_get_range() in order to avoid opening the resource just to ...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
	  (gst_gnome_vfs_src_check_get_range):
	  Override GstBaseSrc::check_get_range() in order to avoid opening
	  the resource just to check whether we can operate in pull-mode or
	  not - we can predict that pretty well from the URI alone. Should
	  fix problems with last.fm (#331690). (Requires latest core CVS).

2006-03-06 16:18:51 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/video/gstvideosink.c: Throw away frames that are later than 20 ms.
	  Original commit message from CVS:
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init),
	  (gst_video_sink_class_init):
	  Throw away frames that are later than 20 ms.

2006-03-06 14:14:47 +0000  Fabrizio <fabrizio.ge@tiscali.it>

	  gst-libs/gst/riff/riff-media.c:
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Set depth on WMA caps (#333545, patch by: Fabrizio Gennari).

2006-03-05 23:39:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/ogg/gstoggmux.c: put Theora BOS pages before others.  This hardcodes the Ogg/Theora I profile, but hey.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
	  (gst_ogg_mux_send_headers), (gst_ogg_mux_collected):
	  put Theora BOS pages before others.  This hardcodes
	  the Ogg/Theora I profile, but hey.

2006-03-05 23:06:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	  changed more than 5 lines
	  Original commit message from CVS:
	  changed more than 5 lines

2006-03-05 22:57:58 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ogg muxing of vorbis and theora now has pages ordered correctly again, even with delays.
	  Original commit message from CVS:
	  ogg muxing of vorbis and theora now has pages ordered correctly again,
	  even with delays.
	  * ext/ogg/README:
	  updated with some examples
	  * ext/theora/theoraenc.c: (granulepos_to_timestamp),
	  (granulepos_add), (theora_buffer_from_packet):
	  * ext/vorbis/vorbisenc.c: (granulepos_to_timestamp_offset),
	  (granulepos_to_timestamp), (gst_vorbisenc_buffer_from_packet),
	  (gst_vorbisenc_chain):
	  implement strategy from ext/ogg/README
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
	  (gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page),
	  (gst_ogg_mux_pad_queue_page), (gst_ogg_mux_compare_pads),
	  (gst_ogg_mux_queue_pads), (gst_ogg_mux_collected):
	  Fix muxer so that oggz-validate is happy with all streams;
	  except for no eos mark, and the BOS page ordering
	  * tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
	  (check_buffer_granulepos):
	  * tests/check/pipelines/vorbisenc.c: (check_buffer_granulepos):
	  update tests to check for OFFSET being set as requested
	  fixed type of granulepos, it's not a ClockTime

2006-03-05 21:34:23 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.c: Check that the xvimage we are creating has a correct size         before returning it. (#3...
	  Original commit message from CVS:
	  2006-03-05  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
	  (gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
	  Check that the xvimage we are creating has a correct size         before returning it. (#314897)

2006-03-05 13:44:05 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Give id3 and ape tag typefinders a rank slightly higher than PRIMARY to ensure t...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Give id3 and ape tag typefinders a rank slightly higher
	  than PRIMARY to ensure they're always run before any of
	  the other typefinders (in particular wav and mp3) (#324186).

2006-03-05 13:08:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Add support for '3IVD' fourcc (#333403).
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Add support for '3IVD' fourcc (#333403).

2006-03-04 14:35:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  configure.ac: Bump requirements to GStreamer CVS for the new error enum.
	  Original commit message from CVS:
	  * configure.ac:
	  Bump requirements to GStreamer CVS for the new error enum.
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_render):
	  Emit new GST_RESOURCE_ERROR_NO_SPACE_LEFT when there's no
	  space left on the device (fixes #333352).

2006-03-03 23:53:50 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/vs6: add a project file for libgstvolume update the workspace
	  Original commit message from CVS:
	  * win32/vs6:
	  add a project file for libgstvolume
	  update the workspace

2006-03-03 15:26:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/README:
	* ext/ogg/gstoggmux.c:
	  debug updates
	  Original commit message from CVS:
	  debug updates

2006-03-03 15:22:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  Fix for http://bugzilla.gnome.org/show_bug.cgi?id=333254
	  Original commit message from CVS:
	  2006-03-03  Thomas Vander Stichele  <thomas at apestaart dot org>
	  * ext/theora/theoraenc.c: (theora_set_header_on_caps):
	  * tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
	  (GST_START_TEST):
	  Fix for http://bugzilla.gnome.org/show_bug.cgi?id=333254
	  Set IN_CAPS on header buffers

2006-03-02 18:23:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/plugins/: Add audioresample to docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  Add audioresample to docs.
	  * gst/audioconvert/gstaudioconvert.c:
	  Add revision date.
	  * gst/audioresample/gstaudioresample.c:
	  (gst_audioresample_base_init), (gst_audioresample_class_init),
	  (gst_audioresample_init), (gst_audioresample_dispose),
	  (audioresample_get_unit_size), (audioresample_transform_caps),
	  (resample_set_state_from_caps), (audioresample_transform_size),
	  (audioresample_set_caps), (audioresample_event),
	  (audioresample_do_output), (audioresample_transform),
	  (audioresample_pushthrough), (gst_audioresample_set_property),
	  (gst_audioresample_get_property), (plugin_init):
	  * gst/audioresample/gstaudioresample.h:
	  Added docs.
	  Small code cleanups.

2006-03-02 18:12:33 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/videorate/Makefile.am:
	  fix wim's commit
	  Original commit message from CVS:
	  fix wim's commit

2006-03-02 17:48:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	  debug using the actual GstPad, that allows us to see the serialno in the padname
	  Original commit message from CVS:
	  debug using the actual GstPad, that allows us to see the serialno in the padname

2006-03-02 17:46:36 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/plugins/: Added videoscale to docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  Added videoscale to docs.
	  * gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev),
	  (gst_video_rate_swap_prev), (gst_video_rate_event),
	  (gst_video_rate_chain):
	  Fix typo in docs.
	  * gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
	  (gst_video_scale_init), (gst_video_scale_prepare_size),
	  (gst_video_scale_set_caps), (gst_video_scale_get_unit_size),
	  (gst_video_scale_fixate_caps), (gst_video_scale_transform):
	  * gst/videoscale/gstvideoscale.h:
	  Added docs, examples.
	  Some code cleanups.
	  Post errors instead of g_warning.

2006-03-02 17:30:57 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	  clean up debug messages
	  Original commit message from CVS:
	  clean up debug messages

2006-03-02 17:15:38 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	  extra debugging from older version, makes it easier to compare
	  Original commit message from CVS:
	  extra debugging from older version, makes it easier to compare

2006-03-02 17:04:55 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ext/ogg/gstoggmux.c:
	  some space cleanup and debug fixes
	  Original commit message from CVS:
	  some space cleanup and debug fixes

2006-03-02 16:47:34 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/: Added some more docs to libs and plugins.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/gst-plugins-base-libs.types:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  Added some more docs to libs and plugins.
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_prepare_read), (gst_ring_buffer_clear):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Document ringbuffer some more.
	  * gst/videorate/gstvideorate.c: (gst_video_rate_class_init),
	  (gst_video_rate_setcaps), (gst_video_rate_reset),
	  (gst_video_rate_init), (gst_video_rate_flush_prev),
	  (gst_video_rate_swap_prev), (gst_video_rate_event),
	  (gst_video_rate_chain), (gst_video_rate_change_state):
	  * gst/videorate/gstvideorate.h:
	  Fix videorate to use segments.
	  Make it work with 0/1 framerates (closes #331903)
	  Handle EOS correctly.
	  Added docs.

2006-03-02 13:13:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstogmparse.c: In state change function, first chain up to parent class, then handle downwards state change s...
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_class_init),
	  (gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
	  (gst_ogm_text_parse_init), (gst_ogm_parse_change_state):
	  In state change function, first chain up to parent class,
	  then handle downwards state change stuff. Remove some
	  commented out cruft from 0.8 code.

2006-03-02 12:35:59 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/ogg/gstogmparse.c: Don't remove/re-add source pad if the new caps are the same as the old caps anyway (#333042). ...
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init),
	  (gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
	  (gst_ogm_parse_sink_convert), (gst_ogm_parse_sink_query),
	  (gst_ogm_parse_chain):
	  Don't remove/re-add source pad if the new caps are the same as
	  the old caps anyway (#333042). When removing source pad, don't
	  unref it afterwards - we didn't ref it when adding. Sprinkle some
	  GST_DEBUG_FUNCPTR goodness here and there. Don't leak references
	  after using gst_pad_get_parent(). Return downstream flow return
	  value in chain function.

2006-03-02 11:28:23 +0000  Wim Taymans <wim.taymans@gmail.com>

	  docs/plugins/: Fix hierarchy, added some more elements to the docs.
	  Original commit message from CVS:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.interfaces:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  Fix hierarchy, added some more elements to the docs.
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_get_type):
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	  Fix docs for ffmpegcolorspace.

2006-03-01 19:24:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Some typefinding fine-tuning:
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (id3_type_find),
	  (apetag_type_find), (ape_type_find), (plugin_init):
	  Some typefinding fine-tuning:
	  - rank ID3/APE tags in order of preference via probabilities, so that
	  ID3v2 > APEv2 > APEv1 > ID3v1.
	  - three or four bytes don't really justify MAXIMUM probability,
	  change those to 'very likely' (musepack and monkeysaudio).

2006-03-01 18:25:18 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Added alsa docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/alsa/gstalsamixer.c:
	  * ext/alsa/gstalsamixer.h:
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_class_init), (gst_alsa_mixer_element_init):
	  * ext/alsa/gstalsamixerelement.h:
	  * ext/alsa/gstalsasink.c:
	  * ext/alsa/gstalsasink.h:
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_class_init),
	  (gst_alsasrc_init):
	  * ext/alsa/gstalsasrc.h:
	  Added alsa docs.
	  Small code cleanups.

2006-03-01 17:52:45 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/Makefile.am: Dist new header too,
	  Original commit message from CVS:
	  * ext/theora/Makefile.am:
	  Dist new header too,

2006-03-01 17:39:28 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Fix some more docs.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/gnomevfs/gstgnomevfssink.h:
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_data_packet):
	  * ext/vorbis/vorbisdec.h:
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_sink):
	  * ext/vorbis/vorbisenc.h:
	  * ext/vorbis/vorbisparse.c: (vorbis_parse_set_header_on_caps),
	  (vorbis_parse_chain), (vorbis_parse_change_state):
	  * ext/vorbis/vorbisparse.h:
	  * gst/audioconvert/gstaudioconvert.h:
	  * gst/tcp/gsttcpserversink.h:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  * gst/videotestsrc/gstvideotestsrc.h:
	  * gst/volume/gstvolume.c:
	  * gst/volume/gstvolume.h:
	  Fix some more docs.
	  Added docs for vorbisdec and vorbisparse.
	  Fix vorbisparse.

2006-03-01 16:24:37 +0000  Wim Taymans <wim.taymans@gmail.com>

	  Updated/added documentation.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * ext/pango/gstclockoverlay.h:
	  * ext/pango/gsttextoverlay.h:
	  * ext/pango/gsttextrender.h:
	  * ext/pango/gsttimeoverlay.h:
	  * ext/theora/gsttheoradec.h:
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/theoradec.c:
	  * ext/theora/theoraenc.c:
	  * gst/audioconvert/gstaudioconvert.h:
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.h:
	  * gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
	  * gst/tcp/gstmultifdsink.h:
	  Updated/added documentation.
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_valign_get_type),
	  (gst_text_overlay_halign_get_type),
	  (gst_text_overlay_wrap_mode_get_type),
	  (gst_text_overlay_base_init), (gst_text_overlay_class_init),
	  (gst_text_overlay_init), (gst_text_overlay_set_property),
	  (gst_text_overlay_get_property):
	  Fix up properties to be enums instead of string to make bindings,
	  introspection and automatic GUI creation possible.
	  Add getters for the properties.

2006-02-28 21:21:07 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst/audiotestsrc/gstaudiotestsrc.c: added defines of M_PI and M_PI_2
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  added defines of M_PI and M_PI_2
	  * gst/ffmpegcolorspace/avcodec.h:
	  removed #include "stdint.h" for win32 as _stdint.h is
	  autogenerated to win32/common
	  * win32/common/libgstaudio.def:
	  * win32/common/libgsttag.def:
	  added some exports
	  * win32/vs6:
	  some project files bugs corrected
	  * win32/vs7:
	  project files are reset to the default vs7 configuration
	  (they link to msvcr71.dll using default optimizations)

2006-02-28 19:08:12 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/gnomevfs/gstgnomevfssink.c: Fix some docs.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_class_init):
	  Fix some docs.

2006-02-28 13:52:04 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/alsa/gstalsasrc.c: Set proper class on the ElementDetails:
	  Original commit message from CVS:
	  * ext/alsa/gstalsasrc.c:
	  Set proper class on the ElementDetails:
	  Source/Audio instead of Src/Audio

2006-02-28 12:19:11 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/videoscale/vs_scanline.c: Revert optimization in videoscale. It should go in liboil and have an appropriate liboi...
	  Original commit message from CVS:
	  * gst/videoscale/vs_scanline.c:
	  (vs_scanline_resample_nearest_RGBA):
	  Revert optimization in videoscale. It should go in liboil and have
	  an appropriate liboil function.

2006-02-28 11:06:24 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to provide a clock in the NULL state.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_provide_clock):
	  Don't try to provide a clock in the NULL state.

2006-02-28 11:04:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/ogg/gstoggdemux.c: Use GstSegment infrastructure to remove duplicated code and handle more seek cases correctly.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_receive_event),
	  (gst_ogg_pad_event), (gst_ogg_pad_internal_chain),
	  (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_deactivate_current_chain),
	  (gst_ogg_demux_activate_chain), (gst_ogg_demux_do_seek),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_collect_info),
	  (gst_ogg_demux_find_chains), (gst_ogg_demux_chain),
	  (gst_ogg_demux_loop), (gst_ogg_demux_change_state):
	  Use GstSegment infrastructure to remove duplicated code
	  and handle more seek cases correctly.

2006-02-28 10:39:19 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/ffmpegcolorspace/gstffmpegcolorspace.c: Don't ignore return code from ffmpeg convert function.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_transform):
	  Don't ignore return code from ffmpeg convert function.
	  * gst/ffmpegcolorspace/imgconvert.c: (img_convert):
	  Split out some long statements to ease debugging.

2006-02-27 12:08:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/libvisual/visual.c: Don't use gst_pad_use_fixed_caps, because it prevents downstream from being able to renegotia...
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (gst_visual_init),
	  (gst_vis_src_negotiate), (get_buffer), (plugin_init):
	  Don't use gst_pad_use_fixed_caps, because it prevents downstream from
	  being able to renegotiate the size. Instead, use the negotiation
	  algorithm from the goom plugin to pick an initial output caps.
	  Also, allow theoretical libvisual plugins that might support non-GL
	  output even if they also do GL.

2006-02-26 21:05:46 +0000  Julien Moutte <julien@moutte.net>

	  ext/libvisual/visual.c: Load only non GL plugins. Fix some memleaks and possible negotiation issues.
	  Original commit message from CVS:
	  2006-02-26  Julien MOUTTE  <julien@moutte.net>
	  * ext/libvisual/visual.c: (gst_visual_init),
	  (gst_visual_src_setcaps), (get_buffer), (gst_visual_chain),
	  (plugin_init): Load only non GL plugins. Fix some memleaks and
	  possible negotiation issues.

2006-02-24 23:19:44 +0000  Julien Moutte <julien@moutte.net>

	  gst-libs/gst/tag/tag.h: Adding Annodex tags here.
	  Original commit message from CVS:
	  2006-02-25  Julien MOUTTE  <julien@moutte.net>
	  * gst-libs/gst/tag/tag.h: Adding Annodex tags here.

2006-02-24 18:55:27 +0000  Michael Smith <msmith@xiph.org>

	  gst/typefind/gsttypefindfunctions.c: Fix CMML type find function to not require a specific minor version of the CMML ...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find),
	  (cmml_type_find), (plugin_init):
	  Fix CMML type find function to not require a specific minor version
	  of the CMML header.
	  Add an MPEG4 video elementary stream typefind function.

2006-02-24 17:31:53 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggdemux.c: Annodex support in ogg demuxer. Doesn't do very much without the other annodex patches (to come).
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead),
	  (gst_ogg_pad_parse_skeleton_fisbone), (gst_ogg_pad_query_convert),
	  (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
	  (gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain),
	  (gst_ogg_demux_read_end_chain), (gst_ogg_demux_collect_chain_info),
	  (gst_ogg_demux_change_state), (gst_annodex_granule_to_time):
	  Annodex support in ogg demuxer. Doesn't do very much without the
	  other annodex patches (to come).

2006-02-24 16:21:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c:
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
	  Pick up palette for MS video v1 (#327028, patch by:
	  Fabrizio Gennari <fabrizio dot get at tiscali dot it>)

2006-02-24 13:54:04 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/ffmpegcolorspace/gstffmpegcolorspace.c: The 'palette_data' field from incoming RGB caps shouldn't be proxied on o...
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_caps_remove_format_info),
	  (gst_ffmpegcsp_get_unit_size):
	  The 'palette_data' field from incoming RGB caps shouldn't be
	  proxied on outgoing YUV caps; also, restrict unit size
	  adjustment in case of paletted data only to the unit that
	  actually has a palette. Fixes #330711.

2006-02-24 12:18:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/ffmpegcolorspace/gstffmpegcolorspace.c: Plug some memory leaks.
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcolorspace.c:
	  (gst_ffmpegcsp_transform_caps), (gst_ffmpegcsp_set_caps),
	  (gst_ffmpegcsp_finalize), (gst_ffmpegcsp_class_init),
	  (gst_ffmpegcsp_get_unit_size):
	  Plug some memory leaks.

2006-02-24 10:18:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  sys/: Add some _CFLAGS and _LIBS that seem to be missing and/or required for Cygwin (see #317048).
	  Original commit message from CVS:
	  * sys/ximage/Makefile.am:
	  * sys/xvimage/Makefile.am:
	  Add some _CFLAGS and _LIBS that seem to be missing
	  and/or required for Cygwin (see #317048).

2006-02-24 00:07:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	* ChangeLog:
	  ChangeLog surgery: use UTF-8 encoding in stead of ISO-8859-15
	  Original commit message from CVS:
	  ChangeLog surgery: use UTF-8 encoding in stead of ISO-8859-15

2006-02-22 18:46:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasrc.c: Fix description as pointed out by caugier.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasrc.c:
	  Fix description as pointed out by caugier.

2006-02-22 10:29:22 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Better 3gp typefinding.
	  Original commit message from CVS:
	  Reviewed by : Edward Hervey  <edward@fluendo.com>
	  * gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
	  (qt_type_find):
	  Better 3gp typefinding.

2006-02-21 12:16:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Don't send EOS event here, the base class will send one for us.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
	  Don't send EOS event here, the base class will send one for us.
	  * gst/playback/gstplaybasebin.c: (prepare_output):
	  Subpictures without video stream aren't allowed either.
	  * gst/subparse/gstsubparse.c: (gst_subparse_type_find):
	  Fix debug statement copy'n'paste-o.

2006-02-21 12:05:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsamixer.c: Fix issues with mixer keeping state when muting/unmuting and when changing the volume whilst...
	  Original commit message from CVS:
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume):
	  Fix issues with mixer keeping state when muting/unmuting
	  and when changing the volume whilst muted (see #331763
	  and #331765).

2006-02-20 18:27:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Set right caps given that we send escaped text. Also, honour <i></i>, <b></b> and <u></u>...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (subrip_unescape_formatting),
	  (parse_subrip), (gst_sub_parse_format_autodetect):
	  Set right caps given that we send escaped text. Also,
	  honour <i></i>, <b></b> and <u></u> markers that can be found
	  in .srt files (fixes #310202).

2006-02-20 16:21:14 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/mixerutils.c: Make order in which elements are tried more determinable.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/mixerutils.c:
	  (element_factory_rank_compare_func):
	  Make order in which elements are tried more determinable.

2006-02-20 15:57:51 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gstdecodebin.c: Make decodebin reusable by fixing remove_element_chain first and then introduce a cleane...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (get_our_ghost_pad),
	  (remove_element_chain), (cleanup_decodebin),
	  (gst_decode_bin_change_state): Make decodebin reusable by
	  fixing remove_element_chain first and then introduce a
	  cleaner in state change to ->NULL. (Closes #331678)
	  ------------------------------------------------------

2006-02-19 14:32:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/gnomevfs/gstgnomevfssink.c: use 0666 mask when creating files so umask gets applied correctly. Fixes #331295.
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_open_file):
	  use 0666 mask when creating files so umask gets applied
	  correctly. Fixes #331295.

2006-02-19 14:16:16 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/: Add very basic parser for SSA subtitle streams (as often found in matroska files).
	  Original commit message from CVS:
	  * gst/subparse/Makefile.am:
	  * gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init),
	  (gst_ssa_parse_dispose), (gst_ssa_parse_init),
	  (gst_ssa_parse_class_init), (gst_ssa_parse_src_event),
	  (gst_ssa_parse_sink_event), (gst_ssa_parse_setcaps),
	  (gst_ssa_parse_remove_override_codes), (gst_ssa_parse_parse_line),
	  (gst_ssa_parse_chain), (gst_ssa_parse_change_state):
	  * gst/subparse/gstssaparse.h:
	  * gst/subparse/gstsubparse.c: (plugin_init):
	  Add very basic parser for SSA subtitle streams (as often
	  found in matroska files).

2006-02-19 14:09:40 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: That should be text/x-pango-markup, not text/x-pango-layout.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (mimetype_is_raw):
	  That should be text/x-pango-markup, not text/x-pango-layout.

2006-02-19 12:41:03 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Polishing.
	  Original commit message from CVS:
	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_finalize):
	  Polishing.

2006-02-19 12:05:23 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Fix state change deadlock.
	  Original commit message from CVS:
	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init),
	  (gst_text_overlay_finalize), (gst_text_overlay_init),
	  (gst_text_overlay_setcaps), (gst_text_overlay_src_event),
	  (gst_text_overlay_render_text),
	  (gst_text_overlay_text_pad_link),
	  (gst_text_overlay_text_event), (gst_text_overlay_video_event),
	  (gst_text_overlay_pop_text), (gst_text_overlay_text_chain),
	  (gst_text_overlay_video_chain), (gst_text_overlay_change_state):
	  Fix state change deadlock.

2006-02-19 11:56:28 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.*: Fix seeking both for muxed formats and subtitles files.
	  Original commit message from CVS:
	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init),
	  (gst_text_overlay_finalize), (gst_text_overlay_init),
	  (gst_text_overlay_setcaps), (gst_text_overlay_src_event),
	  (gst_text_overlay_render_text),
	  (gst_text_overlay_text_pad_link),
	  (gst_text_overlay_text_event), (gst_text_overlay_video_event),
	  (gst_text_overlay_pop_text), (gst_text_overlay_text_chain),
	  (gst_text_overlay_video_chain), (gst_text_overlay_change_state):
	  * ext/pango/gsttextoverlay.h: Fix seeking both for muxed formats
	  and subtitles files.

2006-02-19 00:40:38 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gstdecodebin.c: pango layout should be considered as row.
	  Original commit message from CVS:
	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gstdecodebin.c: (mimetype_is_raw): pango layout
	  should be considered as row.

2006-02-19 00:25:16 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gststreaminfo.*: Introduce language informations.
	  Original commit message from CVS:
	  2006-02-19  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gststreaminfo.c: (gst_stream_type_get_type),
	  (cb_probe):
	  * gst/playback/gststreaminfo.h: Introduce language informations.

2006-02-18 22:41:31 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: Set shared memory segments to be deleted as soon as we have attached, that way they get cleaned up automaticall...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
	  (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
	  Set shared memory segments to be deleted as soon as we have attached,
	  that way they get cleaned up automatically if we crash.

2006-02-18 19:53:48 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/: Those functions are called with lock held.
	  Original commit message from CVS:
	  2006-02-18  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gstclockoverlay.c: (gst_clock_overlay_get_text):
	  * ext/pango/gsttimeoverlay.c: (gst_time_overlay_get_text): Those
	  functions are called with lock held.

2006-02-18 19:51:47 +0000  Julien Moutte <julien@moutte.net>

	* ChangeLog:
	  Forgot Changelog.
	  Original commit message from CVS:
	  Forgot Changelog.

2006-02-18 19:10:35 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Refactoring of textoverlay without collectpads. This now supports sparse subtitles coming...
	  Original commit message from CVS:
	  2006-02-18  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init),
	  (gst_text_overlay_finalize), (gst_text_overlay_init),
	  (gst_text_overlay_setcaps), (gst_text_overlay_src_event),
	  (gst_text_overlay_render_text),
	  (gst_text_overlay_text_pad_link),
	  (gst_text_overlay_text_pad_unlink),
	  (gst_text_overlay_text_event),
	  (gst_text_overlay_video_event), (gst_text_overlay_pop_text),
	  (gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
	  (gst_text_overlay_change_state): Refactoring of textoverlay
	  without collectpads. This now supports sparse subtitles coming
	  from a demuxer instead of a sub file. Seeking is still broken
	  though. Need to discuss with wtay some more on how to handle
	  seeking correctly.
	  * ext/pango/gsttextoverlay.h:
	  * gst/playback/gstplaybin.c: (setup_sinks): Support linking with
	  subtitles coming from the demuxer.

2006-02-17 19:31:12 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisenc.c: Use some more scaling functions.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
	  (gst_vorbisenc_convert_sink):
	  Use some more scaling functions.

2006-02-17 16:12:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdparanoia/gstcdparanoiasrc.*: Add back 'transport-error' and 'uncorrected-error' signals and make them actually ...
	  Original commit message from CVS:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  (gst_cd_paranoia_src_class_init), (gst_cd_paranoia_dummy_callback),
	  (gst_cd_paranoia_paranoia_callback),
	  (gst_cd_paranoia_src_signal_is_being_watched),
	  (gst_cd_paranoia_src_read_sector):
	  * ext/cdparanoia/gstcdparanoiasrc.h:
	  Add back 'transport-error' and 'uncorrected-error' signals and
	  make them actually be fired when bad stuff happens (#319340).

2006-02-17 14:07:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Small cleanups.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_get_type),
	  (gst_ring_buffer_open_device), (gst_ring_buffer_close_device),
	  (gst_ring_buffer_device_is_open), (gst_ring_buffer_acquire),
	  (gst_ring_buffer_release), (gst_ring_buffer_set_flushing),
	  (gst_ring_buffer_start), (gst_ring_buffer_pause_unlocked),
	  (gst_ring_buffer_pause), (gst_ring_buffer_stop),
	  (gst_ring_buffer_delay), (gst_ring_buffer_samples_done),
	  (gst_ring_buffer_set_sample), (gst_ring_buffer_clear_all),
	  (gst_ring_buffer_commit), (gst_ring_buffer_prepare_read),
	  (gst_ring_buffer_clear):
	  Small cleanups.
	  Added some G_LIKELY.

2006-02-17 10:15:52 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/TODO: Update TODO
	  Original commit message from CVS:
	  * gst-libs/gst/audio/TODO:
	  Update TODO
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_get_offset):
	  When trying to play samples ASAP and we don't have a
	  previous sample, try to play at position 0 instead of
	  an invalid position.

2006-02-17 09:24:56 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.c: Also release lock when we get an error in _reset(); fix an error message.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_open),
	  (gst_alsasink_reset):
	  Also release lock when we get an error in _reset();
	  fix an error message.

2006-02-16 21:01:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/gstalsasink.*: Add support for more than 2 channels (#326720).
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
	  (gst_alsasink_init), (get_channel_free_structure),
	  (caps_add_channel_configuration), (gst_alsasink_getcaps),
	  (gst_alsasink_close):
	  * ext/alsa/gstalsasink.h:
	  Add support for more than 2 channels (#326720).

2006-02-16 20:19:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/riff/riff-media.c: Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM' with 4 or 6 channe...
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
	  Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM'
	  with 4 or 6 channels, assume a default channel layout to make things
	  work (not sure there's anything else we can do in those cases).

2006-02-16 19:18:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: Minor docs fix.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  Minor docs fix.
	  * gst-libs/gst/riff/Makefile.am:
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c:
	  (gst_riff_wavext_add_channel_layout), (gst_riff_create_audio_caps):
	  Add support for WAVEFORMATEX, eg. PCM audio with more than two
	  channels and a channel layout map.

2006-02-16 17:06:46 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/videoscale/vs_scanline.c: C-level optimization of the RGBA nearest neighbour function.
	  Original commit message from CVS:
	  Reviewed by Edward Hervey  <edward@fluendo.com>
	  * gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA):
	  C-level optimization of the RGBA nearest neighbour function.
	  Eventually this might end up in liboil with vectorized versions.

2006-02-16 11:44:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/multichannel.c: When we have more than 2 channels, but no channel layout is specified in the caps,...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/multichannel.c:
	  (gst_audio_get_channel_positions):
	  When we have more than 2 channels, but no channel layout is
	  specified in the caps, return some default channel layout
	  to the caller and warn about about a possibly buggy element
	  (could be buggy filtercaps as well of course) (#317038).

2006-02-16 09:29:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  pkgconfig/gstreamer-plugins-base-uninstalled.pc.in: Add gst-libs/gst/cdda to list of lib search paths.
	  Original commit message from CVS:
	  * pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	  Add gst-libs/gst/cdda to list of lib search paths.

2006-02-15 12:20:47 +0000  Andy Wingo <wingo@pobox.com>

	  ext/ogg/gstoggmux.c (gst_ogg_mux_collected): When updating timestamp, update timestamp_end as well. Fixes a bugaboo. ...
	  Original commit message from CVS:
	  2006-02-15  Andy Wingo  <wingo@pobox.com>
	  * ext/ogg/gstoggmux.c (gst_ogg_mux_collected): When updating
	  timestamp, update timestamp_end as well. Fixes a bugaboo. I hope
	  to the Lord Jesus that I do not have to touch the ogg muxer ever
	  again.

2006-02-15 12:07:57 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: quicktime movie files can also contain 'uuid' atoms.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (qt_type_find):
	  quicktime movie files can also contain 'uuid' atoms.

2006-02-14 18:52:52 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/audioconvert/plugin.c: Register the GstAudioChannelPosition enum type with the type system in the plugin_init fun...
	  Original commit message from CVS:
	  * gst/audioconvert/plugin.c: (plugin_init):
	  Register the GstAudioChannelPosition enum type with the type
	  system in the plugin_init function, so that it is known before
	  any element actually makes use of multi-channel stuff. This is
	  required for example if one wants to be able to deserialise/use
	  a caps string with channel positions before any pipeline has
	  been setup and started, like with gst-launch.

2006-02-14 13:45:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstringbuffer.c: Add some compiler G_(UN_)LIKELY help.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c:
	  (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_delay),
	  (gst_ring_buffer_samples_done), (wait_segment),
	  (gst_ring_buffer_commit), (gst_ring_buffer_clear):
	  Add some compiler G_(UN_)LIKELY help.
	  SIGNAL the ringbuffer waiters when going to PAUSED as well to
	  make sure they can exit their functions. Should fix #330748

2006-02-13 20:49:07 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  Windows does not have long long; copy the generated _stdint.h
	  Original commit message from CVS:
	  * Makefile.am:
	  * configure.ac:
	  * win32/MANIFEST:
	  * win32/common/_stdint.h:
	  Windows does not have long long; copy the generated _stdint.h
	  * win32/common/interfaces-enumtypes.c:
	  (gst_color_balance_type_get_type), (gst_mixer_type_get_type),
	  (gst_mixer_track_flags_get_type),
	  (gst_tuner_channel_flags_get_type):
	  * win32/common/multichannel-enumtypes.c:
	  (gst_audio_channel_position_get_type):
	  update

2006-02-13 18:49:02 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Always sync on first sample we receive when starting.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_get_time), (gst_base_audio_sink_preroll),
	  (gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
	  Always sync on first sample we receive when starting.

2006-02-13 15:59:48 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/playback/gstplaybin.c: Update vis bin docs.
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_vis_element):
	  Update vis bin docs.
	  Move queue after tee so we don't queue video buffers but
	  audio samples instead. Fixes problems where the video queue
	  is filled and the audio queue empty.

2006-02-13 15:17:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: No need to push an EOS event here, GstBaseSrc will do that for us when we return ...
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
	  No need to push an EOS event here, GstBaseSrc will do that for us
	  when we return FLOW_UNEXPECTED.

2006-02-12 14:54:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Use scale functions when possible.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_get_time), (gst_base_audio_sink_setcaps),
	  (gst_base_audio_sink_drain), (gst_base_audio_sink_preroll),
	  (gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
	  Use scale functions when possible.
	  Fix error messages.
	  Free clockid when after waiting for EOS.
	  Use G_(UN_)LIKLY when it makes sense.
	  Fix sample clipping bug found by Arwed v. Merkatz fixes #330789.

2006-02-12 14:26:55 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstplaybasebin.c: Remove stray semi-colon (fixes #330888).
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (prepare_output):
	  Remove stray semi-colon (fixes #330888).

2006-02-11 23:35:55 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  sys/: Fix up the XShm call testing so that we catch errors, and don't cause new ones by attempting to detach from a s...
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
	  Fix up the XShm call testing so that we catch errors, and don't
	  cause new ones by attempting to detach from a segment we failed
	  to attach to. Fixes #312439.

2006-02-10 11:29:55 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/typefind/gsttypefindfunctions.c: Added flv file typefind (video/x-flv).
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (plugin_init):
	  Added flv file typefind (video/x-flv).

2006-02-10 10:53:33 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
	  Also added the caps to the default set of riff video caps.

2006-02-09 19:05:23 +0000  Andy Wingo <wingo@pobox.com>

	  ext/ogg/gstoggmux.c (GstOggPad): Keep track of both the start time and the end time of the last packet in the page.
	  Original commit message from CVS:
	  2006-02-09  Andy Wingo  <wingo@pobox.com>
	  * ext/ogg/gstoggmux.c (GstOggPad): Keep track of both the start
	  time and the end time of the last packet in the page.
	  (gst_ogg_mux_pad_queue_page): In addition to setting the timestamp
	  on the pages in our queue, set the duration as well. Reflow a
	  debug statement.
	  (gst_ogg_mux_collected): Keep track of GstOggPad->timestamp_end.
	  Fixes bad muxing order.

2006-02-09 17:04:18 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst-libs/gst/rtp/gstbasertppayload.c: update seqnum before setting it on the packet; this makes sure that the timesta...
	  Original commit message from CVS:
	  * gst-libs/gst/rtp/gstbasertppayload.c:
	  (gst_basertppayload_setcaps), (gst_basertppayload_push):
	  update seqnum before setting it on the packet; this makes sure
	  that the timestamp and seqnum properties match after pushing
	  a buffer

2006-02-09 12:16:35 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	  changelog foo
	  Original commit message from CVS:
	  changelog foo

2006-02-09 11:46:03 +0000  Andy Wingo <wingo@pobox.com>

	* gst-libs/gst/audio/gstringbuffer.c:
	* win32/common/config.h:
	  kapowpowpow
	  Original commit message from CVS:
	  kapowpowpow

2006-02-09 11:36:18 +0000  Andy Wingo <wingo@pobox.com>

	  gst-libs/gst/audio/gstringbuffer.c
	  Original commit message from CVS:
	  2006-02-09  Andy Wingo  <wingo@pobox.com>
	  * gst-libs/gst/audio/gstringbuffer.c
	  (gst_ring_buffer_samples_done): Cast to guint64, fixes an integer
	  overflow after 13.5 hours of recording. Kapow!
	  * ext/alsa/gstalsasrc.c (gst_alsasrc_delay): Clamp the delay to
	  the buffer size -- we don't care about underrun/overrun reporting
	  right now, just need to return a useful value.

2006-02-09 11:21:33 +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.3 ===

2006-02-09 11:18:22 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* win32/common/config.h:
	  Releasing 0.10.3
	  Original commit message from CVS:
	  Releasing 0.10.3

2006-02-08 18:37:38 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  configure.ac: Drat. Bump libtool version number for new API.
	  Original commit message from CVS:
	  * configure.ac:
	  Drat. Bump libtool version number for new API.
	  Prelease 0.10.2.3 (of 0.10.3)

2006-02-08 15:57:53 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  0.10.2.2 prerelease (of 0.10.3).
	  Original commit message from CVS:
	  * configure.ac:
	  * win32/common/config.h:
	  0.10.2.2 prerelease (of 0.10.3).

2006-02-08 15:50:08 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/tcp/gsttcpclientsrc.c: Revert Andy's newsegment change pending a more correct fix.
	  Original commit message from CVS:
	  * gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_create):
	  Revert Andy's newsegment change pending a more correct
	  fix.

2006-02-08 12:46:14 +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-02-08 11:04:09 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst/tcp/gstmultifdsink.c:
	  doc fixes
	  Original commit message from CVS:
	  doc fixes

2006-02-08 09:20:23 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst/typefind/gsttypefindfunctions.c: detect more files as 3gp group and reorder the iso file formats
	  Original commit message from CVS:
	  :
	  * gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
	  (qt_type_find), (plugin_init):
	  detect more files as 3gp
	  group and reorder the iso file formats

2006-02-07 18:32:00 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/vorbis/vorbis.c: Register musicbrainz tags, so apps don't have to.
	  Original commit message from CVS:
	  * ext/vorbis/vorbis.c: (plugin_init):
	  Register musicbrainz tags, so apps don't have to.

2006-02-07 17:44:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Make sure we called gst_tag_register_musicbrainz_tags() before possibly mapping a vo...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_tag_from_vorbis_tag),
	  (gst_tag_to_vorbis_tag):
	  Make sure we called gst_tag_register_musicbrainz_tags()
	  before possibly mapping a vorbiscomment string from/to a
	  musicbrainz tag.

2006-02-07 16:16:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: In case we can't find the required number of consecutive mpeg audio frames to po...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
	  In case we can't find the required number of consecutive
	  mpeg audio frames to positively identify an MPEG audio
	  stream, check if there's at least a valid mpeg audio
	  frame right at offset 0 and if so suggest mpeg/audio
	  caps with a very low probability (#153004).

2006-02-07 15:52:26 +0000  Andy Wingo <wingo@pobox.com>

	  gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to a TIME segment if we get timestamped buffers. Requir...
	  Original commit message from CVS:
	  2006-02-07  Andy Wingo  <wingo@pobox.com>
	  * gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to
	  a TIME segment if we get timestamped buffers. Requires recent
	  fixes in core to work properly.

2006-02-07 14:57:46 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Don't print the URI as part of the error message, it makes error dialogs look rather u...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (prepare_output):
	  Don't print the URI as part of the error message, it
	  makes error dialogs look rather ugly, especially if
	  the URI is very long or has characters in it that
	  need escaping.

2006-02-07 13:11:31 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Error out if we have only text or subtitles, but nothing else. Also error out if we ha...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (prepare_output):
	  Error out if we have only text or subtitles, but nothing
	  else. Also error out if we have subtitles but no video
	  stream.

2006-02-07 11:44:39 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssrc.c: Treat GNOME_VFS_RESULT_EOF as EOS, not as error (#329194).
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
	  Treat GNOME_VFS_RESULT_EOF as EOS, not as error (#329194).
	  Post an error message on the bus when we encounter an
	  error, which will hopefully be more meaningful than the
	  'Internal Flow Error' message users get to see if we
	  just return GST_FLOW_ERROR.

2006-02-07 11:28:04 +0000  Andy Wingo <wingo@pobox.com>

	  configure.ac (GST_MAJORMINOR): Update core version req to 0.10.2.2, for the collectpads API addition (#330244).
	  Original commit message from CVS:
	  2006-02-07  Andy Wingo  <wingo@pobox.com>
	  * configure.ac (GST_MAJORMINOR): Update core version req to
	  0.10.2.2, for the collectpads API addition (#330244).

2006-02-06 19:09:26 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfs.c: Return FALSE from plugin_init() when GnomeVFS can't be initialised for some reason (#3284...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfs.c: (plugin_init):
	  Return FALSE from plugin_init() when GnomeVFS can't
	  be initialised for some reason (#328423).

2006-02-06 13:26:54 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Stick to seeking theory until i find the bug.
	  Original commit message from CVS:
	  2006-02-06  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event):
	  Stick to seeking theory until i find the bug.
	  * gst/subparse/gstsubparse.c: (parse_subrip): Fix debug.

2006-02-06 12:38:48 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Make theoraenc and the tests leak free. Like, really.
	  Original commit message from CVS:
	  * ext/theora/theoraenc.c: (gst_theora_enc_class_init),
	  (theora_enc_finalize), (theora_enc_sink_setcaps),
	  (theora_set_header_on_caps), (theora_enc_chain),
	  (theora_enc_change_state):
	  * tests/check/pipelines/theoraenc.c: (GST_START_TEST):
	  Make theoraenc and the tests leak free. Like, really.

2006-02-05 23:31:05 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  Add a finalize method to ensure we clean up state even if someone omitted the state change back to NULL.
	  Original commit message from CVS:
	  (theora_enc_finalize), (theora_enc_sink_setcaps):
	  Add a finalize method to ensure we clean up state even if
	  someone omitted the state change back to NULL.
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1),
	  (gst_vorbisenc_chain):
	  Free some more leaked bits.
	  * tests/check/pipelines/theoraenc.c: (start_pipeline),
	  (stop_pipeline):
	  Wait for state changes to happen if they're ASYNC.
	  This ought to teach those fancy pants buildbots a lesson.

2006-02-05 22:47:41 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/tag/gstid3tag.c: Add mapping for ID3 International Standard Recording Code tag "TSRC"
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstid3tag.c:
	  Add mapping for ID3 International Standard Recording Code
	  tag "TSRC"

2006-02-05 22:44:55 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/vorbis/vorbisenc.c: Don't leak tag names.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1):
	  Don't leak tag names.

2006-02-05 18:22:01 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Split libgsttag docs into multiple sections.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/gstid3tag.c:
	  * gst-libs/gst/tag/gstvorbistag.c:
	  * gst-libs/gst/tag/tags.c:
	  Split libgsttag docs into multiple sections.

2006-02-05 18:01:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add libgsttag to the docs.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_tag):
	  * gst-libs/gst/tag/gstvorbistag.c:
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c:
	  Add libgsttag to the docs.

2006-02-05 17:21:23 +0000  Julien Moutte <julien@moutte.net>

	  ext/pango/gsttextoverlay.c: Fix clockoverlay.
	  Original commit message from CVS:
	  2006-02-05  Julien MOUTTE  <julien@moutte.net>
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_finalize),
	  (gst_text_overlay_init), (gst_text_overlay_src_event),
	  (gst_text_overlay_collected): Fix clockoverlay.

2006-02-05 17:15:17 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/libs/compiling.sgml: Fix typo: it's pkg-config, not pkg-gconfig
	  Original commit message from CVS:
	  * docs/libs/compiling.sgml:
	  Fix typo: it's pkg-config, not pkg-gconfig
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/tmpl/gstgconf.sgml:
	  There is no libgstgconf in 0.10, remove it
	  from the docs.

2006-02-05 16:03:48 +0000  Julien Moutte <julien@moutte.net>

	  docs/libs/tmpl/gstcolorbalance.sgml: Updated.
	  Original commit message from CVS:
	  2006-02-05  Julien MOUTTE  <julien@moutte.net>
	  * docs/libs/tmpl/gstcolorbalance.sgml: Updated.
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
	  (gst_text_overlay_src_event), (gst_text_overlay_collected):
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
	  (gst_sub_parse_class_init), (gst_sub_parse_init),
	  (gst_sub_parse_src_event), (parse_mdvdsub), (parse_subrip),
	  (parse_mpsub), (parser_state_init), (handle_buffer),
	  (gst_sub_parse_chain), (gst_sub_parse_sink_event),
	  (plugin_init):
	  * gst/subparse/gstsubparse.h: Introduce seeking code.

2006-02-05 15:14:06 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/gstvorbistag.c: Add comment about LANGUAGE tag inconsistency (we want
	  Original commit message from CVS:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  Add comment about LANGUAGE tag inconsistency (we want
	  ISO-639-1, but extract three-letter identifiers?)
	  * po/POTFILES.in:
	  Add two translatable files.

2006-02-05 14:59:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/tag/: Forward-port some tags stuff from the 0.8 branch. This is mostly the addition of musicbrainz tags ...
	  Original commit message from CVS:
	  * gst-libs/gst/tag/Makefile.am:
	  * gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
	  * gst-libs/gst/tag/tag.h:
	  * gst-libs/gst/tag/tags.c:
	  (gst_tag_register_musicbrainz_tags_internal),
	  (gst_tag_register_musicbrainz_tags):
	  Forward-port some tags stuff from the 0.8 branch. This is
	  mostly the addition of musicbrainz tags and their mapping
	  to vorbistags, and a vorbistag mapping of the language tag.

2006-02-05 12:06:25 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gstplaybin.c: Fix broken code refactoring.
	  Original commit message from CVS:
	  2006-02-05  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gstplaybin.c: (gen_text_element): Fix broken code
	  refactoring.

2006-02-05 03:05:41 +0000  David Schleef <ds@schleef.org>

	  Add Dirac typefinding and add dirac format to oggmux.
	  Original commit message from CVS:
	  * ext/ogg/gstoggmux.c:
	  * gst/typefind/gsttypefindfunctions.c:
	  Add Dirac typefinding and add dirac format to oggmux.

2006-02-04 07:49:03 +0000  Michael Smith <msmith@xiph.org>

	* configure.ac:
	  Improve error message for liboil missingness.
	  Original commit message from CVS:
	  Improve error message for liboil missingness.

2006-02-03 19:23:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: Don't put essential function call into g_return_*() macro, otherwise it'll all be replac...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (try_to_link_1):
	  Don't put essential function call into
	  g_return_*() macro, otherwise it'll all be
	  replaced by NOOPs when compiling with
	  G_DISABLE_CHECKS defined.

2006-02-03 17:45:44 +0000  Edgard Lima <edgard.lima@indt.org.br>

	* ChangeLog:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggparse.c:
	* gst/tcp/gsttcpserversink.c:
	* sys/v4l/v4lsrc_calls.c:
	* sys/v4l/v4lsrc_calls.h:
	  Just make it compile with --disable-gst-debug.
	  Original commit message from CVS:
	  Just make it compile with --disable-gst-debug.

2006-02-03 12:51:47 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/alsa/gstalsasink.*: Add lock to protect alsa calls.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
	  (gst_alsasink_class_init), (gst_alsasink_init),
	  (gst_alsasink_write), (gst_alsasink_reset):
	  * ext/alsa/gstalsasink.h:
	  Add lock to protect alsa calls.
	  Implement reset to flush samples ASAP, does not work
	  with dmix though.

2006-02-02 18:18:31 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Ugh.. getting late I guess...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_provide_clock):
	  Ugh.. getting late I guess...

2006-02-02 18:13:26 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Don't try to provide a clock when we are not negotiated since we might not be ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_provide_clock),
	  (gst_base_audio_sink_set_property),
	  (gst_base_audio_sink_get_property), (gst_base_audio_sink_render):
	  Don't try to provide a clock when we are not negotiated since
	  we might not be able to make it run.

2006-02-02 17:51:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstdecodebin.c: Unlinking two source pads is ... hard.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (try_to_link_1):
	  Unlinking two source pads is ... hard.

2006-02-02 12:14:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/TODO: Updated.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/TODO:
	  Updated.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_drain), (gst_base_audio_sink_event):
	  On EOS, wait till the last sample is played before posting EOS.

2006-02-02 08:53:27 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* tests/check/pipelines/theoraenc.c:
	  comment on my understanding
	  Original commit message from CVS:
	  comment on my understanding

2006-02-02 08:47:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* common:
	* tests/check/pipelines/theoraenc.c:
	  reformat to fit 80 chars
	  Original commit message from CVS:
	  reformat to fit 80 chars

2006-02-02 00:04:37 +0000  Kai Vehmanen <kv2004@eca.cx>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: setting queue_delay to zero. Also avoid thread being started if queue_delay i...
	  Original commit message from CVS:
	  2006-02-01  Philippe Kalaf <burger at speedy dot org>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  Patch by Kai Vehmanen : Adds ability to enable newsegment bypass by
	  setting queue_delay to zero. Also avoid thread being started if
	  queue_delay is zero.

2006-02-01 14:51:29 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/test6.c: Make test work again by connecting fakesinks to each decoded pad, which makes the pipeline wait...
	  Original commit message from CVS:
	  * gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main):
	  Make test work again by connecting fakesinks to each decoded pad,
	  which makes the pipeline wait until each fakesink has a buffer
	  queued before going to PAUSED state. At that point we know the
	  decodebin pads are negotiated.

2006-02-01 11:59:47 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/: Pass unhandled queries to the parent class's query function.
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_query),
	  (gst_cdda_base_src_handle_event):
	  * gst/audiotestsrc/gstaudiotestsrc.c: (gst_audio_test_src_query):
	  Pass unhandled queries to the parent class's query function.

2006-02-01 11:56:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Pass unhandled queries upstream instead of just dropping them (#326447). Also, fix supported query types list for som...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_pad_query_types),
	  (gst_ogg_pad_src_query):
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
	  * ext/theora/theoradec.c: (theora_dec_src_query),
	  (theora_dec_sink_query):
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
	  (vorbis_dec_sink_query):
	  * ext/vorbis/vorbisenc.c: (gst_vorbisenc_src_query),
	  (gst_vorbisenc_sink_query):
	  * gst/adder/gstadder.c: (gst_adder_query):
	  Pass unhandled queries upstream instead of just
	  dropping them (#326447). Also, fix supported
	  query types list for some elements.

2006-02-01 09:58:15 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Fix typefinding for audio/x-au, audio/x-paris and audio/iLBC-sh. We cannot use t...
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (au_type_find),
	  (paris_type_find), (ilbc_type_find), (plugin_init):
	  Fix typefinding for audio/x-au, audio/x-paris and
	  audio/iLBC-sh. We cannot use the START_WITH macros
	  here, because there can only be one typefind factory
	  with the same name (caps), so the second one would
	  replace the first one and the first one would never
	  be called when doing typefinding (see #161712).

2006-01-31 19:25:10 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/vorbis/vorbisdec.c: Use scale_int when we can, add some more scaling.
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_convert),
	  (vorbis_handle_header_packet), (vorbis_dec_push),
	  (vorbis_handle_data_packet):
	  Use scale_int when we can, add some more scaling.
	  Check packettype before parsing it.

2006-01-31 17:44:35 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Call right _scale functions.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (_theora_granule_time),
	  (theora_dec_src_convert), (theora_dec_sink_convert):
	  Call right _scale functions.
	  Use parameter instead of some other random value.

2006-01-31 17:27:00 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/theora/theoradec.c: Use higher precision timestamps calculation.
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (_theora_granule_frame),
	  (_theora_granule_time), (_inc_granulepos),
	  (theora_dec_src_convert), (theora_dec_sink_convert),
	  (theora_handle_type_packet), (theora_handle_data_packet),
	  (theora_dec_chain):
	  Use higher precision timestamps calculation.
	  Convert some other conversions to _scale.

2006-01-31 17:19:09 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/: initialize gst_controller before using
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_create_sine_table), (plugin_init):
	  * gst/volume/gstvolume.c: (plugin_init):
	  initialize gst_controller before using

2006-01-31 16:26:57 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  tests/check/pipelines/: Define constant using G_GINT64_CONSTANT to avoid errors when passing it around - otherwise it...
	  Original commit message from CVS:
	  * tests/check/pipelines/theoraenc.c:
	  * tests/check/pipelines/vorbisenc.c:
	  Define constant using G_GINT64_CONSTANT to avoid errors when
	  passing it around - otherwise it gets truncated to 32 bits.
	  Fixes failing tests.

2006-01-31 15:36:13 +0000  Andy Wingo <wingo@pobox.com>

	  sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the caps being set doesn't have a framerate value. Basic...
	  Original commit message from CVS:
	  2006-01-31  Andy Wingo  <wingo@pobox.com>
	  * sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the
	  caps being set doesn't have a framerate value. Basically a stopgap
	  measure.
	  * ext/ogg/gstoggmux.c (GST_BUFFER_END_TIME): New macro. Not
	  technically correct enough to put into core though.
	  (gst_ogg_mux_dequeue_page): Use END_TIME instead of TIMESTAMP +
	  DURATION. Fixes theoraenc ! oggmux.
	  * sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Fixate to the nearest
	  fraction, not double.

2006-01-31 12:23:35 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update with latest files
	  Original commit message from CVS:
	  update with latest files

2006-01-30 23:42:54 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/vs7: add vs7 project files created by Sergey Scobich
	  Original commit message from CVS:
	  * win32/vs7:
	  add vs7 project files created by Sergey Scobich

2006-01-30 22:18:53 +0000  Sébastien Moutte <sebastien@moutte.net>

	  win32/vs8: add vs8 project files created by Sergey Scobich
	  Original commit message from CVS:
	  * win32/vs8:
	  add vs8 project files created by Sergey Scobich

2006-01-30 19:22:22 +0000  Andy Wingo <wingo@pobox.com>

	  ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare timestamp + duration, not just timestamp -- ogg pages should ...
	  Original commit message from CVS:
	  2006-01-30  Andy Wingo  <wingo@pobox.com>
	  * ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare
	  timestamp + duration, not just timestamp -- ogg pages should be
	  ordered by stop time. Necessary fix given the change in vorbis
	  timestamps.

2006-01-30 19:21:07 +0000  Andy Wingo <wingo@pobox.com>

	* ChangeLog:
	* ext/theora/gsttheoraenc.h:
	* ext/theora/theoraenc.c:
	* tests/check/pipelines/theoraenc.c:
	  ext/theora/theoraenc.c (theora_enc_sink_setcaps)
	  Original commit message from CVS:
	  2006-01-30  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/theoraenc.c (theora_enc_sink_setcaps)
	  (gst_theora_enc_init): Pull the granule shift out of the encoder.
	  (granulepos_add): New function, handles the messiness of adjusting
	  granulepos values.
	  (theora_buffer_from_packet):
	  (theora_enc_chain):
	  (theora_enc_sink_event): Use granulepos_add, not +.
	  * tests/check/pipelines/theoraenc.c
	  (check_buffer_granulepos_from_starttime): Just check the frame
	  count, not the actual granulepos -- we can't dictate to the
	  encoder when it should be placing keyframes.

2006-01-30 18:17:19 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/gnomevfs/gstgnomevfssrc.c: SERVICE_NOT_AVAILABLE happens for example when you're trying to play an http:// stream...
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
	  SERVICE_NOT_AVAILABLE happens for example when you're trying to
	  play an http:// stream from a server that's not serving

2006-01-30 17:08:11 +0000  Andy Wingo <wingo@pobox.com>

	  tests/check/pipelines/: Totally remove the UINT64_CONSTANT macro, doesn't appear to be needed or available.
	  Original commit message from CVS:
	  2006-01-30  Andy Wingo  <wingo@pobox.com>
	  * tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET):
	  * tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally
	  remove the UINT64_CONSTANT macro, doesn't appear to be needed or
	  available.

2006-01-30 17:01:54 +0000  Andy Wingo <wingo@pobox.com>

	  ext/theora/: Same changes as were done to vorbisenc, although theoraenc was timestamping correctly. Added handling of...
	  Original commit message from CVS:
	  2006-01-30  Andy Wingo  <wingo@pobox.com>
	  * ext/theora/gsttheoraenc.h:
	  * ext/theora/theoraenc.c: Same changes as were done to vorbisenc,
	  although theoraenc was timestamping correctly. Added handling of
	  streams that start with nonzero timestamps.
	  * tests/check/Makefile.am:
	  * tests/check/pipelines/theoraenc.c: New file, basically does same
	  tests as vorbisenc.
	  * tests/check/pipelines/vorbisenc.c: I claim these bugs.

2006-01-30 16:19:33 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstaudiosink.c: Implement pause that does not wait for completion.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosink.c:
	  (gst_audioringbuffer_class_init), (gst_audioringbuffer_release),
	  (gst_audioringbuffer_pause):
	  Implement pause that does not wait for completion.
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
	  Don't drop buffers when going to PAUSED but perform preroll on
	  remaining samples now that core base class supports this.
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release),
	  (gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop),
	  (gst_ring_buffer_commit):
	  Pause should not signal waiters.
	  Implement return value of _commit correctly.

2006-01-30 15:01:28 +0000  Andy Wingo <wingo@pobox.com>

	  tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
	  Original commit message from CVS:
	  2006-01-30  Andy Wingo  <wingo@pobox.com>
	  * tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
	  * ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
	  updated to timestamp from the first sample, not the last.
	  (gst_vorbisenc_buffer_from_header_packet): New function, takes
	  special care of granulepos and timestamp for header packets.
	  (gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
	  when the first buffer has a nonzero timestamp.
	  * ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
	  (GstVorbisEnc.subgranule_offset): New members. Take care of the
	  case when the first audio buffer we get has a nonzero timestamp.
	  (GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
	  properly timestamp vorbis buffers with the time of the first
	  sample, not the last.
	  * ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
	  vorbis_granule_time_copy -- now it takes the granule/subgranule
	  offset into account.
	  * tests/check/pipelines/vorbisenc.c: New test for correctness of
	  timestamps, durations, and granulepos on buffers produced by
	  vorbisenc.

2006-01-30 14:42:28 +0000  Eric Jonas <jonas@mit.edu>

	  gst/ffmpegcolorspace/gstffmpegcodecmap.c: Patch from Eric Jonas to support conversions to/from UYVY (Fixes: #324626)
	  Original commit message from CVS:
	  * gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	  (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
	  Patch from Eric Jonas to support conversions to/from UYVY
	  (Fixes: #324626)

2006-01-30 08:11:14 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/: Implement subtitles.
	  Original commit message from CVS:
	  2006-01-30  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gstplaybasebin.c: (group_commit),
	  (queue_overrun),
	  (setup_subtitle), (setup_source), (set_active_source):
	  * gst/playback/gstplaybin.c: (gst_play_bin_dispose),
	  (gen_text_element), (gen_audio_element), (gen_vis_element),
	  (remove_sinks), (add_sink), (setup_sinks): Implement subtitles.

2006-01-29 19:13:39 +0000  Sébastien Moutte <sebastien@moutte.net>

	  gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
	  Original commit message from CVS:
	  * gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
	  * gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render)
	  use of gst_guint64_to_gdouble to be compliant with vs6
	  * gst/playback/gstdecodebin.c: (try_to_link_1)
	  * gst/videorate/videorate.c: (gst_video_rate_blank_data)
	  use of G_GINT64_CONSTANT for int64 constants
	  * win32/common/libgstinterfaces.def:
	  export some symbols (gst_mixer_get_type,gst_mixer_track_get_type)
	  * win32/vs6:
	  update and add new project files

2006-01-29 18:21:12 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  add a win32-update rule like in core, and copy over enumtypes files
	  Original commit message from CVS:
	  * Makefile.am:
	  * win32/MANIFEST:
	  * win32/common/interfaces-enumtypes.c:
	  (gst_color_balance_type_get_type), (gst_mixer_type_get_type),
	  (gst_mixer_track_flags_get_type),
	  (gst_tuner_channel_flags_get_type):
	  * win32/common/interfaces-enumtypes.h:
	  * win32/common/multichannel-enumtypes.c:
	  (gst_audio_channel_position_get_type):
	  * win32/common/multichannel-enumtypes.h:
	  add a win32-update rule like in core, and copy over enumtypes files

2006-01-29 18:07:51 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  generate win32/common/config.h
	  Original commit message from CVS:
	  generate win32/common/config.h

2006-01-29 18:05:42 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  win32/: add config files just like in core
	  Original commit message from CVS:
	  * win32/MANIFEST:
	  * win32/common/config.h:
	  * win32/common/config.h.in:
	  add config files just like in core

2006-01-28 18:22:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/alsa/: Update all error messages.  All of them should either use the default translated message, or actually prov...
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
	  (set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
	  (gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
	  * ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
	  (set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
	  (gst_alsasrc_unprepare), (gst_alsasrc_read):
	  Update all error messages.  All of them should either use
	  the default translated message, or actually provide a
	  translatable string.
	  Make the string for channel count problems meaningful.

2006-01-28 18:19:18 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstringbuffer.c: Make gcc-4.1 happy (part of #327357).
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (build_linear_format):
	  Make gcc-4.1 happy (part of #327357).

2006-01-28 16:35:47 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  sys/v4l/v4l_calls.c: check for and throw RESOURCE_BUSY
	  Original commit message from CVS:
	  * sys/v4l/v4l_calls.c: (gst_v4l_open):
	  check for and throw RESOURCE_BUSY

2006-01-28 02:13:14 +0000  David Schleef <ds@schleef.org>

	  gst/videoscale/vs_scanline.c: Oops, *that's* why I never checked in this change -- it requires liboil features not in...
	  Original commit message from CVS:
	  * gst/videoscale/vs_scanline.c: Oops, *that's* why I never
	  checked in this change -- it requires liboil features not
	  in 0.3.6.  Revert parts.

2006-01-27 23:40:19 +0000  David Schleef <ds@schleef.org>

	  update liboil requirement to 0.3.6
	  Original commit message from CVS:
	  * REQUIREMENTS:
	  * configure.ac: update liboil requirement to 0.3.6
	  * gst/videoscale/Makefile.am:
	  * gst/videoscale/vs_scanline.c: liboilify

2006-01-27 17:00:09 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/libvisual/visual.c: When pad_alloc returns a GstFlowReturn other than GST_FLOW_OK, make sure it is passed upstream.
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (get_buffer):
	  When pad_alloc returns a GstFlowReturn other
	  than GST_FLOW_OK, make sure it is passed upstream.

2006-01-27 01:36:01 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/alsa/gstalsasink.c: Free the device name string.
	  Original commit message from CVS:
	  * ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
	  (gst_alsasink_class_init):
	  Free the device name string.
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
	  (gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad),
	  (gst_ogg_mux_handle_src_event), (gst_ogg_mux_clear_collectpads):
	  Don't remove a pad from the collectpads structure until it
	  is released - it's a request pad, and may receive data again
	  if the element gets moved back to PLAYING state.
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
	  Ensure we turn on double buffering on the Xv port, and
	  set the colour key to something dark and mysterious that
	  isn't black.

2006-01-27 01:06:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/: - a library should not call setlocale. see Libraries node in gettext manual
	  Original commit message from CVS:
	  * ext/alsa/gstalsaplugin.c: (plugin_init):
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  (gst_cd_paranoia_src_base_init), (plugin_init):
	  * ext/gnomevfs/gstgnomevfs.c: (plugin_init):
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init):
	  - a library should not call setlocale. see Libraries node in
	  gettext manual
	  - make sure all plugins that use translation do bindtextdomain
	  to point to the localedir
	  * gst/playback/gstplaybin.c: (gen_vis_element), (add_sink),
	  (setup_sinks), (plugin_init):
	  all this, and check for NULL when creating sinks

2006-01-26 23:21:31 +0000  Julien Moutte <julien@moutte.net>

	  gst/subparse/gstsubparse.c: Make typefinding of subtitles work again.
	  Original commit message from CVS:
	  2006-01-27  Julien MOUTTE  <julien@moutte.net>
	  * gst/subparse/gstsubparse.c: (gst_subparse_type_find),
	  (plugin_init): Make typefinding of subtitles work again.

2006-01-26 20:40:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/typefind/gsttypefindfunctions.c: Backport a bunch of typefinding fixes from the 0.8 branch.
	  Original commit message from CVS:
	  * gst/typefind/gsttypefindfunctions.c: (aac_type_find),
	  (mp3_type_frame_length_from_header), (mp3_type_find),
	  (wavpack_type_find), (m4a_type_find), (ircam_type_find),
	  (plugin_init):
	  Backport a bunch of typefinding fixes from the 0.8 branch.
	  Also, improve wavpack typefinding: if we can't peek the
	  entire wavpack block, try to parse the bits we can get and
	  see if we find what we're looking for in those.

2006-01-26 19:17:38 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Handle some more cases of pixel aspect ratio.
	  Original commit message from CVS:
	  2006-01-26  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c:
	  (gst_ximagesink_calculate_pixel_aspect_ratio):
	  * sys/xvimage/xvimagesink.c:
	  (gst_xvimagesink_calculate_pixel_aspect_ratio): Handle some
	  more cases of pixel aspect ratio.

2006-01-26 13:09:24 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin.c: Also consider the flush-start and tag events as unblockers for the pad probes.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (pad_probe):
	  Also consider the flush-start and tag events as unblockers
	  for the pad probes.

2006-01-26 12:32:58 +0000  Julien Moutte <julien@moutte.net>

	  gst/playback/gstplaybin.c: On the fly visualisation switch, works disabling, enabling as well but it won't be able to...
	  Original commit message from CVS:
	  2006-01-26  Julien MOUTTE  <julien@moutte.net>
	  * gst/playback/gstplaybin.c: (gst_play_bin_init),
	  (gst_play_bin_dispose), (gst_play_bin_vis_unblocked),
	  (gst_play_bin_vis_blocked), (gst_play_bin_set_property):
	  On the fly visualisation switch, works disabling, enabling as
	  well but it won't be able to enable vis in a playbin that was
	  created with no visualisation.

2006-01-25 10:50:32 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Undo previous commit, it breaks resume after pause.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
	  Undo previous commit, it breaks resume after pause.

2006-01-25 09:27:01 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Improve debugging.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_setcaps), (gst_base_audio_sink_event),
	  (gst_base_audio_sink_preroll), (gst_base_audio_sink_render):
	  Improve debugging.
	  Post error when caps cannot be parsed.
	  Resync on discontinuity in the stream.
	  Clip samples to segment boundaries.
	  return WRONG_STATE sooner when we are flushing.
	  * gst-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
	  (gst_base_audio_src_get_time), (gst_base_audio_src_create):
	  Make audiosrc operate in TIME.
	  Set TIMESTAMP and DURATION on buffers.

2006-01-24 21:55:21 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/examples/seek/seek.c: Output tag messages as well.
	  Original commit message from CVS:
	  * tests/examples/seek/seek.c: (main):
	  Output tag messages as well.

2006-01-23 15:05:24 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/playback/gstdecodebin.c: Replace GstPadBlockCallback with pad probes that detect first buffer AND eos before remo...
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_init),
	  (free_pad_probes), (remove_fakesink), (pad_probe),
	  (close_pad_link), (gst_decode_bin_change_state):
	  Replace GstPadBlockCallback with pad probes that detect
	  first buffer AND eos before removing fakesink.
	  Fixes hang with demuxers doing EOS while pre-rolling.
	  Solves #328279

2006-01-23 10:10:36 +0000  Jens Granseuer <jensgr@gmx.net>

	  GCC 2.95 fixes (#328263).
	  Original commit message from CVS:
	  2006-01-23  Andy Wingo  <wingo@pobox.com>
	  * ext/alsa/gstalsasink.c:
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_setcaps),
	  (gst_base_rtp_depayload_add_to_queue),
	  (gst_base_rtp_depayload_queue_release): GCC 2.95 fixes (#328263).
	  Patch by: Jens Granseuer <jensgr at gmx dot net>

2006-01-22 17:24:02 +0000  Julien Moutte <julien@moutte.net>

	  sys/: Playbin keeps some ref to some frames. We might get a frame destroyed after changing state to
	  Original commit message from CVS:
	  2006-01-22  Julien MOUTTE  <julien@moutte.net>
	  * sys/ximage/ximagesink.c: (gst_ximagesink_ximage_destroy):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
	  (gst_xvimagesink_buffer_alloc): Playbin keeps some ref to some
	  frames. We might get a frame destroyed after changing state to
	  NULL, adding a safety check on xcontext.

2006-01-22 14:50:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/interfaces/xoverlay.c: Fix prepare-xwindow-id code example in the docs - we need to ignore all messages ...
	  Original commit message from CVS:
	  * gst-libs/gst/interfaces/xoverlay.c:
	  Fix prepare-xwindow-id code example in the docs - we need to
	  ignore all messages that aren't element messages as well.

2006-01-21 22:40:03 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.c: I think one day i'll completely undestand how caps negotiation is supposed to work. This r...
	  Original commit message from CVS:
	  2006-01-21  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
	  I think one day i'll completely undestand how caps negotiation
	  is supposed to work. This refactoring handles buffer_alloc
	  called with caps we can't handle. We definitely don't want a
	  set_caps with those caps, so we define and allocate a buffer
	  we would like to receive.

2006-01-20 19:10:26 +0000  Christian Schaller <uraeus@gnome.org>

	* autogen.sh:
	* common:
	  up automake requirement to 1.7
	  Original commit message from CVS:
	  up automake requirement to 1.7

2006-01-19 10:59:51 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Free iterator when done.
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source):
	  Free iterator when done.

2006-01-17 11:43:49 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst-libs/gst/audio/gstbaseaudiosink.c: Fix playback of non-synchronised streams by assuming a rate of 1.0 instead of ...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_render):
	  Fix playback of non-synchronised streams by assuming a rate
	  of 1.0 instead of a random one.
	  Makes this work again:
	  gst-launch filesrc location=raw_audio.file ! 'audio/x-raw-int,
	  endianness=(int)4321, signed=(boolean)true, width=(int)16,
	  depth=(int)16, rate=(int)44100, channels=(int)2' ! audioconvert !
	  audioresample ! alsasink

2006-01-16 21:01:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.2 ===

2006-01-16 20:59:32 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  releasing 0.10.2
	  Original commit message from CVS:
	  releasing 0.10.2

2006-01-16 16:38:15 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/: Comment out broken code that connects to the state-changed signal.
	  Original commit message from CVS:
	  * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_set_property):
	  Comment out broken code that connects to the state-changed signal.
	  At this point, changing current stream selection is broken, but
	  stuff like gst-launch playbin current-audio=1 works and filters
	  to the chosen stream.

2006-01-16 15:31:14 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/vorbis/vorbisdec.c: Fix #327216 (null dereference in vorbisdec)
	  Original commit message from CVS:
	  * ext/vorbis/vorbisdec.c: (vorbis_dec_src_query):
	  Fix #327216 (null dereference in vorbisdec)

2006-01-16 15:19:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/theora/theoradec.c: Post taglist actually on bus instead of just freeing it (fixes #327114 and totem bug #327080).
	  Original commit message from CVS:
	  * ext/theora/theoradec.c: (theora_handle_comment_packet):
	  Post taglist actually on bus instead of just freeing it
	  (fixes #327114 and totem bug #327080).
	  * ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet):
	  Use gst_element_found_tags_for_pad(), so that the tags
	  are sent downstream as an event as well.

2006-01-15 10:06:40 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  sys/: move all regularly occurring messages to GST_LOG level add some more object logs
	  Original commit message from CVS:
	  * sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
	  (gst_ximagesink_ximage_new), (gst_ximagesink_ximage_put),
	  (gst_ximagesink_buffer_alloc):
	  * sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_finalize),
	  (gst_xvimagesink_xvimage_put), (gst_xvimagesink_show_frame),
	  (gst_xvimagesink_buffer_alloc):
	  move all regularly occurring messages to GST_LOG level
	  add some more object logs

2006-01-14 22:59:49 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	* 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:
	  prerelease
	  Original commit message from CVS:
	  prerelease

2006-01-14 20:46:25 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  ext/ogg/gstoggmux.c: fix a silly segfault
	  Original commit message from CVS:
	  2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_collected):
	  fix a silly segfault

2006-01-14 12:52:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add docs for mixerutils stuff.
	  Original commit message from CVS:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * gst-libs/gst/audio/mixerutils.c:
	  * gst-libs/gst/audio/mixerutils.h:
	  Add docs for mixerutils stuff.

2006-01-13 17:17:07 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/gstplaybasebin.c: Fix playback for sources that emit raw audio or raw video streams (e.g.: cd audio sour...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (setup_source):
	  Fix playback for sources that emit raw audio or
	  raw video streams (e.g.: cd audio sources) (#325984).

2006-01-13 16:45:50 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst-libs/gst/audio/mixerutils.c: actually save the element we create
	  Original commit message from CVS:
	  * gst-libs/gst/audio/mixerutils.c:
	  (gst_audio_mixer_filter_do_filter):
	  actually save the element we create

2006-01-13 16:17:50 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  remove version suffix
	  Original commit message from CVS:
	  remove version suffix

2006-01-12 14:56:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: No need to post a tag message on the bus when seeking within the same track, only...
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_handle_track_seek):
	  No need to post a tag message on the bus when seeking
	  within the same track, only post it when the current
	  track changes.

2006-01-11 18:30:25 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/: Reenable stream selection. These mechanisms need a complete overhaul in the face of 0.8->0.10 changes ...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (group_destroy),
	  (probe_triggered), (new_decoded_pad), (mute_group_type),
	  (set_active_source):
	  * gst/playback/gststreaminfo.c: (gst_stream_info_set_mute):
	  * gst/playback/gststreamselector.c:
	  (gst_stream_selector_base_init),
	  (gst_stream_selector_set_property),
	  (gst_stream_selector_request_new_pad):
	  Reenable stream selection. These mechanisms need a complete overhaul
	  in the face of 0.8->0.10 changes though.

2006-01-11 18:03:24 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/ogg/gstoggdemux.c: Change the pad template to src_%d to match the pads that are created from it. decodebin needs ...
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c:
	  Change the pad template to src_%d to match the pads that
	  are created from it. decodebin needs this information in order
	  to decide that oggdemux is capable of producing multiple pads
	  (and hence needs queues inserted).
	  * ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads),
	  (gst_ogg_mux_collected):
	  Make debug output more useful by using GST_PTR_FORMAT.

2006-01-11 17:38:35 +0000  Christian Schaller <uraeus@gnome.org>

	* gst-plugins-base.spec.in:
	  update spec.in file
	  Original commit message from CVS:
	  update spec.in file

2006-01-11 15:11:20 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstringbuffer.c: Set depth and width for alaw/mulaw (fixes #326601).
	  Original commit message from CVS:
	  Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps):
	  Set depth and width for alaw/mulaw (fixes #326601).

2006-01-10 23:58:36 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  tests/icles/Makefile.am: don't build the tests if we don't have the libs
	  Original commit message from CVS:
	  * tests/icles/Makefile.am:
	  don't build the tests if we don't have the libs

2006-01-10 18:06:56 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/cdparanoia/gstcdparanoiasrc.c: Don't try to free NULL pointers.
	  Original commit message from CVS:
	  * ext/cdparanoia/gstcdparanoiasrc.c: (gst_cd_paranoia_src_close),
	  (gst_cd_paranoia_paranoia_callback):
	  Don't try to free NULL pointers.

2006-01-10 15:47:48 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst/audiorate/gstaudiorate.c: Add debugging category.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain),
	  (gst_audio_rate_change_state), (plugin_init):
	  Add debugging category.
	  Fix type issues.
	  Add case for incoming buffers without valid offset/offset_end.

2006-01-10 12:25:59 +0000  Michael Smith <msmith@xiph.org>

	  gst-libs/gst/audio/gstaudiosrc.c: Don't leak GCond in audio sources.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstaudiosrc.c: (gst_audioringbuffer_dispose):
	  Don't leak GCond in audio sources.

2006-01-10 11:49:28 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  gst/playback/gstplaybin.c: Don't leak an autoaudiosink/alsasink when we generate a new audio element. (old code, I gu...
	  Original commit message from CVS:
	  * gst/playback/gstplaybin.c: (gen_audio_element):
	  Don't leak an autoaudiosink/alsasink when we generate
	  a new audio element. (old code, I guess)

2006-01-10 11:04:21 +0000  Michael Smith <msmith@xiph.org>

	  gst/audiorate/gstaudiorate.c: Support float audio in audiorate.
	  Original commit message from CVS:
	  * gst/audiorate/gstaudiorate.c: (gst_audio_rate_setcaps):
	  Support float audio in audiorate.
	  Use width rather than depth for selecting sample width.

2006-01-10 10:06:53 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/videotestsrc.h: Use GLib types here (that way we don't have to include the generated _stdint.h heade...
	  Original commit message from CVS:
	  * gst/videotestsrc/videotestsrc.h:
	  Use GLib types here (that way we don't have to include the
	  generated _stdint.h header, which makes life easier for win32
	  folks that don't use autotools for the build) (#325990, patch
	  by: Sergey Scobich).

2006-01-10 09:38:44 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstringbuffer.*: Name (private) union, makes Forte compiler happy (this time for real) (#324900).
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
	  (gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
	  (gst_ring_buffer_pause), (wait_segment):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Name (private) union, makes Forte compiler happy (this time
	  for real) (#324900).

2006-01-09 10:52:33 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/Makefile.am: Link against libgstinterfaces, needed for mixer and property probe stuff.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  Link against libgstinterfaces, needed for mixer
	  and property probe stuff.

2006-01-09 10:46:52 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/Makefile.am:
	  Original commit message from CVS:
	  * gst-libs/gst/Makefile.am:

2006-01-09 09:38:34 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/: Add gst_audio_default_registry_mixer_filter() utility function.
	  Original commit message from CVS:
	  * gst-libs/gst/audio/Makefile.am:
	  * gst-libs/gst/audio/mixerutils.c:
	  (gst_audio_mixer_filter_do_filter),
	  (gst_audio_mixer_filter_check_element),
	  (gst_audio_mixer_filter_probe_feature),
	  (element_factory_rank_compare_func),
	  (gst_audio_default_registry_mixer_filter):
	  * gst-libs/gst/audio/mixerutils.h:
	  Add gst_audio_default_registry_mixer_filter() utility
	  function.

2006-01-03 17:33:16 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioresample/resample.h: As before, but for o_buf
	  Original commit message from CVS:
	  * gst/audioresample/resample.h:
	  As before, but for o_buf

2006-01-03 17:27:13 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioresample/resample.h: Declare struct _ResampleState.buffer as unsigned char *, not void *, since we do arithm...
	  Original commit message from CVS:
	  * gst/audioresample/resample.h:
	  Declare struct _ResampleState.buffer as unsigned char *, not void *,
	  since we do arithmetic on it.

2006-01-02 23:37:38 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/audio/gstringbuffer.*: Sun's Forte compiler doesn't seem to like anonymous structs, so use same setup as...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_init),
	  (gst_ring_buffer_set_flushing), (gst_ring_buffer_start),
	  (gst_ring_buffer_pause), (wait_segment):
	  * gst-libs/gst/audio/gstringbuffer.h:
	  Sun's Forte compiler doesn't seem to like anonymous structs,
	  so use same setup as in GstBaseSrc (fixes #324900).

2005-12-30 14:54:06 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  move old example to tests/examples/volume/volune.c
	  Original commit message from CVS:
	  * configure.ac:
	  * gst/volume/Makefile.am:
	  * gst/volume/demo.c:
	  move old example to tests/examples/volume/volune.c
	  * tests/examples/Makefile.am:
	  * tests/examples/seek/seek.c: (main):
	  change window-close event from "delete-event" to "destroy"
	  * tests/examples/volume/Makefile.am:
	  * tests/examples/volume/volume.c: (value_changed_callback),
	  (setup_gui), (message_received), (eos_message_received), (main):
	  fix event handling and bus usage

2005-12-29 20:37:23 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audiotestsrc/gstaudiotestsrc.*: update to basesrc changes, implement segmented seeking and eos handling, add a 's...
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audiostestsrc_wave_get_type), (gst_audio_test_src_class_init),
	  (gst_audio_test_src_init), (gst_audio_test_src_src_fixate),
	  (gst_audio_test_src_query), (gst_audio_test_src_create_sine),
	  (gst_audio_test_src_create_square),
	  (gst_audio_test_src_create_saw),
	  (gst_audio_test_src_create_triangle),
	  (gst_audio_test_src_create_silence),
	  (gst_audio_test_src_create_white_noise),
	  (gst_audio_test_src_create_pink_noise),
	  (gst_audio_test_src_init_sine_table),
	  (gst_audio_test_src_create_sine_table),
	  (gst_audio_test_src_change_wave),
	  (gst_audio_test_src_change_volume), (gst_audio_test_src_do_seek),
	  (gst_audio_test_src_create), (gst_audio_test_src_set_property):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  update to basesrc changes, implement segmented seeking and eos handling,
	  add a 'sine-tab' waveform for performance critical playback

2005-12-29 16:17:55 +0000  Tim-Philipp Müller <tim@centricular.net>

	  po/POTFILES.in: ... and this time the other modified file that I missed last time.
	  Original commit message from CVS:
	  * po/POTFILES.in:
	  ... and this time the other modified file that I missed last time.

2005-12-29 14:31:49 +0000  Michael Smith <msmith@xiph.org>

	  gst/playback/gstdecodebin.c: Fix non-C89 variable declaration not at the start of a block. Should help some compilers.
	  Original commit message from CVS:
	  * gst/playback/gstdecodebin.c: (new_pad):
	  Fix non-C89 variable declaration not at the start of a block. Should
	  help some compilers.

2005-12-29 12:43:22 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: And now fix 'make distcheck' (builddir != srcdir)
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  And now fix 'make distcheck' (builddir != srcdir)

2005-12-29 12:22:24 +0000  Tim-Philipp Müller <tim@centricular.net>

	  New cdparanoiasrc element based on cddabasesrc; enable cdparanoia plugin again (there are still fixes required to pla...
	  Original commit message from CVS:
	  * configure.ac:
	  * ext/cdparanoia/Makefile.am:
	  * ext/cdparanoia/gstcdparanoia.c:
	  * ext/cdparanoia/gstcdparanoia.h:
	  * ext/cdparanoia/gstcdparanoiasrc.c:
	  (gst_cd_paranoia_mode_get_type), (gst_cd_paranoia_src_base_init),
	  (gst_cd_paranoia_src_init), (gst_cd_paranoia_src_class_init),
	  (gst_cd_paranoia_src_open), (gst_cd_paranoia_src_close),
	  (gst_cd_paranoia_paranoia_callback),
	  (gst_cd_paranoia_src_read_sector), (gst_cd_paranoia_src_finalize),
	  (gst_cd_paranoia_src_set_property),
	  (gst_cd_paranoia_src_get_property), (plugin_init):
	  * ext/cdparanoia/gstcdparanoiasrc.h:
	  New cdparanoiasrc element based on cddabasesrc; enable cdparanoia
	  plugin again (there are still fixes required to playbin to make
	  cdda:// uris work there).

2005-12-29 12:13:57 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/Makefile.am: Fix test case compilation.
	  Original commit message from CVS:
	  * tests/check/Makefile.am:
	  Fix test case compilation.

2005-12-29 11:49:11 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst-libs/gst/cdda/gstcddabasesrc.c: An integer is not a string. Fix access to uninitialised variable.
	  Original commit message from CVS:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_update_duration),
	  (gst_cdda_base_src_calculate_cddb_id):
	  An integer is not a string. Fix access to uninitialised variable.
	  * tests/check/Makefile.am:
	  Add cddabasesrc unit test; also actually enable the vorbis test.
	  * tests/check/generic/states.c:
	  Blacklist new cd audio elements as well.
	  * tests/check/libs/cddabasesrc.c:
	  Unit test for GstCddaBaseSrc (discid calculation mostly).

2005-12-28 18:19:25 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/libs/: Add docs for libgstcdda/GstCddaBaseSrc.
	  Original commit message from CVS:
	  * docs/libs/Makefile.am:
	  * docs/libs/gst-plugins-base-libs-docs.sgml:
	  * docs/libs/gst-plugins-base-libs-sections.txt:
	  * docs/libs/gst-plugins-base-libs.types:
	  Add docs for libgstcdda/GstCddaBaseSrc.
	  * gst-libs/gst/interfaces/mixertrack.h:
	  Do one struct member per line with a semicolon at the end, that way
	  even gtk-doc might parse it without complaining.

2005-12-28 18:06:50 +0000  Tim-Philipp Müller <tim@centricular.net>

	  Add new libgstcdda with GstCddaBaseSrc class.
	  Original commit message from CVS:
	  * configure.ac:
	  * gst-libs/gst/Makefile.am:
	  * gst-libs/gst/cdda/Makefile.am:
	  * gst-libs/gst/cdda/base64.c:
	  * gst-libs/gst/cdda/base64.h:
	  * gst-libs/gst/cdda/gstcddabasesrc.c:
	  (gst_cdda_base_src_mode_get_type), (gst_cdda_base_src_base_init),
	  (gst_cdda_base_src_class_init), (gst_cdda_base_src_init),
	  (gst_cdda_base_src_finalize), (gst_cdda_base_src_set_property),
	  (gst_cdda_base_src_get_property),
	  (gst_cdda_base_src_get_track_from_sector),
	  (gst_cdda_base_src_get_query_types), (gst_cdda_base_src_convert),
	  (gst_cdda_base_src_query), (gst_cdda_base_src_is_seekable),
	  (gst_cdda_base_src_do_seek), (gst_cdda_base_src_handle_track_seek),
	  (gst_cdda_base_src_handle_event), (gst_cdda_base_src_uri_get_type),
	  (gst_cdda_base_src_uri_get_protocols),
	  (gst_cdda_base_src_uri_get_uri), (gst_cdda_base_src_uri_set_uri),
	  (gst_cdda_base_src_uri_handler_init),
	  (gst_cdda_base_src_setup_interfaces),
	  (gst_cdda_base_src_add_track), (gst_cdda_base_src_update_duration),
	  (cddb_sum), (gst_cddabasesrc_calculate_musicbrainz_discid),
	  (lba_to_msf), (gst_cdda_base_src_calculate_cddb_id),
	  (gst_cdda_base_src_add_tags),
	  (gst_cdda_base_src_add_index_associations),
	  (gst_cdda_base_src_set_index), (gst_cdda_base_src_get_index),
	  (gst_cdda_base_src_track_sort_func), (gst_cdda_base_src_start),
	  (gst_cdda_base_src_clear_tracks), (gst_cdda_base_src_stop),
	  (gst_cdda_base_src_create):
	  * gst-libs/gst/cdda/gstcddabasesrc.h:
	  * gst-libs/gst/cdda/sha1.c:
	  * gst-libs/gst/cdda/sha1.h:
	  Add new libgstcdda with GstCddaBaseSrc class.

2005-12-28 14:59:41 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/gstgnomevfssink.h: Use GstBaseSinkClass as parent_class member for class struct, not
	  Original commit message from CVS:
	  * ext/gnomevfs/gstgnomevfssink.h:
	  Use GstBaseSinkClass as parent_class member for class struct, not
	  GstBaseSink.

2005-12-27 22:29:43 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/videotestsrc/gstvideotestsrc.c: Add start method to reset running time and number of frames sent
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_class_init), (gst_video_test_src_start):
	  Add start method to reset running time and number of frames sent
	  when starting up (fixes #324696; patch by: Michal Benes).

2005-12-27 21:58:28 +0000  Tim-Philipp Müller <tim@centricular.net>

	  docs/plugins/: Add docs stuff for gnomevfssrc and gnomevfssink.
	  Original commit message from CVS:
	  * docs/plugins/Makefile.am:
	  * docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  * docs/plugins/gst-plugins-base-plugins-sections.txt:
	  * docs/plugins/gst-plugins-base-plugins.args:
	  * docs/plugins/gst-plugins-base-plugins.hierarchy:
	  * docs/plugins/gst-plugins-base-plugins.signals:
	  Add docs stuff for gnomevfssrc and gnomevfssink.
	  * ext/gnomevfs/gstgnomevfssrc.c:
	  Fix example pipeline in gtk-doc blurb.

2005-12-27 21:42:23 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/gnomevfs/: Port gnomevfssink; add gtk-doc blurb.
	  Original commit message from CVS:
	  * ext/gnomevfs/Makefile.am:
	  * ext/gnomevfs/gstgnomevfs.c: (gst_gnome_vfs_uri_get_type),
	  (gst_gnome_vfs_handle_copy), (gst_gnome_vfs_handle_free),
	  (gst_gnome_vfs_handle_get_type), (plugin_init):
	  * ext/gnomevfs/gstgnomevfs.h:
	  * ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_do_init),
	  (gst_gnome_vfs_sink_base_init), (gst_gnome_vfs_sink_class_init),
	  (gst_gnome_vfs_sink_finalize), (gst_gnome_vfs_sink_init),
	  (gst_gnome_vfs_sink_set_property),
	  (gst_gnome_vfs_sink_get_property), (gst_gnome_vfs_sink_open_file),
	  (gst_gnome_vfs_sink_close_file), (gst_gnome_vfs_sink_start),
	  (gst_gnome_vfs_sink_stop), (gst_gnome_vfs_sink_handle_event),
	  (gst_gnome_vfs_sink_query), (gst_gnome_vfs_sink_render),
	  (gst_gnome_vfs_sink_uri_get_type),
	  (gst_gnome_vfs_sink_uri_get_protocols),
	  (gst_gnome_vfs_sink_uri_get_uri), (gst_gnome_vfs_sink_uri_set_uri),
	  (gst_gnome_vfs_sink_uri_handler_init):
	  * ext/gnomevfs/gstgnomevfssink.h:
	  Port gnomevfssink; add gtk-doc blurb.
	  * ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_get_type),
	  (gst_gnome_vfs_src_base_init), (gst_gnome_vfs_src_class_init),
	  (gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize),
	  (gst_gnome_vfs_src_uri_get_type),
	  (gst_gnome_vfs_src_uri_get_protocols),
	  (gst_gnome_vfs_src_uri_get_uri), (gst_gnome_vfs_src_uri_set_uri),
	  (gst_gnome_vfs_src_uri_handler_init),
	  (gst_gnome_vfs_src_set_property), (gst_gnome_vfs_src_get_property),
	  (gst_gnome_vfs_src_unicodify), (audiocast_thread_run),
	  (gst_gnome_vfs_src_send_additional_headers_callback),
	  (gst_gnome_vfs_src_received_headers_callback),
	  (gst_gnome_vfs_src_push_callbacks),
	  (gst_gnome_vfs_src_pop_callbacks),
	  (gst_gnome_vfs_src_get_icy_metadata), (gst_gnome_vfs_src_create),
	  (gst_gnome_vfs_src_is_seekable), (gst_gnome_vfs_src_get_size),
	  (gst_gnome_vfs_src_start), (gst_gnome_vfs_src_stop):
	  * ext/gnomevfs/gstgnomevfssrc.h:
	  s/gst_gnomevfssrc/gst_gnome_vfs_src/; move header stuff to header
	  file; add gtk-doc blurb with example pipelines.

2005-12-23 18:16:22 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* configure.ac:
	  back to HEAD
	  Original commit message from CVS:
	  back to HEAD

=== release 0.10.1 ===

2005-12-23 18:08:39 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/libs/tmpl/gstcolorbalance.sgml:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  releasing 0.10.1
	  Original commit message from CVS:
	  releasing 0.10.1

2005-12-21 20:59:52 +0000  Edgard Lima <edgard.lima@indt.org.br>

	* ChangeLog:
	* gst/typefind/gsttypefindfunctions.c:
	  iLBC30 and iLBC20 added to typefind.
	  Original commit message from CVS:
	  iLBC30 and iLBC20 added to typefind.

2005-12-20 15:57:06 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* configure.ac:
	* docs/libs/tmpl/gstcolorbalance.sgml:
	* 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:
	  prereleasing
	  Original commit message from CVS:
	  prereleasing

2005-12-20 12:24:29 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	  stop making fun of older compilers
	  Original commit message from CVS:
	  stop making fun of older compilers

2005-12-20 12:00:26 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  gst-libs/gst/audio/: update strings, values are in microseconds change the default sink buffer time to something that...
	  Original commit message from CVS:
	  * gst-libs/gst/audio/gstbaseaudiosink.c:
	  (gst_base_audio_sink_class_init):
	  * gst-libs/gst/audio/gstbaseaudiosrc.c:
	  (gst_base_audio_src_class_init):
	  update strings, values are in microseconds
	  change the default sink buffer time to something that is smaller
	  (to help software volume mixing have a slightly lower delay) but
	  still be acceptable on Wim's laptop

2005-12-20 10:13:05 +0000  Edward Hervey <bilboed@bilboed.com>

	  gst-libs/gst/riff/riff-media.c: Made a quack, forgot to add DUCK to the riff video template.
	  Original commit message from CVS:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_template_caps):
	  Made a quack, forgot to add DUCK to the riff video template.

2005-12-19 15:00:38 +0000  Edward Hervey <bilboed@bilboed.com>

	  ext/ogg/gstogmparse.c: Make sure pads are initialized correctly.
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_text_parse_base_init),
	  (gst_ogm_parse_init), (gst_ogm_audio_parse_init),
	  (gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
	  (gst_ogm_parse_chain):
	  Make sure pads are initialized correctly.
	  * gst-libs/gst/riff/riff-ids.h:
	  * gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
	  (gst_riff_create_video_template_caps):
	  Add a whole bunch of FOURCC <=> MimeType.
	  Extend the riff video pad template to support the newly added fourcc.

2005-12-18 15:04:21 +0000  Jan Schmidt <thaytan@mad.scientist.com>

	  ext/ogg/gstoggdemux.c: Extra debug output when activating/deactivating chains.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_demux_deactivate_current_chain),
	  (gst_ogg_demux_activate_chain):
	  Extra debug output when activating/deactivating chains.
	  * gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
	  (is_demuxer_element), (try_to_link_1), (remove_element_chain),
	  (unlinked):
	  Remove a queue from our list when it becomes unlinked.
	  Don't add queues to elements in class 'Demux' if they
	  can only produce one pad

2005-12-18 10:54:33 +0000  Julien Moutte <julien@moutte.net>

	  gst-libs/gst/video/gstvideosink.c: Add a debug category.
	  Original commit message from CVS:
	  2005-12-18  Julien MOUTTE  <julien@moutte.net>
	  * gst-libs/gst/video/gstvideosink.c: (gst_video_sink_base_init),
	  (gst_video_sink_get_type): Add a debug category.

2005-12-18 00:56:07 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: Handle downstream newsegment by sending our own newsegment before the next bu...
	  Original commit message from CVS:
	  2005-12-17  Philippe Khalaf  <burger@speedy.org>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_init), (gst_base_rtp_depayload_handle_sink_event):
	  Handle downstream newsegment by sending our own newsegment before the
	  next buffer to be released. (#323900)

2005-12-18 00:41:10 +0000  Philippe Kalaf <philippe.kalaf@collabora.co.uk>

	  gst-libs/gst/rtp/gstbasertpdepayload.c: add queue delay to new segment as well (as opposed to just the first buffer)....
	  Original commit message from CVS:
	  2005-12-17  Philippe Khalaf  <burger@speedy.org>
	  * gst-libs/gst/rtp/gstbasertpdepayload.c:
	  (gst_base_rtp_depayload_set_gst_timestamp):
	  add queue delay to new segment as well (as opposed to just the first
	  buffer). (bug #322347)

2005-12-16 22:00:07 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  ext/libvisual/visual.c: change some char* into char[]
	  Original commit message from CVS:
	  * ext/libvisual/visual.c: (make_valid_name):
	  change some char* into char[]
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_class_init), (gst_audio_test_src_do_seek),
	  (gst_audio_test_src_create):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  prepare to handle EOS and SEGMENT_DONE

2005-12-16 12:32:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  tests/check/generic/states.c: Blacklist cdparanoia element in state test.
	  Original commit message from CVS:
	  * tests/check/generic/states.c: (GST_START_TEST):
	  Blacklist cdparanoia element in state test.

2005-12-16 11:25:51 +0000  Benjamin Pineau <ben.pineau@gmail.com>

	  gst/tcp/: Add <string.h> includes for memset and FD_ZERO (fixes #323878;
	  Original commit message from CVS:
	  * gst/tcp/gsttcp.c:
	  * gst/tcp/gsttcpclientsink.c:
	  * gst/tcp/gsttcpserversink.c:
	  * gst/tcp/gsttcpserversrc.c:
	  Add <string.h> includes for memset and FD_ZERO (fixes #323878;
	  patch by: Benjamin Pineau).

2005-12-15 14:43:38 +0000  Michael Smith <msmith@xiph.org>

	  gst/videorate/gstvideorate.c: Fix timestamping for videorate when the first buffer it sees has a non-zero timestamp. ...
	  Original commit message from CVS:
	  * gst/videorate/gstvideorate.c: (gst_video_rate_blank_data),
	  (gst_video_rate_chain):
	  Fix timestamping for videorate when the first buffer it sees has a
	  non-zero timestamp. Fix some misleading debug output.

2005-12-15 10:30:14 +0000  Michael Smith <msmith@xiph.org>

	  gst/audioresample/gstaudioresample.c: Don't leak all input buffers to audioresample.
	  Original commit message from CVS:
	  * gst/audioresample/gstaudioresample.c:
	  Don't leak all input buffers to audioresample.

2005-12-15 10:15:10 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/pango/gsttextoverlay.c: Don't operate on empty text buffers. Strip newlines and tabs only from the end of the tex...
	  Original commit message from CVS:
	  * ext/pango/gsttextoverlay.c: (gst_text_overlay_collected):
	  Don't operate on empty text buffers. Strip newlines and
	  tabs only from the end of the text, but leave them intact
	  in the middle. Fix typo in gtk-doc description.

2005-12-15 09:48:19 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Make sure the video frame buffer we return to apps via the "frame" property always has caps set on it....
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c:
	  * gst/playback/gstplaybin.c: (handoff):
	  Make sure the video frame buffer we return to apps via the
	  "frame" property always has caps set on it. Modify
	  _gst_gvalue_set_object() macro to handle NULL objects
	  gracefully too.

2005-12-14 20:42:11 +0000  Stefan Kost <ensonic@users.sourceforge.net>

	  gst/audiotestsrc/gstaudiotestsrc.*: Adjust to some recent api changes and add wtays new cool seeking capabillities
	  Original commit message from CVS:
	  * gst/audiotestsrc/gstaudiotestsrc.c:
	  (gst_audio_test_src_class_init), (gst_audio_test_src_init),
	  (gst_audio_test_src_setcaps), (gst_audio_test_src_src_query),
	  (gst_audio_test_src_do_seek), (gst_audio_test_src_is_seekable),
	  (gst_audio_test_src_create):
	  * gst/audiotestsrc/gstaudiotestsrc.h:
	  Adjust to some recent api changes and add wtays new cool seeking
	  capabillities

2005-12-14 17:58:48 +0000  Tim-Philipp Müller <tim@centricular.net>

	  ext/alsa/: Helper functions to add device probing via the GstPropertyProbe interface to a class.
	  Original commit message from CVS:
	  * ext/alsa/Makefile.am:
	  * ext/alsa/gstalsadeviceprobe.c:
	  * ext/alsa/gstalsadeviceprobe.h:
	  Helper functions to add device probing via the GstPropertyProbe
	  interface to a class.
	  * ext/alsa/gstalsamixer.h:
	  Comment out GST_ALSA_MIXER, it returns a struct that's not
	  used.
	  * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open):
	  Add some debug info.
	  * ext/alsa/gstalsamixerelement.c:
	  (gst_alsa_mixer_element_interface_supported),
	  (gst_implements_interface_init),
	  (gst_alsa_mixer_element_init_interfaces),
	  (gst_alsa_mixer_element_class_init),
	  (gst_alsa_mixer_element_finalize), (gst_alsa_mixer_element_init),
	  (gst_alsa_mixer_element_set_property),
	  (gst_alsa_mixer_element_get_property),
	  (gst_alsa_mixer_element_change_state):
	  * ext/alsa/gstalsamixerelement.h:
	  Add 'device' and 'device-name' properties. Add GstPropertyProbe
	  for device handling (gnome-volume-control will need that).

2005-12-12 20:31:24 +0000  Christian Schaller <uraeus@gnome.org>

	* ChangeLog:
	* ext/Makefile.am:
	* gst-plugins-base.spec.in:
	  updates to activate cdparanoia plugin
	  Original commit message from CVS:
	  updates to activate cdparanoia plugin

2005-12-12 19:13:09 +0000  Michael Smith <msmith@xiph.org>

	  ext/ogg/gstoggdemux.c: Use the correct function to free list of typefind factories.
	  Original commit message from CVS:
	  * ext/ogg/gstoggdemux.c: (gst_ogg_type_find):
	  Use the correct function to free list of typefind factories.

2005-12-12 15:09:55 +0000  Wim Taymans <wim.taymans@gmail.com>

	  gst/videotestsrc/gstvideotestsrc.*: Implement seeking in videotestsrc.
	  Original commit message from CVS:
	  * gst/videotestsrc/gstvideotestsrc.c:
	  (gst_video_test_src_class_init), (gst_video_test_src_init),
	  (gst_video_test_src_parse_caps), (gst_video_test_src_query),
	  (gst_video_test_src_do_seek), (gst_video_test_src_is_seekable),
	  (gst_video_test_src_create):
	  * gst/videotestsrc/gstvideotestsrc.h:
	  Implement seeking in videotestsrc.
	  Small cleanups.

2005-12-12 15:06:46 +0000  Wim Taymans <wim.taymans@gmail.com>

	  ext/cdparanoia/: Partially ported cdparanoia now that basesrc can support a plugin like this..
	  Original commit message from CVS:
	  * ext/cdparanoia/Makefile.am:
	  * ext/cdparanoia/gstcdparanoia.c: (gst_paranoia_mode_get_type),
	  (gst_paranoia_endian_get_type), (_do_init),
	  (cdparanoia_class_init), (cdparanoia_init),
	  (cdparanoia_set_property), (cdparanoia_get_property),
	  (cdparanoia_do_seek), (cdparanoia_is_seekable),
	  (cdparanoia_create), (cdparanoia_start), (cdparanoia_stop),
	  (cdparanoia_convert), (cdparanoia_get_query_types),
	  (cdparanoia_query), (cdparanoia_set_index),
	  (cdparanoia_uri_set_uri):
	  * ext/cdparanoia/gstcdparanoia.h:
	  Partially ported cdparanoia now that basesrc can support a
	  plugin like this..

2005-12-12 13:03:50 +0000  Wim Taymans <wim.taymans@gmail.com>

	  tests/examples/seek/scrubby.c: Set higher priority for bus events so they don't get reordered with gtk gui events.
	  Original commit message from CVS:
	  * tests/examples/seek/scrubby.c: (main):
	  Set higher priority for bus events so they don't get reordered with
	  gtk gui events.
	  * tests/examples/seek/seek.c: (do_seek), (start_seek), (stop_seek),
	  (flush_toggle_cb), (main):
	  Added checkbox do disable flushing seeks.
	  Disable scrubbing when doing non flushing seeks.

2005-12-12 09:52:37 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/subparse/gstsubparse.c: Implement some sort of event handling that doesn't rely on g_return_if_fail; make sure we...
	  Original commit message from CVS:
	  * gst/subparse/gstsubparse.c: (gst_sub_parse_init),
	  (gst_sub_parse_do_seek), (gst_sub_parse_src_event), (parse_subrip),
	  (parser_state_init), (handle_buffer), (gst_sub_parse_chain),
	  (gst_sub_parse_sink_event), (gst_sub_parse_change_state):
	  Implement some sort of event handling that doesn't rely on
	  g_return_if_fail; make sure we always push the last chunk of an
	  .srt out when we receive an EOS; use gst_pad_alloc_buffer; fix
	  state change function; remove some old cruft. Seeking is still
	  rather unlikely to work though.
	  * tools/.cvsignore:
	  Ignore more.

2005-12-11 22:26:08 +0000  Julien Moutte <julien@moutte.net>

	  sys/xvimage/xvimagesink.c: Fixed a leak of the current image reference when cleaning up.
	  Original commit message from CVS:
	  2005-12-11  Julien MOUTTE  <julien@moutte.net>
	  * sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
	  Fixed a leak of the current image reference when cleaning up.
	  Thanks to Arwed von Merkatz (alley_cat) for pointing it out.

2005-12-09 10:23:42 +0000  Michael Smith <msmith@xiph.org>

	  tools/: Remove gst-launch-ext. It doesn't work, and is no longer particularly useful.
	  Original commit message from CVS:
	  * tools/Makefile.am:
	  * tools/gst-launch-ext-m.m:
	  Remove gst-launch-ext. It doesn't work, and is no longer
	  particularly useful.

2005-12-08 18:53:57 +0000  Luca Ognibene <luogni@tin.it>

	  ext/ogg/gstogmparse.c: don't pass random values to ogmparse convert function.
	  Original commit message from CVS:
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_sink_query):
	  don't pass random values to ogmparse convert function.
	  Make seeking possible in the exile1.ogm file.

2005-12-07 18:51:35 +0000  Tim-Philipp Müller <tim@centricular.net>

	  gst/playback/: Work around refcount problem with g_value_set_object() that occur if the core has been compiled agains...
	  Original commit message from CVS:
	  * gst/playback/gstplaybasebin.c: (gst_play_base_bin_get_property):
	  * gst/playback/gstplaybin.c: (gst_play_bin_get_property):
	  Work around refcount problem with g_value_set_object() that occur
	  if the core has been compiled against GLib-2.6 (g_value_set_object()
	  will only g_object_ref() the element, but the caller will
	  gst_object_unref() it and bad things will happen due to the way
	  GstObjects are refcounted in the GLib-2.6 case). Fixes problems with
	  totem for people on FC4 using Thomas's 0.10 RPMs.

2005-12-07 11:34:37 +0000  Edward Hervey <bilboed@bilboed.com>

	  Time to welcome ogm to 0.10 :)
	  Original commit message from CVS:
	  Time to welcome ogm to 0.10 :)
	  * ext/ogg/gstoggdemux.c: (internal_element_pad_added_cb),
	  (gst_ogg_pad_typefind):
	  Oggdemux can now properly typefind elements with dynamic pads.
	  * ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
	  Properly set caps on src pad, and set caps on outgoing buffers.

2005-12-06 19:42:02 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* ext/alsa/gstalsamixer.h:
	* ext/alsa/gstalsamixerelement.h:
	* ext/alsa/gstalsamixeroptions.h:
	* ext/alsa/gstalsamixertrack.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasink.h:
	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	* ext/cdparanoia/gstcdparanoia.h:
	* ext/gnomevfs/gstgnomevfsuri.h:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/pango/gsttextoverlay.h:
	* ext/theora/theoradec.c:
	* ext/theora/theoraenc.c:
	* ext/vorbis/vorbisdec.h:
	* ext/vorbis/vorbisenc.c:
	* ext/vorbis/vorbisenc.h:
	* ext/vorbis/vorbisparse.h:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/audio/gstbaseaudiosink.c:
	* gst-libs/gst/audio/gstbaseaudiosink.h:
	* gst-libs/gst/audio/gstbaseaudiosrc.c:
	* gst-libs/gst/audio/gstbaseaudiosrc.h:
	* gst-libs/gst/audio/gstringbuffer.h:
	* gst-libs/gst/audio/multichannel.h:
	* gst-libs/gst/floatcast/floatcast.h:
	* gst-libs/gst/interfaces/colorbalance.c:
	* gst-libs/gst/interfaces/colorbalance.h:
	* gst-libs/gst/interfaces/colorbalancechannel.h:
	* gst-libs/gst/interfaces/mixer.h:
	* gst-libs/gst/interfaces/mixeroptions.h:
	* gst-libs/gst/interfaces/mixertrack.h:
	* gst-libs/gst/interfaces/navigation.h:
	* gst-libs/gst/interfaces/propertyprobe.h:
	* gst-libs/gst/interfaces/tuner.h:
	* gst-libs/gst/interfaces/tunerchannel.h:
	* gst-libs/gst/interfaces/tunernorm.h:
	* gst-libs/gst/interfaces/xoverlay.h:
	* gst-libs/gst/netbuffer/gstnetbuffer.h:
	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.h:
	* gst-libs/gst/riff/riff-read.h:
	* gst-libs/gst/rtp/gstbasertpdepayload.h:
	* gst-libs/gst/rtp/gstbasertppayload.c:
	* gst-libs/gst/rtp/gstbasertppayload.h:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/tag/gsttageditingprivate.h:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/video/video.h:
	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/buffer.h:
	* gst/audioresample/functable.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.h:
	* gst/ffmpegcolorspace/avcodec.h:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
	* gst/ffmpegcolorspace/gstffmpegcodecmap.h:
	* gst/ffmpegcolorspace/imgconvert.c:
	* gst/ffmpegcolorspace/imgconvert_template.h:
	* gst/playback/gstdecodebin.c:
	* gst/playback/gstplaybasebin.h:
	* gst/playback/gstplaybin.c:
	* gst/playback/gststreaminfo.h:
	* gst/tcp/gstfdset.c:
	* gst/tcp/gstfdset.h:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpclientsrc.h:
	* gst/tcp/gsttcpplugin.h:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/typefind/gsttypefindfunctions.c:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.h:
	* sys/v4l/gstv4lcolorbalance.h:
	* sys/v4l/gstv4ltuner.h:
	* sys/v4l/gstv4lxoverlay.h:
	* sys/v4l/v4l_calls.h:
	* sys/v4l/videodev_mjpeg.h:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/videotestsrc.c:
	* tests/check/elements/volume.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/seek/seek.c:
	  expand tabs
	  Original commit message from CVS:
	  expand tabs

2005-12-06 19:28:24 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* docs/libs/tmpl/gstaudio.sgml:
	* docs/libs/tmpl/gstcolorbalance.sgml:
	* docs/libs/tmpl/gstgconf.sgml:
	* docs/libs/tmpl/gstmixer.sgml:
	* docs/libs/tmpl/gstringbuffer.sgml:
	* docs/libs/tmpl/gsttuner.sgml:
	* docs/libs/tmpl/gstxoverlay.sgml:
	  put back stability level
	  Original commit message from CVS:
	  put back stability level

2005-12-05 18:11:49 +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:02:48 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/libs/tmpl/gstcolorbalance.sgml:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-decodebin.xml:
	* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
	* docs/plugins/inspect/plugin-gnomevfs.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playbin.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-video4linux.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  releasing 0.10.0
	  Original commit message from CVS:
	  releasing 0.10.0

2001-12-17 18:37:01 +0000  Thomas Vander Stichele <thomas@apestaart.org>

	  building up speed
	  Original commit message from CVS:
	  building up speed

