=== release 1.13.90 ===

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

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

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

	* 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-audiomixer.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-opengl.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:
	  Update docs

2018-03-02 15:21:25 +0100  Edward Hervey <edward@centricular.com>

	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag.pc.in:
	  pkgconfig: Add private zlib dependency for libgsttag
	  Fixes issues with static application builds (which might not know
	  they need to link with zlib when using a libgsttag that was compiled
	  with it).
	  https://bugzilla.gnome.org/show_bug.cgi?id=793989

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

	* meson.build:
	  meson: enable more warnings
	  https://bugzilla.gnome.org/show_bug.cgi?id=793960

2018-02-28 23:12:39 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Reset QoS time after pushing segment
	  This fixes playbin gapless playback. An ancient QoS time was used and
	  would lead to all frames being dropped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=668995

2018-03-01 00:34:06 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglstereomix.c:
	* gst-libs/gst/audio/gstaudioaggregator.c:
	  Port to latest GstAggregator segment API
	  The aggregator segment is now exposed on the src pad
	  https://bugzilla.gnome.org/show_bug.cgi?id=793944

2018-02-28 22:12:57 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	  audioaggregator: remove GstAudioAggregator->info
	  As we now require subclasses to use a subclass of
	  GstAudioAggregatorPad, we can reuse its info field
	  https://bugzilla.gnome.org/show_bug.cgi?id=793943

2018-03-01 12:43:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/tag.c:
	  tests: tags: add unit test for ID3 v2.4 extended headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=792983

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

	* gst-libs/gst/tag/id3v2.c:
	  id3v2: re-fix handling of v2.4 extended headers
	  The various id3v2 specs handle the extended header sizes differently
	  (because hey, it wouldn't be fun otherwise).
	  http://id3.org/id3v2.3.0 states:
	  "Where the 'Extended header size', currently 6 or 10 bytes, excludes
	  itself."
	  http://id3.org/id3v2.4.0-structure states:
	  Extended header size   4 * %0xxxxxxx
	  Number of flag bytes       $01
	  Extended Flags             $xx
	  Where the 'Extended header size' is the size of the whole extended
	  header, stored as a 32 bit synchsafe integer. An extended header can
	  thus never have a size of fewer than six bytes.
	  So in id3v2.4.0 it's the *whole* extended header size (a-la ISOBMFF
	  atom), whereas in id3v2.3.0 it's the extended header size *excluding*
	  those 4 initial bytes.
	  And for other versions, god knows..
	  Fixes regression introduced in commit da607005.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792983

2018-02-28 18:13:10 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	* tests/check/elements/audiomixer.c:
	  audioaggregator: refactor conversion API
	  For the rationale, see:
	  https://bugzilla.gnome.org/show_bug.cgi?id=793917
	  Also test audiomixer conversion of current output buffer

2018-02-27 23:34:03 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix a typo in a debug message

2018-02-27 18:28:16 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: Support non-2D texture targets
	  Allow for sub-classes to change pad templates to
	  support other texture targets, and bind input textures
	  accordingly.
	  When setting the caps, also store the texture target.
	  By default, glfilter only reports 2D texture targets
	  in the default caps, but sub-classes can change that
	  and it would be nice if they could easily find out
	  which texture targets were negotiated.
	  This adds 2 fields to the public struct, but since
	  it's unreleased -base API, it's not an ABI break.

2018-02-28 15:22:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.h:
	  audioaggregator: Document that the pad's audio info is read-only and needs the object lock
	  Also fix indentation in the header a bit.

2018-02-27 14:07:33 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* m4/gst-gl.m4:
	  m4: fix variable value access

2018-02-27 09:48:23 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideometa.c:
	  roi-meta: duplicate params when copying meta
	  When copying the meta the params list should be copy too into the
	  new meta.
	  https://bugzilla.gnome.org/show_bug.cgi?id=793883

2018-02-27 13:14:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Don't install GL GBM headers

2018-02-27 13:12:59 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* configure.ac:
	* gst-libs/gst/gl/Makefile.am:
	* m4/gst-gl.m4:
	  gl: Move DRM_CFLAGS into gst-gl.m4

2018-02-26 07:46:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Add missing gbm directory to dist dir
	  This fixes make distcheck

2018-02-25 14:16:44 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Add DRM cflags
	  This prevents cross compilation errors like:
	  usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory
	  These are caused because gstgldisplay_gbm.h includes xf86drm.h .
	  https://bugzilla.gnome.org/show_bug.cgi?id=793837

2018-02-26 11:55:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/pbutils.c:
	  pbutils: Fix compilation of last commit

2018-02-25 10:52:46 -0800  Thiago Santos <thiagossantos@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* gst-libs/gst/pbutils/pbutils.c:
	  pbutils: Move locale dir initialization to a separate function and do lazy initialization
	  It is the only thing gst_pb_utils_init()  does and it could be
	  automatically called from the places in pbutils it is needed.
	  After 1.14 we should deprecate gst_pb_utils_init().
	  https://bugzilla.gnome.org/show_bug.cgi?id=793611

2018-02-23 16:39:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/meson.build:
	  gl: Add meson support for GBM backend
	  https://bugzilla.gnome.org/show_bug.cgi?id=782923

2018-02-23 19:59:45 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* configure.ac:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/gbm/Makefile.am:
	* gst-libs/gst/gl/gbm/gstgl_gbm_utils.c:
	* gst-libs/gst/gl/gbm/gstgl_gbm_utils.h:
	* gst-libs/gst/gl/gbm/gstgldisplay_gbm.c:
	* gst-libs/gst/gl/gbm/gstgldisplay_gbm.h:
	* gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
	* gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* m4/gst-gl.m4:
	  gl: Add Mesa3D GBM backend
	  This makes it possible to use the GStreamer OpenGL elements without a
	  windowing system if a libdrm- and Mesa3D-supported GPU is present
	  https://bugzilla.gnome.org/show_bug.cgi?id=782923

2018-02-23 17:09:49 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* configure.ac:
	  configure: Add configure checks for libdrm and gudev
	  https://bugzilla.gnome.org/show_bug.cgi?id=782923

2018-02-23 19:36:42 +1100  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Correct PAR in output caps when transforming
	  When doing a 3D/multiview transformation and rescaling to
	  match the output window size, the resulting PAR may
	  not match the input any more and needs recalculating,
	  or else the GstSample reported to client-draw has the
	  wrong PAR.

2018-02-22 16:11:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	  roi-meta: Fix bad doc comment syntax

2018-02-09 14:45:08 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: add support for downstream parameters to ROI meta
	  The current GstVideoRegionOfInterestMeta API allows elements to detect
	  and name ROI but doesn't tell anything about how this information is
	  meant to be consumed by downstream elements.
	  Typically, encoders may want to tweak their encoding settings for a
	  given ROI to increase or decrease their quality.
	  Each encoder has its own set of settings so that's not something that
	  can be standardized.
	  This patch adds encoder-specific parameters to the meta which can be
	  used to configure the encoding of a specific ROI.
	  A typical use case would be: source ! roi-detector ! encoder
	  with a buffer probe on the encoder sink pad set by the application.
	  Thanks to the probe the application will be able to tell to the encoder
	  how this specific region should be encoded.
	  Users could also develop their specific roi detectors meant to be used with a
	  specific encoder and directly putting the encoder parameters when
	  detecting the ROI.
	  https://bugzilla.gnome.org/show_bug.cgi?id=793338

2017-11-17 02:05:33 +0100  Mikhail Fludkov <misha@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer.h: Add new RTPBuffer flags
	  These flags will be used for Forward Error Correction purposes
	  https://bugzilla.gnome.org/show_bug.cgi?id=792695

2018-02-20 11:52:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: fix multi-line string
	  https://bugzilla.gnome.org/show_bug.cgi?id=793629

2018-02-19 09:57:48 -0800  Thiago Santos <thiagossantos@gmail.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: add some missing gi annotations
	  For allow-none parameters

2018-02-19 17:50:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/videoscale.c:
	  tests: videoscale: simplify test and make it more robust
	  test_negotiation would occasionally time out, for unknown reasons.
	  Simplify the test setup and get rid of the main loop, busses, and
	  notify signals. With this I can no longer easily reproduce the
	  timeout. Fingers crossed.

2018-02-01 19:25:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: don't signal the GCond if no one is waiting on it
	  Performance optimisation: Keep track whenever the streaming
	  thread or the application thread are waiting on the GCond for
	  more space or new data, and only signal on the GCond if someone
	  is actually waiting. Avoids unnecessary syscalls and thus
	  context switches.

2018-02-01 01:22:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: use GstQueueArray instead of GQueue for internal item queue
	  Performance optimisation.
	  Avoids alloc/free churn for the queue's list nodes.
	  Depends on new API in GstQueueArray in core.

2018-01-31 20:19:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: don't signal the GCond if no one is waiting on it
	  Performance optimisation: Keep track whenever the streaming
	  thread or the application thread are waiting on the GCond
	  for more space or new data, and only signal on the GCond if
	  someone is actually waiting. Avoids unnecessary syscalls and
	  thus context switches.

2018-01-31 20:11:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: use GstQueueArray instead of GQueue for internal item queue
	  Performance optimisation.
	  Avoids alloc/free churn for the queue's list nodes.

2018-01-31 20:07:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/benchmark-appsink.c:
	* tests/icles/benchmark-appsrc.c:
	  icles: add appsink and appsrc benchmarks
	  These are very much artificial of course, but got to
	  measure something. appsink one contains lots of buffer
	  creation/free overhead, while appsrc one does not.

2018-02-18 11:38:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* m4/gst-gl.m4:
	  m4: gmodule-no-export-2.0 is needed for everything using the g_module_*() API
	  While it is pulled in via the GLib check, GLIB_LIBS is not pulled into
	  any of the places using the API.

2018-02-17 18:34:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/Makefile.am:
	  gl: Link to libgstallocators for the dmabuf allocator

2018-02-15 11:21:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	  gl/wayland: Memory leak when display couldn't connect
	  When trying to create a wayland display, it may fail because there
	  is not actually display to connect. It this case NULL is returned
	  but the created instance is not freed.
	  This patch unrefs the failed display.
	  https://bugzilla.gnome.org/show_bug.cgi?id=793483

2018-02-15 21:08:08 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: fix declaration-after-statement

2018-02-15 20:00:42 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: add a convenience conversion method
	  This is useful from python bindings
	  https://bugzilla.gnome.org/show_bug.cgi?id=793492

2018-02-15 19:57:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/audio-converter.c:
	  gst_audio_converter_new: update annotations
	  https://bugzilla.gnome.org/show_bug.cgi?id=793492

2018-02-15 19:56:46 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  AudioConverter: register as boxed type
	  https://bugzilla.gnome.org/show_bug.cgi?id=793492

2018-02-15 19:54:34 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/audio-info.c:
	  audio-info: annotate gst_audio_info_set_format
	  https://bugzilla.gnome.org/show_bug.cgi?id=793492

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

	* 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-audiomixer.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-opengl.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:
	* meson.build:
	  Back to development

=== release 1.13.1 ===

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

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

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

	* 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-audiomixer.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-opengl.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:
	  docs: update plugin docs

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

	* configure.ac:
	  configure: fix build with --disable-external

2018-02-15 11:37:46 +0000  Tim-Philipp Müller <tim@centricular.com>

	* po/cs.po:
	* po/sv.po:
	* po/tr.po:
	  po: update translations

2018-02-15 07:14:20 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst/audiomixer/gstaudiomixerorc-dist.c:
	  Update disted backup ORC files

2018-02-15 01:14:52 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudiopack.orc:
	  gstaudiopack.orc: pack_u32be_swap: actually swap
	  Fixes:
	  gst-launch-1.0 audiotestsrc ! audio/x-raw, format=U32BE ! \
	  audioconvert ! autoaudiosink

2018-02-14 14:39:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  doc: Remove obsolete Since 0.10.X marks

2018-02-14 14:37:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  doc: Add per version newly added API indexes

2018-02-14 14:16:14 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.h:
	  doc: Fix since marker in dmabuf to match a stable release

2018-02-14 14:11:47 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/video/video-color.h:
	  doc: Remove extra . after Since marker

2018-02-14 14:10:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-format.h:
	  doc: Fix Since 1.X marker on new video formats

2018-02-14 14:07:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Include new GstVideoOverlay API

2018-02-14 10:21:49 +0000  Philippe Normand <philn@igalia.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix source-setup signal emission
	  Previous code would pass 0 as source element.

2018-02-14 00:22:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: error out when headers are missing
	  https://bugzilla.gnome.org/show_bug.cgi?id=791606

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

	* gst-libs/gst/audio/gstaudioaggregator.h:
	  audioaggregator: remove declaration for function that doesn't exist

2018-02-13 17:10:22 +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/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/audio/gstaudioaggregator.c:
	  docs: add GstAudioAggregator to docs

2018-02-13 16:43:44 +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/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-audiomixer.xml:
	  docs: add audiomixer + audiointerleave to plugin docs

2018-02-13 16:40:19 +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.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-rawparse.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	  docs: update plugin docs for recent changes

2018-02-13 16:38:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/meson.build:
	* gst/meson.build:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/meson.build:
	  audiomixer, audiointerleave: add to build
	  https://bugzilla.gnome.org/show_bug.cgi?id=791218

2018-02-13 16:09:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs.types:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst-libs/gst/audio/meson.build:
	  GstAudioAggregator: hook up to build
	  https://bugzilla.gnome.org/show_bug.cgi?id=791218

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

	  audioaggregator, audiomixer, audiointerleave: move from -bad to -base
	  https://bugzilla.gnome.org/show_bug.cgi?id=791218

2018-02-13 08:36:30 +0100  Edward Hervey <edward@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdec.h:
	  vorbisdec: Improve "new headers while initialized" handling
	  If new headers arrive after we are initialized, we need to make
	  sure that they are indeed valid.
	  A vorbis bitstream always begins with three header packets and must
	  be in order.
	  Also some streams have unframed (invalid?) headers that might
	  confuse and disrupt the decoding process.
	  Therefore if ever we see new headers, we accumulate them and once
	  we get a non-header packet we check them to make sure that:
	  * We have at least 3 headers
	  * They are the expected ones (identification, comments and setup)
	  * They are in order
	  * Any other "header" is ignored
	  If those conditions are met, we reset and reconfigure the decoder
	  https://bugzilla.gnome.org/show_bug.cgi?id=784530

2018-02-10 15:41:10 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Re-enable buffering message handling
	  Buffering messages are only sent for the active group (in case there
	  is more than one).
	  If the inactive group posts buffering messages we keep the last one
	  around and will post it once it becomes the playing one.

2018-01-19 18:40:53 +0100  François Laignel <fengalin@free.fr>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: high cpu usage after eos
	  After eos, decodebin3 enters a loop sending eos events which causes high cpu usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792693

2017-12-08 16:46:21 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Handle dual-output of STREAM_START/EOS
	  In order to flush out multiqueue, we send again a STREAM_START and
	  then a EOS event.
	  The problem was that was that we might end up pushing out on the
	  output of multiqueue (and therefore decodebin3) a series of:
	  * EOS / STREAM_START / EOS
	  Apart from the uglyness of such output, If decodebin3 is used with
	  elements such as concat on their output, they might potentially
	  block on that second STREAM_START.
	  In order to make sure we don't end up in that situation we send
	  a custom STREAM_START event when refreshing multiqueue (which we
	  drop on the output) and we don't special case EOS events on streams
	  on which we already got EOS.
	  At worst we now end up sending at most two EOS on the output of
	  multiqueue (and decodebin3).

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Implement gapless playback
	  Similar in vein to the playbin2 architecture except that uridecodebin3
	  are prerolled much earlier and all streams of the same type are
	  fed through a 'concat' element.
	  This keeps the philosphy of having all elements connected as soon
	  as possible.
	  The 'about-to-finish' signal is emitted whenever one of the uridecodebin
	  is about to finish, allowing the users to set the next uri/suburi.
	  The notion of a group being active has changed. It now means that the
	  uridecodebin3 has been activated, but doesn't mean it is the one
	  currently being outputted by the sinks (i.e. curr_group and next_group).
	  This is done via detecting GST_MESSAGE_STREAM_START emission by playsink
	  and figuring out which group is really playing.
	  When the current group changes, a new thread is started to deactivate
	  the previous one and optionnaly fire 'about-to-finish'.

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Use uridecodebin3 and link/reconfigure immediately
	  Apologies for the big commit, but it wasn't really possible to split it
	  in anything smaller.
	  * Switch to uridecodebin3 instead of managing urisourcebin and decodebin3
	  ourselves. No major architectural change with this.
	  * Reconfigure sinks/outputs when needed. This is possible thanks to the
	  various streams-related API. Instead of blocking new pads and waiting
	  for a (fake) no-more-pads to decide what to connect, we instead reconfigure
	  playsink and the combiners to whatever types are currently selected. All of
	  this is done in reconfigure_output().
	  New pads are immediately connected to (combiners and) sinks, allowing
	  immediate negotiation and usage.
	  * Since elements are always connected, the "cached-duration" feature is gone
	  and queries can reach the target elements.
	  * The auto-plugging related code is currently disabled entirely until
	  we get the new proper API.
	  * Store collections at the GstSourceGroup level and not globally
	  * And more comments a bit everywhere
	  NOTE: gapless is still not functional, but this opens the way to be able
	  to handle it in a streams-aware fashion (where several uridecodebin3 can
	  be active at the same time).

2017-11-09 10:53:24 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Add 'about-to-finish' signal
	  With push-based sources, urisourcebin will emit this signal when
	  the stream has been fully consumed.
	  This signal can be used to know when the source is done providing
	  data.

2017-11-09 10:45:37 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gsturidecodebin3.c:
	* gst/playback/meson.build:
	  playback: New uridecodebin3 element
	  In the same vein as old uridecodebin except that it also
	  accepts a suburi and uses urisourcebin and decodebin3 internally

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove wrong 'notify'
	  Those properties doesn't exist on playbin3, don't emit a notify for that

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove setting 'subtitle-encoding' on decodebin
	  That property doesn't exist

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Clarify documentation of combiner properties

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

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove unused define

2017-12-07 15:23:17 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Use GST_GROUP_ID_INVALID

2017-11-10 15:01:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Don't forward already-handling SELECT_STREAMS
	  Upstream might respond negatively to the event, whereas we actually
	  handled it.

2017-12-08 17:01:05 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Add new about-to-finish signal

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

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Remove unused definition

2017-10-04 17:42:45 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Don't take the lock when creating a new input
	  We only need to take the input lock when adding/removing
	  inputs from the list.

2017-09-25 15:24:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove unused variable
	  The lock is never used

2017-11-09 10:52:38 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Remove auto-plugging signals
	  They were never used and we need a better system

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

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Remove ASYNC behaviour
	  It is not needed in the new streams-aware world

2017-09-22 17:20:35 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Remove 'unknown-type' signal
	  It was never used and makes no sense in the new streams-based world

2017-09-22 17:13:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Disable autoplug-related code
	  The signals were never emitted from decodebin3. This needs
	  switching to a new signalling system

2017-09-22 17:09:43 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix "no-more-pads" handling
	  That signal is never emitted by decodebin3 and is handled differently

2017-09-22 17:04:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove duration caching
	  This is now handled directly via sinks and queries through pads

2017-10-04 17:41:16 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Remove async behaviour
	  There's no reason to do async changing

2018-02-02 13:02:14 +1100  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Always display with requested stereo display mode
	  Even if the input is monoscopic, the app might want to display
	  it in a different layout, to do side-by-side for VR for example,
	  so if the app changes the output-multiview-mode always use that.

2018-01-26 22:44:24 +1100  Jan Schmidt <jan@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	  tcp/multihandlesink: Handle the case of no caps
	  Pass data with no caps and no streamheaders without
	  throwing a bunch of criticals

2018-02-09 17:15:30 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsrcbin.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/glbin.c:
	* tests/check/meson.build:
	  gl*bin: fix transfer semantics for the create-element signal
	  We can either receive an element that is floating or not and need to
	  accomodate that in the signal return values.  Do so by removing the
	  floating flag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792597

2018-02-09 12:32:52 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownload: remove texture-target field from dmabuf/sysmem caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=792342

2018-02-08 17:17:51 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2018-02-08 16:57:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: g-i: expose platform-specific display API in bindings
	  https://bugzilla.gnome.org/show_bug.cgi?id=786391

2018-02-02 00:00:23 +0000  Sebastian Cote <sebas642@yahoo.ca>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: also add Content-Type to HTTP POST request when tunnelling
	  When the GstRTSPConnection class sends a RTSP over HTTP tunnelling
	  request, the HTTP Content-Type header is missing from the HTTP POST
	  request.
	  This isn't a problem with most servers, but there are servers that
	  rejects the request without there also being a Content-Type header.
	  RFC 1945:
	  Any HTTP/1.0 message containing an entity body should include a
	  Content-Type header field defining the media type of that body.
	  Apple Dispatch 28:
	  QuickTime Streaming uses the "application/x-rtsp-tunnelled" MIME
	  type in both the Content-Type and Accept headers. This reflects
	  the data type that is expected and delivered by the client and server.
	  https://bugzilla.gnome.org/show_bug.cgi?id=793110

2018-02-08 21:14:56 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  gl: remove more deprecated type aliases
	  Additions on top of
	  https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=32a17f313494cbadaf8ec4e337d742e8d7e1b67b
	  https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=c8b99139b1ef3f8891548b0f2607a135917c338e

2018-02-08 16:13:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	  gl/display/egl: Fix precondition in display_egl_get_from_native
	  We don't really want type=NONE as input and it was already impossible
	  for that to occur with the other condtions.
	  CID #1427144

2018-02-07 14:48:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-format.c:
	  video: Fix GRAY10_LE32 depth information

2018-02-07 18:40:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideoutils.h:
	  video: Change struct padding from void* to gpointer
	  gobject-introspection causes inconsistent type information for the
	  former and we use gpointer everywhere else.

2018-02-06 16:29:11 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/meson.build:
	  meson: Enable libs_video unit test
	  It does not timeout anymore, even though it's a very slow test. For the
	  context, this test runs routines for a fixes amount of time and prints
	  the throughput. Which means the test takes more time everytime a pixel
	  format is added. If that becomes a problem again, we should disable the
	  benchmarks by default.

2018-02-06 16:16:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: Fix 10LE32 formats packing function
	  The source offset (soff) was not incremented for each component and then
	  each group of 3 components were inverted. This was causing a staircase
	  effect combined with some noise.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789876

2018-02-06 16:13:07 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: remove deprecated type alias
	  Now for real without un-needed comments...

2018-02-06 16:08:47 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: remove deprecated type alias

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

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

2018-02-05 14:58:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglsl.h:
	  gl: some annotation fixes

2018-02-05 14:56:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  gl/build/meson: fix gl_api variable names

2017-02-22 10:48:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/sdp.c:
	  tests: sdp: relicense code snippet from GPLv3 to LGPLv2.1+
	  Relicense with approval from Jose and Miguel. Code snippet
	  was supposed to be LGPL from the beginning.
	  https://bugzilla.gnome.org/show_bug.cgi?id=697808#c14
	  https://bugzilla.gnome.org/show_bug.cgi?id=697808#c15

2018-01-17 15:24:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: fixup GL_RGB565 usage when performing texsubimage
	  An additional change for the texsubimage use case on top of
	  https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=c2b2c68beaddbea0ec4fe7b099507cc492f6dd7c
	  https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=ea6bed111bab9b394d787f7760c6a3b953630d3a
	  https://bugzilla.gnome.org/show_bug.cgi?id=783066
	  https://bugzilla.gnome.org/show_bug.cgi?id=792584

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

	* pkgconfig/Makefile.am:
	  pkgconfig: only install gstreamer-gl-1.0.pc if OpenGL support was built
	  https://bugzilla.gnome.org/show_bug.cgi?id=793039

2018-02-01 10:40:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Handle invalid-sized packets
	  On invalid packets there is the possibility we might end up wanting
	  to trim/offset more than what is available.
	  oss-fuzz issue #5866

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

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

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

	* gst-libs/gst/audio/meson.build:
	* meson.build:
	  meson: use built-in pic kwarg when building static helper libs
	  instead of passing -fPIC manually.

2018-01-29 12:57:56 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  glimagesink: Allow resetting render rectangle
	  As documented, passing -1 to x and/or y should reset the render
	  rectangle to the window/display size.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792798

2018-01-29 12:45:06 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Add render-rectangle property
	  This allow controlling the render rectangle from gst-launch-1.0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792798

2018-01-23 15:04:21 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  xvimagesink: Allow changing render-rectangle through property
	  This also enables setting the render rectangle before the window
	  is provided or created.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792798

2018-01-22 15:40:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/videooverlay.c:
	* gst-libs/gst/video/videooverlay.h:
	  video-overlay: Add helpers for render-rectangle property
	  This is a set of helper that makes it easy to enable the render
	  rectangle to be controllable through a property.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792798

2017-11-03 12:18:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.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 NV16_10LE32 support
	  This adds a 10 bit variant for NV16 packed into 32 bits little endian
	  words. The MSB 2 bits are padding. This format is used on Xilinx SoC and
	  identified with the FOURCC XV20.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789876

2017-11-03 12:11:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.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 GRAY10_LE32 support
	  This add a 10bit variant of gray scale packed into 32bits little endian
	  words. The MSB 2 bits are padding and should be ignored. This format is
	  used on Xilinx SoC and is identified with the FOURCC XV10.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789876

2017-11-01 17:26:31 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.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 NV12_10LE32 support
	  This adds a 10bit variant for NV12 which packs 3 10bit components
	  into little endian 32bit words. The MSB 2 bits are padding and should be
	  ignored. This format is used on Xilinx SoC and is identified with there
	  with the FOURCC XV15
	  https://bugzilla.gnome.org/show_bug.cgi?id=789876

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

	* gst/subparse/gstsubparse.c:
	  subparse: fix pushing out of last chunk if last line has no newline
	  With playbin the last subtitle chunk would not get displayed
	  if the last chunk was missing a newline at the end. This is
	  because streamsynchronizer will hold back the EOS event until
	  the audio and video streams are finished too, so subparse
	  would never forcefully push out the last chunk until the very
	  end when it is too late.
	  We get a STREAM_GROUP_DONE event from streamsynchronizer however,
	  so handle that like EOS and force out any remaining text then.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771853

2017-04-07 10:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/gst-plugins-base.supp:
	  gst-plugins-base.supp: add gl suppressions for one off init allocations
	  Add to valgrind suppressions file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781021

2018-01-23 09:01:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  Update for renamed aggregator pad API
	  https://bugzilla.gnome.org/show_bug.cgi?id=791204

2015-03-20 09:41:05 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  alsasrc: lock calls to snd_pcm_delay() with mutex as in alsasink
	  Alsasrc introduced delay_lock in commit 519f85a43e73efb8f3fb2c7be45226e
	  because alsa-lib is not thread safe for the same handle.
	  Alsasrc uses the same threading pattern, it should be locked too.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746015

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

	* gst-libs/gst/tag/id3v2.c:
	  tag: id3v2: don't leak stack pointer outside of block where it's valid
	  https://bugzilla.gnome.org/show_bug.cgi?id=788548

2018-01-19 18:50:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/audioconvert.c:
	  tests: audioconvert: fix up check for lost channel positions
	  The caps field is channel-mask these days, so that code path
	  was never active.

2017-06-05 14:08:33 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* tests/check/elements/audioconvert.c:
	  tests: audioconvert: Fix memory leak in failure path
	  Don't set a bad example by leaking things, even if calling
	  g_error() will make the process abort.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783418

2018-01-17 14:35:11 +0100  Edward Hervey <edward@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: Check for valid width/height
	  If width or height are zero ... there's no video :)

2017-10-31 15:04:47 +0530  Ashish Kumar <kr.ashish@samsung.com>

	* gst/playback/gstplaybackutils.c:
	  playback-utils: Fix caps leak on failure
	  https://bugzilla.gnome.org/show_bug.cgi?id=789358

2018-01-16 20:13:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/profile.c:
	* tests/check/libs/rtpbasepayload.c:
	  tests: fix build on Windows with MSVC

2018-01-16 19:22:16 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  meson: tests: fix build of tcp test on unix
	  Need to add gio-unix-2.0 dep to pipelines/tcp test otherwise it
	  won't find the gio/gunixfdmessage.h header which is not in the
	  same dir as the other gio headers. This issue was masked before
	  because we didn't include config.h so HAVE_GIO_UNIX_2_0
	  wasn't defined.

2018-01-16 19:21:53 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  meson: tests: skip allocators dmabuf test on non-Linux

2018-01-16 18:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/adder.c:
	* tests/check/elements/appsink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/audiotestsrc.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/libvisual.c:
	* tests/check/elements/multisocketsink.c:
	* tests/check/elements/opus.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/rawaudioparse.c:
	* tests/check/elements/rawvideoparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.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/libs/audiocdsrc.c:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/pbutils.c:
	* tests/check/libs/profile.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	* tests/check/libs/rtspconnection.c:
	* tests/check/libs/video.c:
	* tests/check/meson.build:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/gio.c:
	* tests/check/pipelines/streamsynchronizer.c:
	* tests/check/pipelines/tcp.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisdec.c:
	* tests/check/pipelines/vorbisenc.c:
	  tests: include config.h and don't include unix headers
	  In many cases the unistd.h includes weren't actually needed.
	  Don't build tests that need it on windows with MSVC
	  (multifdsink, multisocketsink, pipelines/tcp).
	  Preparation for making tests work on Windows with MSVC.

2018-01-16 13:59:08 +0000  Roland Peffer <gdevel@clixxun.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl: fix build on windows
	  https://bugzilla.gnome.org/show_bug.cgi?id=791772

2018-01-16 11:25:29 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: fix check whether both gles2 and opengl headers can be included
	  cc.compiles() doesn't support the prefix: kwarg currently, so it
	  never had any effect.
	  https://github.com/mesonbuild/meson/issues/2364
	  https://bugzilla.gnome.org/show_bug.cgi?id=787964

2017-01-23 14:30:20 +0000  Sam Thursfield <sam.thursfield@codethink.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Document the num-buffers property
	  It's not obvious from the existing docs that this option exists, nor
	  that it can be used to give a pipeline an exact length in video frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777647

2018-01-08 14:21:29 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback: don't use deprecated font button API
	  playback-test.c:2587:3: error: "gtk_font_button_get_font_name" is deprecated

2018-01-04 15:33:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	  gl/wayland: move roundtrip on show to window thread
	  This makes it thread safe and fixes a possible deadlock.
	  Keeping the roundtrip off the window thread will result in two different
	  threads call wl_display_dispatch_queue() for the same queue which
	  violates the assumption for _dispatch_queue()'s thread-safety
	  guarantees.
	  https://bugzilla.gnome.org/show_bug.cgi?id=788754
	  https://bugzilla.gnome.org/show_bug.cgi?id=792156
	  https://bugzilla.gnome.org/show_bug.cgi?id=758984

2018-01-03 15:31:04 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix mp3 typefinding with multiple different headers
	  (yes, this has never worked since it was introduced, don't worry)
	  If we want to actually detect layer/channels/samplerate changes,
	  it would be better to:
	  * not reset the various prev_* variables at every iteration.
	  * and actually store the values when they change
	  CID #206079
	  CID #206080
	  CID #206081

2018-01-03 23:11:54 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglheaders.c:
	  libs/glheaders: move object creation to the gl thread where necessary
	  Some GL platforms (EGL, WGL) require deactivating the OpenGL context in
	  one thread before it can be used in another thread which this test
	  currently violates and would e.g. result in EGL_BAD_ACCESS errors from
	  gst_gl_context_activate().
	  Fix by moving the object creation into the GL thread instead and not
	  requiring additional gst_gl_context_activate() calls.
	  https://bugzilla.gnome.org/show_bug.cgi?id=792158

2018-01-03 23:09:20 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglheaders.c:
	  tests/glheaders: use #if for platform selection
	  GST_GL_HAVE_* are always defined to 0 or 1 so an #ifdef will always
	  succeed which is not the intention here.

2017-12-22 23:11:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: re-enable -Wformat-nonliteral warning
	  We can pass string constants here to g_strdup_printf(),
	  so do so and re-enable the -Wformat-nonliteral warning
	  we had to disable when merging the opengl libs.

2018-01-03 09:15:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix missing printf arg for apple rectangular texture case
	  Found by -Wformat-nonliteral (to be re-enabled in a separate commit).

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

	* configure.ac:
	* m4/gst-gl.m4:
	  configure: Fix build without gl plugins
	  The AM_CONDITIONAL always need to be evaluated, regardless of
	  whether we are building with or without gl plugins (the actual
	  checks are only called in AG_GST_GL_PLUGIN_CHECKS).

2017-12-30 12:29:13 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl: cocoa: fix formatting for function definition
	  This is a follow-up of 5d35e1fa15744b48c406fffa98695478fc8c9969

2017-12-26 13:23:11 +0000  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl: cocoa: Implement set_render_rectangle
	  Resize the internal NSView according to the provided render rectangle.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791445

2017-12-26 15:35:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: don't link to system gstallocators
	  We already link to the in-tree gstallocators, no need
	  to link to it again here, which also ends up being the
	  system gstallocators lib.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791956

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

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

2017-12-22 22:28:20 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/meson.build:
	* tests/check/meson.build:
	  meson: gl: define HAVE_PNG etc. in config.h instead of c_args
	  So that the tests have access to them as well (gl-launch-lines.c)

2017-06-05 18:11:42 +0200  Miguel Paris <mparisparis@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/Makefile.am:
	* tests/check/libs/rtp.c:
	  rtp: fix gst_rtp_buffer_ext_timestamp taking into account backwards
	  If timestamp goes forwards more than allowed, we consider that the
	  timestamp belongs to the previous counting, so the extended timestamp
	  is unwrapped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783443

2017-12-21 19:32:03 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/meson.build:
	  tests: add missing comma

2017-12-21 19:28:00 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/meson.build:
	  tests: conditionally define the glimagesink test as well
	  Forgotten in previous commit

2017-12-21 19:24:20 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* tests/check/meson.build:
	  tests: fix build when not building gstgl
	  gstgl_dep is only defined when build_gstgl is true

2017-12-20 23:47:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/meson.build:
	  meson: docs: link gtk-doc scanner with gstgl

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

	* m4/gst-gl.m4:
	  gl: fix build if libjpeg is not available
	  If libjpeg is not available, leave HAVE_JPEG undefined in
	  config.h, instead of defining it to 0. Fixes mismatch between
	  autotools conditional and ifdefs in the code.

2017-12-20 15:02:30 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Don't leak pads
	  all audioaggregator subclasses were leaking the first sink pad :)

2017-07-22 20:32:20 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	* tests/check/elements/audiomixer.c:
	  audioaggregator: implement input conversion
	  https://bugzilla.gnome.org/show_bug.cgi?id=786344

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

	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* tests/check/pipelines/gl-launch-lines.c:
	  gl: fix up a few more #if HAVE_FOO
	  error: "HAVE_PNG" is not defined, evaluates to 0 [-Werror=undef]

2017-12-19 15:48:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* m4/gst-gl.m4:
	  autotools: gl: don't check for gstreamer-allocators via pkg-config
	  It's in -base too after all, so this doesn't make sense and is no
	  longer needed.

2017-12-19 12:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/allocators/meson.build:
	  allocators: fix meson build after physmem move from -bad

2017-12-12 08:31:47 +0100  Josep Torra <jtorra@oblong.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl: cocoa: fix a warning when building in MacOS 10.12
	  gstglwindow_cocoa.m:186:60: error: incompatible pointer types sending 'GstGLContextCocoa *'
	  (aka 'struct _GstGLContextCocoa *') to parameter of type 'GstGLContext *' (aka 'struct _GstGLContext *')

2017-12-08 14:46:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	  gl: display: demote error level at display creation error
	  https://bugzilla.gnome.org/show_bug.cgi?id=791391

2017-12-17 20:48:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* pkgconfig/meson.build:
	  meson: set info variables in gstreamer-gl .pc file

2017-12-17 15:21:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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-opengl.xml:
	  docs: plugins: add opengl plugin to docs

2017-12-17 15:18:49 +0000  Tim-Philipp Müller <tim@centricular.com>

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

2017-12-15 00:40:25 +0000  Tim-Philipp Müller <tim@centricular.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: add moved gl lib to documentation

2017-12-11 11:59:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/generic/states.c:
	* tests/check/libs/.gitignore:
	* tests/check/libs/gstglheaders.c:
	* tests/check/meson.build:
	* tests/check/pipelines/.gitignore:
	* tests/check/pipelines/gl-launch-lines.c:
	  gl: hook up tests
	  Also move over simple gl launch line test.

2017-12-10 20:02:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	* Makefile.am:
	* configure.ac:
	* ext/Makefile.am:
	* ext/gl/Makefile.am:
	* ext/gl/gstopengl.c:
	* ext/gl/meson.build:
	* ext/meson.build:
	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/meson.build:
	* m4/gst-gl.m4:
	* meson_options.txt:
	* pkgconfig/Makefile.am:
	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base.pc.in:
	* pkgconfig/meson.build:
	* po/POTFILES.in:
	* tests/check/Makefile.am:
	* tests/examples/Makefile.am:
	* tests/examples/gl/Makefile.am:
	* tests/examples/gl/clutter/Makefile.am:
	* tests/examples/gl/cocoa/Makefile.am:
	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	* tests/examples/gl/generic/recordgraphic/Makefile.am:
	* tests/examples/gl/gtk/3dvideo/Makefile.am:
	* tests/examples/gl/gtk/3dvideo/mviewwidget.h:
	* tests/examples/gl/gtk/Makefile.am:
	* tests/examples/gl/gtk/filternovideooverlay/Makefile.am:
	* tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
	* tests/examples/gl/gtk/fxtest/Makefile.am:
	* tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
	* tests/examples/gl/sdl/meson.build:
	* tests/examples/meson.build:
	  gl: hook up to build system
	  Tests and documentation will follow separately.
	  The mixer elements in the opengl plugin need to stay
	  in -bad for now since they use GstVideoAggregator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754094

2017-12-11 00:26:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	  gl: examples: fix c++ code for -Wreturn-aggregate
	  .. and use #ifdef instead of #if

2017-12-10 22:27:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstopengl.c:
	  gl: use #ifdef HAVE_* instead of #if HAVE_FOO

2017-12-09 20:16:48 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/meson.build:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/meson.build:
	* tests/examples/gl/gtk/3dvideo/mviewwidget.h:
	* tests/examples/gl/sdl/meson.build:
	  gl: remove GST_USE_UNSTABLE_API bits

2017-12-10 21:08:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/Makefile.am:
	  opus: remove unused build variable and define

2017-02-17 19:26:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/allocators.h:
	* gst-libs/gst/allocators/gstphysmemory.c:
	* gst-libs/gst/allocators/gstphysmemory.h:
	  allocators: move GstPhysMemoryAllocator abstraction from -bad to -base
	  This can be used in a generic way as common interface by all platforms
	  that, in one way or another, pass around physical memory addresses.
	  This is used by the gl lib and seems useful enough, so might just as
	  well move it next to the other allocators.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779067

2017-12-19 12:00:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	  Move OpenGL library and plugin from -bad
	  Merge branch 'opengl-move'
	  https://bugzilla.gnome.org/show_bug.cgi?id=754094

2017-12-10 14:59:54 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: Filter-out crop meta
	  To passthrough crop-meta, the converter would need to allocate and
	  convert buffers of the size of the originating buffer. This is currently
	  made difficult by GstBaseTransform since we cannot alter the caps passed
	  though the allocation query. We would also need to wait for the first
	  input buffer to be received in order to make the decision around that
	  size.
	  So the short and safe solution is just to stop pretending we can
	  passthrought that meta.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791412

2017-12-15 10:50:44 +0900  Dongil Park <dongil.park@lge.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Fix accessing invalid index in GstStream when received select-stream event
	  If select-stream event was send to playbin3 as missing any GstStream of ES type
	  (V or A or TEX) of collection then, playbin will access to invalid address of
	  GstStream due to invalid index limit. This caused SIGSEGV.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791638

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

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

2017-12-11 11:45:37 +0800  Jun Xie <jun.xie@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix inaccurate error message
	  It's about not being able to calculate the display size, not the display
	  ratio.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791463

2017-12-05 10:37:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownload: fix wrong enum
	  When compiling with clang, an enum conversion error is triggered
	  since GstVideoFrameFlags are not GstVideoFlags.
	  This patch sets GST_VIDEO_FRAME_FLAG_NONE to the added video meta.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791251

2017-12-02 19:28:30 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownload: Add missing ifdef for dmabuf and egl
	  This fixes the build for platforms that don't support one or the other.

2017-12-02 15:25:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: Prefer wayland over X11
	  As most Wayland compositors supports XWayland, X11 backend get
	  selected. This also realign better GStreamer decision to what
	  happens with GTK and other stack out there.

2017-12-02 15:25:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: Add missing GL API to the doc

2017-01-10 19:23:58 -0600  Matt Fischer <matt.fischer@garmin.com>

	* ext/gl/gstgldownloadelement.c:
	* ext/gl/gstgldownloadelement.h:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	  gldownload: Add dmabuf exporting
	  This patch adds code to gldownload to export the image as a
	  dmabuf if requested.  The element now exposes memory:DMABuf as
	  a cap feature, and if it is selected, the element exports the
	  texture to an EGL image and then a dmabuf. It also implements a
	  fallback to system memory download in case the exportation failed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776927

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

	* ext/gl/Makefile.am:
	* ext/gl/meson.build:
	  Remove GstAggregator from -bad, moved to core
	  https://bugzilla.gnome.org/show_bug.cgi?id=739010

2017-11-27 14:44:58 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
	  Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
	  context/display/window.

2017-11-27 14:44:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h:
	  Revert "gl: cocoa: sprinkle some GST_EXPORT"
	  This reverts commit 94d798c3337013bd902c0fd0a66f7f6842243eeb.
	  cocoac headers don't need to be public as all the functionality can be
	  provided by the base class

2017-11-26 22:36:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h:
	  gl: cocoa: sprinkle some GST_EXPORT
	  Undefined symbols for architecture x86_64:
	  "_gst_gl_context_cocoa_get_type", referenced from:
	  __create_layer in libgstopengl_la-caopengllayersink.o
	  Might need some more in other headers, but first need to
	  clarify what exactly should be exported, there are some
	  inconsistencies (installed header files vs. funcs in docs).

2017-11-24 17:06:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/examples/gl/sdl/sdlshare.c:
	  sdlshare: Destroy GL backend buffer before the GL Context
	  This was otherwise leading to a deadlock in the GL library.

2017-11-24 16:58:21 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/examples/gl/sdl/sdlshare2.c:
	  sdlshare2: Fix race conditions
	  The client-draw callback is running on the GL Thread, which will
	  be required to map the buffer. Map early, and pass the mapped
	  frame instead. On top of that, make sure to signal any pending
	  draw before trying to push EOS, as some pad locks might be taken.
	  This is the cost of using the same thread to control GStreamer and
	  to render GL.

2017-11-24 16:58:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/examples/gl/meson.build:
	* tests/examples/gl/sdl/meson.build:
	  meson: Build gl/sdl examples

2017-11-23 23:01:52 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
	  viv-fb: Don't destroy the native FB display
	  It causes crashes in applications because the result of
	  fbGetDisplay() might be in use elsewhere in the application
	  and Vivante doesn't seem to do any refcounting

2017-11-23 22:58:40 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	  Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"
	  This reverts commit 47fd4d391e775c11f529705bb0f457a9d25ba5e7.
	  This patch is incorrect. It doesn't actually compile, and causes a crash
	  because the viv-fb window implementation needs a native EGL handle
	  to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
	  an EGLDisplay now (and gets cast to the wrong type)

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

	* tests/examples/gl/gtk/3dvideo/main.cpp:
	  3dvideo example: Correct video overlay for HiDPI
	  Use the GTK scaling factor to scale the video allocation
	  so video displays correctly on hi-dpi screens

2017-11-23 11:15:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: remove outdated comment in build file

2017-11-06 21:07:51 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglvideomixer.c:
	  aggregator: Remove klass->sinkpads_type
	  This posed problems for the python bindings (and possibly others).
	  Instead, subclasses now use add_pad_template_with_gtype.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789986

2017-11-20 17:06:07 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  all: Fix left-shift undefined behaviour
	  Cast to the target type before shifting (or use macro if available)

2017-11-07 15:21:43 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglshader.c:
	* tests/check/libs/gstglslstage.c:
	  gl/tests: add some simple shader testing
	  Making sure that the default shaders compile and are usable

2017-11-07 12:39:58 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: guard stop in gl thread
	  So we don't result in a critical when we've never created the GL context:
	  gst_gl_context_thread_add: assertion 'GST_IS_GL_CONTEXT (context)' failed

2017-11-07 00:07:42 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: actually indicate start internally
	  Otherwise when we stop, the necessary stop functions will not be called
	  and things may be leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=788280

2017-11-06 23:19:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: free in the GL thread on stop
	  Calling GL functions not on the GL thread may crash in some GL
	  implementations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789665

2017-11-02 12:17:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglvideomixer.c:
	  gl: use new gst_element_foreach_sink_pad()
	  Instead of gst_aggregator_iterate_sinkpads() which will
	  soon be removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=785679

2017-10-28 21:34:08 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  gl/shader: allow setting non-square matrices as uniforms on gles platforms
	  It is possible with GLES3

2017-10-28 18:33:44 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglquery.c:
	* tests/check/libs/gstglquery.c:
	  gl/query: split tests and fix some corresponding issues in usage

2017-10-01 19:04:15 +0200  Jérôme Laheurte <jerome@jeromelaheurte.net>

	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  Use value instead of version macro when testing for mac OS version
	  https://bugzilla.gnome.org/show_bug.cgi?id=788404

2017-10-02 12:35:48 -0700  Cassandra Rommel <cassandra.rommel@gmail.com>

	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	  gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
	  This simplifies the code a lot without any functional changes apart from
	  not closing the display connection. Closing the display connection is
	  not safe to do as it is shared between all other code in the same
	  process and no reference counting or anything happens at the platform
	  layer.

2017-10-02 16:22:26 +0900  Justin Kim <justin.kim@collabora.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext_egl: Add gstglwindow header
	  Otherwise, compiler complains implicit function declaration warning.
	  https://bugzilla.gnome.org/show_bug.cgi?id=788413

2017-09-28 16:20:53 +0530  Ponnam Srinivas <p.srinivas@samsung.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Unmap video frame in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=788194

2017-09-25 17:20:58 +0530  Ponnam Srinivas <p.srinivas@samsung.com>

	* ext/gl/gstglmixer.c:
	  glmixer: Unmap video frame in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=788127

2017-09-20 20:00:03 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvidemixer: need reconfigure output gemotry after caps renegotiated

2017-09-21 11:59:22 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  Revert "glvideomixer: need update output geometry after src caps reconfigure"
	  This reverts commit d6e538dc5651fb03c85d7c7614bcf6c689f2db2f.

2017-09-18 15:42:00 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvideomixer: need update output geometry after src caps reconfigure
	  Need update output geometry when sink caps changed and use
	  gst_structure_set to update caps if structure is fixed
	  https://bugzilla.gnome.org/show_bug.cgi?id=787820

2017-09-11 16:00:24 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	  gl/viv-fb: transform screen coordinate to viewport coordinate
	  In y direction, screen coordinate are opposite to viewport coordinate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787394

2017-09-11 15:12:53 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	  gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
	  queue_resize viewport coordinate calculate is wrong and
	  force queue_resize when do _set_render_rectangle in case
	  user input pos changed
	  https://bugzilla.gnome.org/show_bug.cgi?id=787394

2017-09-11 16:11:19 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: expose should do redisplay all the time
	  when using internal window, window resize should work
	  when pause state, but expose only do redisplay when
	  window_id is valid. So expose should do redisplay all
	  the time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787394

2017-09-05 16:20:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  Request minimum buffer even if need_pool is FALSE
	  When tee is used, it will not request a pool, but still it wants to
	  know how many buffers are required.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730758

2017-09-05 16:14:02 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	  gl/wayland: call eglTerminate() before wl_display_disconnect()
	  Calling these two functions in the wrong order will result in
	  use-after-free inside wayland.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787293

2017-09-01 15:00:12 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gtkglsink: expose the created display and context correctly
	  1. Propagate the GstGLDisplay we create
	  2. Add the created GstGLContext to the propagated GstGLDisplay
	  Otherwise with multi-branch GL pipelines involving gtkglsink, things
	  will fall apart and errors will be genarated somewhere.

2017-08-30 15:18:58 +0100  Philippe Normand <philn@igalia.com>

	* tests/examples/gl/gtk/3dvideo/main.cpp:
	  examples/gl/gtk: build fix for the 3dvideo example on macOS

2017-08-30 15:16:39 +0100  Philippe Normand <philn@igalia.com>

	* tests/examples/gl/gtk/gstgtk.c:
	  examples/gl/gtk: fix overlay handling for macOS
	  The GTK+ window requires a NSView sub-view, not an NSWindow.

2017-08-28 12:56:34 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  gl: fix build for ios/win32/android after 2fd84a6c
	  Some missing GL includes.

2017-08-25 20:37:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/meson.build:
	  gl: install new glfuncs.h header

2017-08-24 01:18:40 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  gl/checks: fix build

2017-08-23 16:36:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  gl/meson: add build for the vivante fb backend

2017-08-23 16:32:57 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  gl/meson: detect valid configuration from enabled apis/platform/winsys

2017-08-23 16:23:07 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  gl/build: also check for the GL/gl.h header
	  In order to successfully build against a detected libGL library we also need headers

2017-08-17 13:46:04 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglutils.c:
	* ext/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils_private.h:
	* tests/check/libs/gstglmatrix.c:
	  glutils: fix matrix operations everywhere
	  - correct the matrix multiplication
	  - Use column-major matrices
	  - reverse order of matrix multiplications
	  https://bugzilla.gnome.org/show_bug.cgi?id=785980

2017-08-17 13:42:21 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: draw with GL_TRIANGLES
	  Drawing 5 vertices with GL_TRIANGLE_STRIP will draw an extra unneeded
	  triangle.

2017-08-22 16:16:24 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	  gl/cocoa: fix build after commit 2fd84a6c

2017-08-22 12:39:43 +0100  Julien Isorce <jisorce@oblong.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/gstgltransformation.h:
	  gl: fix broken build due to previous commit 2fd84a6c
	  Can reproduce after installing libgraphene-dev
	  Also fixes caopengllayersink.h to anticipate build error on osx.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784779

2017-07-07 16:15:12 +0100  Julien Isorce <jisorce@oblong.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstgloverlay.h:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstglutils.c:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglviewconvert.c:
	* ext/gl/gstglviewconvert.h:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglbasefilter.h:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstgldebug.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglfuncs.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	* gst-libs/gst/gl/gstglquery.c:
	* gst-libs/gst/gl/gstglquery.h:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	* gst-libs/gst/gl/gstglshaderstrings.h:
	* gst-libs/gst/gl/gstglsl_private.h:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglheaders.c:
	* tests/check/libs/gstglupload.c:
	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	  gl: do not include GL headers in public gstgl headers
	  Except for gst/gl/gstglfuncs.h
	  It is up to the client app to include these headers.
	  It is coherent with the fact that gstreamer-gl.pc does not
	  require any egl.pc/gles.pc. I.e. it is the responsability
	  of the app to search these headers within its build setup.
	  For example gstreamer-vaapi includes explicitly EGL/egl.h
	  and search for it in its configure.ac.
	  For example with this patch, if an app includes the headers
	  gst/gl/egl/gstglcontext_egl.h
	  gst/gl/egl/gstgldisplay_egl.h
	  gst/gl/egl/gstglmemoryegl.h
	  it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
	  Which is good because the app might want to use the gstgl api only
	  without the need to bother about gl headers.
	  Also added a test: cd tests/check && make libs/gstglheaders.check
	  https://bugzilla.gnome.org/show_bug.cgi?id=784779

2017-08-21 06:49:02 -0700  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	* ext/gl/gstgldownloadelement.h:
	  gldownload: Micro-optimisation. Don't check output caps on every buffer
	  The output caps will only change on a set_caps() call, so check if
	  they contain the SystemMemory feature then and save some
	  per-buffer CPU.

2017-08-14 12:12:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  gl: fix build
	  Include private headers for parent class debug categories.

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

	* gst-libs/gst/gl/gstglcontext_private.h:
	* gst-libs/gst/gl/gstglwindow_private.h:
	  gl: add missing new header files
	  https://bugzilla.gnome.org/show_bug.cgi?id=786170

2017-08-14 09:33:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl: make some debug categories private
	  They weren't supposed to be public.
	  https://bugzilla.gnome.org/show_bug.cgi?id=786170

2017-08-11 18:38:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/xcb_event_source.c:
	  gl: don't export symbols that are not supposed to be public
	  Make a bunch of symbols private that are currently leaked
	  accidentally because they have a gst_* prefix and are used
	  internally. We mark those we can't make static with
	  G_GNUC_INTERNAL so that they get hidden with the autotools
	  build as well (although we could just pass -fvisibility=hidden
	  there too).

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

	* gst-libs/gst/gl/gstglbasememory.h:
	  gl: sprinkle more GST_EXPORT

2017-08-10 09:09:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	  gl, wayland: mark more declared functions with GST_EXPORT

2017-08-01 10:21:51 +0100  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	  gl: return NULL mem if eglCreateImage failed
	  Found on rpi when gpu_mem is too low so there is not enough memory to
	  create the eglimage. But still gst_buffer_pool_acquire_buffer succeeded.
	  And it leads to a CRITICAL assert:
	  gst_egl_image_get_image: assertion 'GST_IS_EGL_IMAGE (image)' failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=785518

2017-07-28 16:58:38 +0100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	  gl: document missing GstGLShader functions

2017-07-28 11:00:12 +0100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglsl.h:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglwindow.h:
	  gl/docs: some documentation updates
	  Add some missing/incomplete docs

2017-07-26 19:04:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  gl/docs: correctly name our objects in the documentation GstGl -> GstGL

2017-07-26 19:03:15 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglformat.h:
	  gl/docs: document GstGLFormat enum

2017-07-21 08:43:45 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  gl: fix g-i annotations for glframebuffer
	  gstglframebuffer.c:176: Error: GstGL: annotations not supported for tag "Since:".

2017-07-20 17:49:59 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/meson.build:
	  meson: specify fallback for libgmodule_dep
	  Fixes build with glib built as a subproject.

2017-07-17 08:06:22 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Fix GLES2 check
	  On systems without pkg-config, we have the the library present but
	  not the headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=785010

2017-07-15 17:25:36 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow_cocoa: fix video overlay support
	  Make sure the window handle is configured after the NSWindow was created.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767462

2017-07-16 01:17:04 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: keep refs over async operations
	  Avoids dereferencing dead objects
	  What happens in the autovideosink case is that context 1 is created and
	  destroyed before all the async operations hae executed on the associated
	  window.  When the delayed operations execute, they then reference dead
	  objects and crash.
	  We fix this by keeping refs over all async operations so the object
	  cannot be deleted while async operations are in flight.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782379

2017-07-15 01:24:52 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window/x11: implement set_render_rectangle support
	  https://bugzilla.gnome.org/show_bug.cgi?id=782959

2017-07-07 16:33:42 +0100  Julien Isorce <jisorce@oblong.com>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	  pkgconfig: missing GL_CFLAGS in gstreamer-gl-uninstalled.pc.in
	  Already present in gstreamer-gl.pc.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=784779

2017-07-06 21:09:50 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglbumper.c:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: Remove hard-coded pad templates
	  Add a function to install the default RGBA pad templates,
	  but don't make them required so that there can be
	  GstGLFilter sub-classes with different input/output
	  caps if they want. Remove the hard-coded RGBA restriction in
	  the set_caps_features call, as it will be taken care
	  of by intersecting with the pad templates.
	  Update all the sub-classes to match

2017-07-07 14:41:17 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Don't throw assertions on invalid allocation query
	  basesrc can send an allocation query with no caps, in which
	  case we should just fail it without throwing assertions.

2016-03-09 22:01:12 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: add GST_CAPS_FEATURE_MEMORY_DMABUF
	  Insert before SystemMemory to advice upstream elements that it is
	  preferable for them to push dmabuf with the caps feature.
	  Examples:
	  /* Discard memory:DMABuf caps feature */
	  GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
	  filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
	  capsfilter caps="video/x-raw(memory:SystemMemory)" ! glimagesink
	  /* Force memory:DMABuf caps feature. */
	  GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
	  filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
	  capsfilter caps="video/x-raw(memory:DMABuf)" ! glimagesink
	  /* Auto select memory:DMABuf caps feature.  */
	  GST_GL_PLATFORM=egl GST_GL_API=gles2 GST_GL_WINDOW=x11 gst-launch-1.0 \
	  filesrc location=test.mp4 ! qtdemux ! h264parse ! vaapih264dec ! \
	  glimagesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=774649

2017-06-28 14:45:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl: reset gl->DrawBuffer to the necessary values
	  GL_COLOR_ATTACHMENT0 when a framebuffer is bound
	  GL_BACK if no framebuffer is bound
	  https://bugzilla.gnome.org/show_bug.cgi?id=784210

2017-06-28 12:17:37 +0900  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: reset the draw buffer to GL_BACK
	  The draw buffer should be reset to GL_BACK since the framebuffer is already
	  unbound.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784210

2017-06-22 10:34:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Re-add pkg-config support for bcm_host
	  Now we just fallback to find_library for Rasbian jessy and older.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784026

2017-06-21 11:18:43 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/gl/meson.build:
	  gl: meson: use cc.find_library() to detect 'bcm_host'
	  On the raspberry pi no pkg-config file is provided for the bcm_host
	  library. We are using AC_CHECK_LIB to detect this lib with autotools,
	  cc.find_library() library is a closer meson equivalent.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784026

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

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  gl/cocoa: Put gstglwindow_cocoa.h into noinst_HEADERS again
	  And remove gstgldisplay_cocoa.h instead, which got moved to the
	  installed headers earlier.

2017-06-12 22:29:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Fix DirectVIV uploader for formats with a single plane
	  We have to pass the "height" as height = vmeta->offset[1] / width to the
	  API, which of course does not work well for formats with only a single
	  plane. Use the whole memory size instead of the offset in that case.

2017-05-29 12:22:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/meson.build:
	  gl: Add dependency to gstallocators

2017-06-01 01:15:05 +0000  Jeremy Hiatt <jeremy@brilliant.tech>

	* gst-libs/gst/gl/gstglutils.c:
	  glutils: Fix GValue leak in gst_gl_value_set_texture_target_from_mask()

2017-05-25 13:06:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	  gl: Fix indentation

2017-05-25 13:05:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: #define GL_READ_FRAMEBUFFER / GL_DRAW_FRAMEBUFFER if not defined yet
	  Just like we do elsewhere already.

2017-05-25 11:05:47 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	  glformat: fix the usage of GST_GL_RGB565
	  GL_RGB565 is sized internal glformat, the corresponding glformat
	  should be GL_RGB and type is GL_UNSIGNED_SHORT_565. Otherwise will
	  return GL_INVALID_ENUM when creating texture.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783066

2017-05-25 10:09:04 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.c:
	  glframebuffer: check frame buffer status need use specific fbo target
	  https://bugzilla.gnome.org/show_bug.cgi?id=783065

2017-05-22 13:46:36 +0200  Anders Jonsson <anders.jonsson@norsjovallen.se>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: Fix typo (occured->occurred)
	  https://bugzilla.gnome.org/show_bug.cgi?id=782947

2017-05-21 18:31:59 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	  glbasemixer: Remove unused negotiated member
	  This is now all handled in GstAggregator, so this code is not
	  called anymore.

2017-05-21 15:30:10 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglvideomixer.c:
	  gl*mixer: Use propose_allocation from the GstAggregator base class
	  https://bugzilla.gnome.org/show_bug.cgi?id=782918

2017-05-09 23:59:04 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  gl/viv-fb: Fix user-choice string comparisons
	  https://bugzilla.gnome.org/show_bug.cgi?id=782921

2017-05-20 17:35:43 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	* ext/gl/gstglmixer.c:
	  glbasemixer: Remove own decide_allocation, use GstAggregator's
	  https://bugzilla.gnome.org/show_bug.cgi?id=746529

2017-05-20 17:30:06 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglbasemixer.c:
	  glbasemixer: Use aggregator for allocation handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=746529

2017-05-20 17:25:16 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	* ext/gl/gstglmixer.c:
	  videoaggregator: Get the buffer from the pool if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=746529

2017-05-21 11:44:37 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl: x11: fix compiler warning

2017-05-21 12:03:01 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glcontext: add public swap_buffers function
	  That simply calls the implementation

2017-05-21 10:57:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/gl/generic/cube/cube.vcproj:
	* tests/examples/gl/generic/cubeyuv/cubeyuv.vcproj:
	* tests/examples/gl/generic/doublecube/doublecube.vcproj:
	* tests/examples/gl/generic/recordgraphic/recordgraphic.vcproj:
	* tests/examples/gl/gtk/3dvideo/3dvideo.vcproj:
	* tests/examples/gl/gtk/filternovideooverlay/filternovideooverlay.vcproj:
	* tests/examples/gl/gtk/filtervideooverlay/filtervideooverlay.vcproj:
	* tests/examples/gl/gtk/fxtest/fxtest.vcproj:
	* tests/examples/gl/gtk/pixbufdrop/pixbufdrop.vcproj:
	* tests/examples/gl/gtk/switchvideooverlay/switchvideooverlay.vcproj:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.vcproj:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.vcproj:
	* tests/examples/gl/qt/videooverlay/videooverlay.vcproj:
	* tests/examples/gl/sdl/sdlshare.vcproj:
	  examples: gl: remove ancient bitrotten .vcproj files

2017-05-20 14:24:57 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglvideomixer.c:
	  aggregator: add simple support for caps handling
	  Modelled off the videoaggregator caps handling as that seems the most
	  mature aggregtor-using implementation that has caps handling there is.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776931

2017-02-23 15:42:08 -0800  fvanzile <frank@fvanzile.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: keep a ref to the active thread
	  With the macOS/iOS implementations, the active thread can change
	  multiple times over the life of a pipeline which would expose a race in
	  the thread tracking.
	  Fix by taking a ref on the active thread while the context is active.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779202

2017-05-20 12:34:27 +0200  Josep Torra <jtorra@oblong.com>

	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  examples: fix macOS 9.12 deprecation warnings
	  Add #defines to allow older versions of macOS to use the new constant names.

2017-05-20 12:19:08 +0200  Josep Torra <jtorra@oblong.com>

	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	  cocoa: fix a recently introduced typo
	  Fixes gstgldisplay_cocoa.m:175:26: error: use of undeclared identifier 'singletone'.

2017-05-20 12:16:50 +0200  Josep Torra <jtorra@oblong.com>

	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  cocoa: fix macOS 10.12 deprecation warnings
	  Add #defines to allow older versions of macOS to use the new constant names.

2017-05-17 16:26:38 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/gstglformat.c:
	  glformat: Add missing GST_GL_RGB565 in some switch statement
	  https://bugzilla.gnome.org/show_bug.cgi?id=782736

2017-05-17 17:38:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  cocoa: Install gstgldisplay_cocoa.h
	  It's needed by e.g. qmlglsink.

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

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
	  https://bugzilla.gnome.org/show_bug.cgi?id=743062

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

	* ext/gl/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/eagl/Makefile.am:
	  Remove plugin specific static build option
	  Static and dynamic plugins now have the same interface. The standard
	  --enable-static/--enable-shared toggle are sufficient.

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

	* gst-libs/gst/gl/gstglshader.c:
	  glshader: Make reference counting of attach() consistent
	  https://bugzilla.gnome.org/show_bug.cgi?id=747990
	  https://bugzilla.gnome.org/show_bug.cgi?id=702960

2017-05-11 20:05:24 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/meson.build:
	  build/gl/meson: check for GLES3/gl3ext.h existence
	  791e7522ebcb75beb31fcace271dee1342d3505d for meson
	  https://bugzilla.gnome.org/show_bug.cgi?id=781885

2017-05-11 10:29:58 +0200  Jens Georg <mail@jensge.org>

	* gst-libs/gst/gl/gstglapi.h:
	  build: Check for GLES3/gl3ext.h existence
	  Some OpenGL drivers do not ship this but use GLES2/gl2ext.h instead.
	  This is also in line with Khronos's recommendations
	  https://bugzilla.gnome.org/show_bug.cgi?id=781885

2017-05-09 11:25:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Only use glDrawBuffer if available
	  Otherwise fall back to glDrawBuffers. Also check if glReadBuffer exists
	  before using it.
	  glDrawBuffer does not exist for GLES, only glDrawBuffers does.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782376

2017-05-07 11:47:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: fix whole example launch line actually

2017-05-07 11:41:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: remove extraneous \ from example launch line in docs

2017-05-02 13:24:30 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: passthrough composition caps features in directviv upload
	  https://bugzilla.gnome.org/show_bug.cgi?id=782046

2017-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/gl/gstglbumper.c:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideoflip.c:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglviewconvert.c:
	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglquery.c:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  docs: Port all docstring to gtk-doc markdown

2017-04-12 09:35:16 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/gl/gstglsl.h:
	  docs: Stop linking to inexistant symbols

2017-04-11 15:46:19 +0300  Claudio Saavedra <csaavedra@igalia.com>

	* gst-libs/gst/gl/meson.build:
	  meson: add missing gstglrenderbuffer.h header
	  https://bugzilla.gnome.org/show_bug.cgi?id=781179

2017-04-07 12:19:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/meson.build:
	  meson: gl: set default value of 0 for glconf vars
	  meson's configure_file emits only a comment like /* #undef ... */
	  for values which are unset in the configuration_data. For
	  gstglconfig.h, this differs from the autotools build where the
	  preprocessor definitions are always either 0 or 1. So loop over a
	  list of variables to set to zero as default.
	  Also sync up the gstglconfig.h.meson file with the additional
	  macros defined by the autotools build.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781043

2017-04-07 10:30:09 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext: fix display leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=781019

2017-04-07 10:24:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: fix list leak
	  Windows aren't always removed in time, and it turns out to be
	  very, very hard to remove a window in a way that's not racy and
	  not deadlocky. Since the window itself doesn't leak, freeing
	  the list on object destruction is enough.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781018

2017-04-08 21:28:58 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.h:
	  gl: Remove duplicate typedef of GstGLFramebufferClass
	  The GstGLFramebufferClass struct is typedeffed in
	  gstgl_fwd.h, and having a duplicate elsewhere is
	  breaking the cerbero build on my OSX machine,
	  even though it seems to be working in CI.

2017-04-01 16:49:15 +0200  Josep Torra <jtorra@oblong.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow/cocoa: fix warnings reported by XCode 8.1.0
	  gstglwindow_cocoa.m:345:16: error: unused variable 'window' [-Werror,-Wunused-variable]
	  GstGLWindow *window = GST_GL_WINDOW (window_cocoa);
	  ^
	  gstglwindow_cocoa.m:445:11: error: unused variable 'external_view' [-Werror,-Wunused-variable]
	  NSView *external_view = (__bridge NSView *)priv->external_view;
	  ^

2017-03-29 23:45:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	  gldisplay: Fix assert caused by missing debug category

2017-03-14 14:18:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/gl/gstglformat.c:
	  gl/format: correct return enums in gst_gl_format_from_video_info
	  In commit
	  > 956c4d0 gl/format: use our own GL format enum's instead of gstvideo's
	  the name and return type of gst_gl_format_from_video_info changed,
	  but some returns of the old type were missed. Here they are
	  updated to the correct type.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780064

2017-03-13 15:48:33 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: adjust memory offset calculation for dmabuf buffers
	  The data in the dmabuf fd may not start from byte 0, therefore
	  we need to inform EGL about this additional offset.
	  https://bugzilla.gnome.org/show_bug.cgi?id=779790

2017-03-14 14:15:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gltestsrc.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  gl: GL_ARRAY_BUFFER is not a part of VAO state
	  As a result we need to bind it on every draw in order to have the
	  correct state in the GL state machine.

2017-03-13 14:28:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglformat.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gl/format: use our own GL format enum's instead of gstvideo's
	  They can describe in more detail (such as component sizes) the requested format.

2017-03-10 16:57:51 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fix GValue leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=779869

2017-03-08 14:16:43 +0100  Nick Kallen <nickkallen@me.com>

	* ext/gl/Makefile.am:
	  applemedia/gl: Fix compile issues for OSX
	  https://bugzilla.gnome.org/show_bug.cgi?id=778333

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

	* gst-libs/gst/gl/eagl/Makefile.am:
	  gl/eagl: It's -fobjc-arc not -fobj-arc

2017-02-03 14:46:39 +0100  Nick Kallen <nickkallen@me.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/Makefile.am:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* tests/examples/gl/cocoa/Makefile.am:
	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  applemedia/gl: Update code to use ARC
	  All code interacting with Objective-C objects should now use Automated
	  Reference Counting rather than manual memory management or Garbage
	  Collection. Because ARC prohibits C-structs from containing
	  references to Objective-C objects, all such fields are now typed
	  'gpointer'. Setting and gettings Objective-C fields on such a
	  struct now uses explicit __bridge_* calls to tell ARC about
	  object lifetimes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777847

2017-03-06 17:51:32 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst-libs/gst/gl/gstglcontext.h:
	  gl: Missed one backwards compat define in GST_GL_TYPE_CONTEXT
	  Continued from 296b4251e3042fe95a9cce1ad7674b708ba92599

2017-03-04 11:47:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  gl: Fixup for last commit

2017-03-04 11:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  gl: Fix backwards compat GST_GL_TYPE_* functions/macros
	  These have to be macros instead of inline function as they must behave
	  more or less like an integer literal, i.e. include the function call.

2017-03-04 11:09:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
	  gl/viv-fb: Don't use deprecated symbols and make macros more consistent
	  https://bugzilla.gnome.org/show_bug.cgi?id=778825

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

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: Fix potential NULL pointer dereference if we fail without GError
	  Which can happen here if we just propagate an error that happened
	  elsewhere, e.g. FBO failed.
	  CID 1364604

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

	* ext/gl/gstglvideomixer.c:
	  glvideomixer/compositor: Correctly error out if calculating DAR fails
	  CID 1320700

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

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Check return value of gst_gl_context_check_framebuffer_status()
	  CID 1401588

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

	* gst-libs/gst/gl/Makefile.am:
	  gl: Add viv-fb to DIST_SUBDIRS to fix "make distcheck"

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

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglutils.c:
	* ext/gl/gstglutils.h:
	* ext/gl/gstglvideomixer.c:
	  gl: Rename gst_gl_get_affine_transformation_meta_as_ndc_ext() to prevent symbol conflict
	  The same symbol also exists in libgstgl, although marked as private and
	  internal. This has no effect when doing static linking and there's a
	  symbol conflict.

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

	* gst-libs/gst/gl/gstglutils_private.h:
	  glutils: Mark private functions as G_GNUC_INTERNAL

2017-02-22 14:55:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Add support for Vivante DirectTexture uploads
	  Together with the upcoming gstreamer-imx patch, this allows zerocopy
	  between imxvpudec and other elements and glimagesink.
	  This is losely based on a patch by Haihua Hu <b55597@freescale.com>
	  from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
	  https://bugzilla.gnome.org/show_bug.cgi?id=779067

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

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/viv-fb/Makefile.am:
	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.c:
	* gst-libs/gst/gl/viv-fb/gstgldisplay_viv_fb.h:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.h:
	  gl: Add support for Vivante EGL FB windowing system
	  This is very similar to how dispmanx on the Raspberry Pi works.
	  Based on a patch by Haihua Hu <b55597@freescale.com> from
	  https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad
	  https://bugzilla.gnome.org/show_bug.cgi?id=778825

2017-02-22 14:09:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/glprototypes/fbo.h:
	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Use glBlitFramebuffer() instead of glCopyTexImage2D() if available
	  glBlitFramebuffer() is new GLES3/GL3 API. They are probably often
	  implemented in terms of each other, and glBlitFramebuffer() can
	  potentially be implemented more flexible. Let's use it if available.
	  Also it actually works on imx6 with DirectVIV textures.
	  Based on a patch by Haihua Hu <jared.hu@nxp.com> from
	  https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/
	  https://bugzilla.gnome.org/show_bug.cgi?id=779070

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

	* gst-libs/gst/gl/meson.build:
	  configure: Remove unused Mali EGL/fbdev_window support
	  This existed a long time ago but there's no actual code for this
	  anymore.

2017-02-10 10:29:49 -0300  Juan Pablo Ugarte <juanpablougarte@gmail.com>

	* ext/gl/gstglsinkbin.c:
	  GstGLSinkBin: fixed sink property leak
	  No need to keep an extra reference to sink since an indirect one is added by gst_bin_add()
	  https://bugzilla.gnome.org/show_bug.cgi?id=778452

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

	* gst-libs/gst/gl/meson.build:
	  meson: Build GIR files

2017-01-18 15:03:48 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: ensure caps are writable after intersection
	  gst_caps_intersect () may return an increased reference of one of the
	  input caps.
	  Fixes critical in the simple-launch-lines test:
	  Unexpected critical/warning: gst_caps_set_features: assertion 'IS_WRITABLE (caps)' failed

2017-01-13 12:49:37 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* gst-libs/gst/gl/Makefile.am:
	  gl: update sys dependants for function removals
	  4315a4b54d9 forgot to change the androidmedia/videotoolbox/caopengllayer
	  sources as required.

2017-01-11 10:37:34 -0300  Juan Pablo Ugarte <ugarte@endlessm.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: define GL constants if needed instead of using #ifdef
	  https://bugzilla.gnome.org/show_bug.cgi?id=777144

2017-01-13 11:08:10 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglutils.c:
	  glutils: document functions

2017-01-13 11:06:39 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglutils.c:
	* ext/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglutils_private.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glutils: privatise matrix multiplication/videoaffinetransformation retrieval

2017-01-12 21:35:25 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglutils_private.h:
	  gl/utils: also take care of the local GL context in query functions
	  Simplifies a deduplicates a lot of code in elements retrieving/setting
	  the local OpenGL context.

2017-01-12 01:57:29 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glutils: remove trivial helper function
	  gst_gl_caps_replace_all_caps_features() is only used in two places and can
	  be trivially reproduced.

2017-01-11 16:09:31 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstegl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	  gl/docs: add symbols from -unused.txt

2017-01-11 16:09:03 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglformat.h:
	* gst-libs/gst/gl/gstglmemory.c:
	  gl/docs: some type fixes of type names

2017-01-10 20:07:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: use the same parameter names between vfuncs and functions of the same name
	  Silences GI warnings about symbol's not being used from source code
	  comment block

2017-01-10 20:06:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.h:
	  glbasememory: type fix for GstGLBaseMemoryAllocatorAllocFunction

2017-01-10 20:05:42 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: add missing transfer annotations

2017-01-10 20:04:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstglquery.c:
	  gl: add skip annotations to non-GI possible struct constructors

2017-01-10 20:03:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.h:
	  glbasememory: remove unused and #if 0'ed function definitions

2017-01-10 19:58:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	  gl: add necessary get_type() functions for allocation params structures
	  All using the existing GstGLAllocationParams infrastructure

2017-01-10 15:35:52 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gldisplay: some annotation updates/typo fixes

2017-01-10 14:29:46 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gl.h:
	  gl: remove reference to non-existant header
	  ../../../../gst-libs/gst/gl/gl.h:57:45: fatal error: gst/gl/gstglcontrolbindingproxy.h: No such file or directory
	  #include <gst/gl/gstglcontrolbindingproxy.h>
	  ^

2017-01-10 12:51:51 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/meson.build:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglcontrolbindingproxy.c:
	* gst-libs/gst/gl/gstglcontrolbindingproxy.h:
	* gst-libs/gst/gl/meson.build:
	  gl: remove custom control binding proxy
	  Use the existing GstProxyControlBinding instead.

2016-11-17 17:15:55 +1100  Matthew Waters <matthew@centricular.com>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  gl/pkg-config: add the configured platform/api/winsys
	  Allows users to query this from pkg-config instead of requiring them to
	  compile mini programs checking defines in gstglconfig.h

2016-11-18 01:06:51 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.h:
	  gl: remove unneeded gst_gl_buffer_alloc from header file
	  There's no implementation anymore!

2016-11-17 18:00:39 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	  gl/egl: remove use of texture orientation

2016-11-17 17:51:54 +1100  Matthew Waters <matthew@centricular.com>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  gl/pkg-config: don't advertise all our dependent libraries as deps
	  If an application/library explicitly needs a library, it needs to link
	  against it itself.

2017-01-10 01:00:12 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext/egl: don't overwrite set GError
	  Doing so is an error and will cause a glib warning to be printed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776722

2017-01-04 16:51:10 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	  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.
	  While doing so, fix some -uninstalled pc files which were using a
	  suspicious 'pcfiledir' which was never replaced or defined.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776810

2016-12-17 01:00:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglformat.c:
	  gl/format: use the unsized format for RGB on GLES2
	  In GLES2 GL_RGB8 doesn't exist so we cannot use it, use GL_RGB
	  instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776141

2016-12-16 00:22:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl/window: remove unused priv variable
	  https://ci.gstreamer.net/job/GStreamer-master/7989/console

2016-12-15 00:59:45 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl/window: remove use of main_context_push/pop_thread_default()
	  No-one's using/depending on it (it would have criticalled and not worked)
	  and it's causing more problems than it's solving.  Store the GMainContext
	  in the public struct instead for subclasses to optionally use instead of
	  relying on the push/pop state to be correct.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775970

2016-12-07 16:51:27 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstgleffects.c:
	  gl/effects: use non-PBO GLMemory for internal textures
	  middle textures in gleffects do not need to use GstGLMemoryPBO as they
	  aren't transfering data to/from the GPU. This will cost too much DMA
	  memory and cause performance issue. Change the allocator to use non-PBO
	  GstGLMemory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776072

2016-12-14 15:53:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Reject multiview video
	  glvideomixer does not support it currently and it needs special support
	  for handling this correctly, and is rather non-trivial to implement for
	  all formats.

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

	* ext/gl/gltestsrc.c:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gst: Don't declare variables inside the for loop header
	  This is a C99 feature.

2016-12-01 09:24:18 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gstglupload: relax EGL context check
	  Check for GST_GL_PLATFORM_EGL enum instead of type GstGLContextEGL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-30 09:22:17 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gstglcontext: is_shared should return FALSE if no group
	  If a sub class of GstGLContext does not create a group
	  then it currently crashes:
	  0 g_atomic_int_get (&share->refcount)
	  1 _context_share_group_is_shared (context->priv->sharegroup)
	  2 gst_gl_context_is_shared
	  3 _default_set_sync_gl
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-30 19:26:51 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  glmemoryegl: remove spurious #if GST_GL_HAVE_DMABUF conditions
	  8c2118823b3d42840cc6f48cbdc0e1b342f90b80 had some incorrect preprocessor
	  conditions that aren't actually needed.  Remove them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775248

2016-11-28 14:22:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: move g_main_context_push/pop_thread_default() to run()
	  Calling g_main_context_push_thread and then g_main_context_invoke()
	  (used by gst_gl_window_send_message_async()) in the same thread will
	  cause the invoked function to run immediately instead of being delayed.
	  This had implications for the creation of the OpenGL context not waiting
	  until the main loop had completely started up and as a result would
	  sometimes deadlock in short create/destroy scenarios.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775171

2016-11-28 14:19:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fix race between creation/shutdown
	  626bcccff96f624f59c5212b3e21e472240171fd removed some locks that
	  allowed the main loop quit to occur before the context was fully
	  created.
	  2776cef25d2a98668b73272aecfe77e684e6627e attempted to readd them but
	  missed the scop of the quit() call.
	  Also remove the use of g_thread_join() as that's not safe to use when
	  it's possible to lose the last reference from the GL thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775171

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

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: Remove unused static function

2016-11-22 18:06:52 +0100  Florent Thiéry <florent.thiery@ubicast.eu>

	* ext/gl/gstgldownloadelement.c:
	  gldownload: fix element description (was "OpenGL uploader")

2016-11-23 17:04:34 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  gl/contextglx: error out on more invalid display/window combinations
	  https://bugzilla.gnome.org/show_bug.cgi?id=774851

2016-11-23 15:57:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: add necessary context_egl.h #includes to the source files

2016-11-23 13:32:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	  gl/memoryegl: remove access to private header gstglcontext_egl.h
	  It's been removed and thus compiling anything against GstGLMemoryEGL
	  would error with:
	  In file included from gstomxvideodec.c:41:0:
	  usr/include/gstreamer-1.0/gst/gl/egl/gstglmemoryegl.h:32:41: fatal error: gst/gl/egl/gstglcontext_egl.h: No such file or directory
	  #include <gst/gl/egl/gstglcontext_egl.h>
	  ^
	  https://bugzilla.gnome.org/show_bug.cgi?id=774886

2016-11-17 15:41:00 +0000  David Evans <bbcrddave@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: add gstreamer-video to pkg-config path
	  https://bugzilla.gnome.org/show_bug.cgi?id=774624

2016-11-17 14:35:26 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/elements/glimagesink.c:
	  gl/tests: fix glimagesink element test on OSX
	  It was suffering a race starting up the thread that could cause the main
	  loop to quit before the main loop had started.

2016-11-17 14:32:10 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl/egl: add missing source file
	  d42145e8c1ba3bc0445506b92bb7ac04ae98f4dd didn't add the necessary
	  meson build changes.

2016-11-17 02:41:14 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	  gl/egl: remove EGLImage functions from egl context
	  By adding the necessary GstEGLImage entry points to create a GstEGLImage
	  from a GstGLMemory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-17 01:45:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glcontext: add vfunc to retrieve the OpenGL platform version
	  i.e. the version of EGL, GLX, etc implemented.
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-17 01:38:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/Makefile.am:
	* gst-libs/gst/gl/egl/gstegl.c:
	* gst-libs/gst/gl/egl/gstegl.h:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  gl/egl: move get_error_string() into gstegl
	  So others can use it without #include-ing a private header
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2014-11-27 15:50:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	  display/egl: implement getting the EGLDisplay of a specific platform
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-16 13:05:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  gl/egl: check the feature in the extensions list
	  https://bugzilla.gnome.org/show_bug.cgi?id=774518

2016-11-16 17:30:54 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  gl/tests: don't use the default framebuffer
	  Create our own instead as the default framebuffer may require special
	  fiddling (like having a visible window) to correctly display/be renderable.
	  Fixes the remaining GL library tests on OS X

2016-11-16 13:39:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  glcontext/cocoa: implement empty swap_buffers
	  Fixes some GL tests on OS X.

2016-11-16 16:41:59 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/BUGS:
	  gl: remove empty BUGS file
	  We use bugzilla for bug tracking

2016-11-16 00:01:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow/cocoa: remove unneeded window code in NSWindow
	  This is all taken care of by GstGLWindowCocoa/GstGLNSView now.

2016-11-15 22:56:25 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow/cocoa: remove our view from the parent when closing
	  Otherwise, when the application reuses the same UIView, we were getting
	  draw notifications on the previous view/layer's which weren't valid anymore
	  and were referencing pointers that had been freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753003

2016-11-15 21:43:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/caopengllayer: add a debug category

2016-11-15 14:36:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: introduce check for GLMemory allocators
	  The last missing piece of EGLImage support has been pushed.

2016-11-11 01:05:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  gl: x11-xcb is not a required dependency
	  Don't fail if it's not found..

2016-11-10 20:34:53 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglutils.c:
	* ext/gl/gstglutils.h:
	  gl/build: add missing build files
	  3f7b54988186de17ec4e5b5566074cfaa392819a was incomplete :(

2016-11-10 19:14:24 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/meson.build:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl/utils: move gen_shader() to the plugin and remove del_shader()
	  gst_gl_context_del_shader() can be replaced by a g_object_unref().
	  gst_gl_context_gen_shader() should be replaced by using GstGLSLStage.

2016-10-26 16:53:27 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: remove unused field in public struct

2016-10-26 16:30:43 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: remove is_running() function
	  It isn't necessary in correctly written programs.

2016-11-08 17:50:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson/gl: XCB changes also need x11-xcb as a dependency
	  https://ci.gstreamer.net/job/GStreamer-master-meson/380/console
	  [...]
	  gst-libs/gst/gl/x11/xcb_event_source.c:98: undefined reference to `xcb_get_file_descriptor'

2016-11-08 09:52:48 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/meson.build:
	  gl/x11: fix meson build
	  The x11_event_source.[ch] files were renamed in
	  4f6c226bd24ae3ef66bd8f4c17b001444c9b0bf1.

2016-11-08 15:04:29 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	  examples/gl/qt: fix the examples for the use of newer API
	  gstgl doesn't undo/overwrite what GL state the examples are changing
	  anymore.  As such, the examples need to reset the GL state themselves
	  to be able to play nice with libgstgl

2016-11-08 13:35:33 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	  glfiltershader: expand the docs slightly
	  Add an example OpenGL shader

2016-07-01 00:31:07 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: remove the navigation thread
	  This functionality can now effectively be implemented with the display event
	  thread.

2016-07-01 00:07:23 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/xcb_event_source.c:
	* gst-libs/gst/gl/x11/xcb_event_source.h:
	  gl/x11: use xcb instead of libX11
	  - xcb is supposedly thread-safe!
	  videotestsrc ! glimagesink now doesn't spuriously result in a
	  'call XInitThreads()' error however if anybody else is using X11,
	  then XInitThreads() still needs to be called and multiple glimagesink's
	  still need XInitThreads().
	  Everything still takes libX11 handles as they are compatible with the xcb
	  variants.  Unfortunately we cannot move fully over to xcb due to GLX being
	  entirely based on Xlib.  It's also impossible to transform a xcb_connection
	  to a Display which means we require X11 handles.

2016-06-30 23:12:33 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gldisplay: add a list of glwindow's
	  With the event thread on the display, for a particular winsys event
	  we need to be able to retreive the window that the event matches.

2016-06-30 23:04:16 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gldisplay: add a dedicated event thread
	  Will take the place of the navigation event thread for dealing with
	  winsys events.

2016-11-08 12:44:45 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl: don't expose OpenGL prototypes
	  We roll our own to avoid depending a certain OpenGL header version

2016-11-08 02:56:44 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  gl/cocoa: don't install the gstglcontext_cocoa.h header
	  It's not needed to be exposed

2016-11-08 02:52:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/Makefile.am:
	  gl/android: don't install the android window header
	  It's not needed

2016-11-08 02:50:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	  gl: add padding to all exposed winsys/platform-specific structs

2016-11-08 02:47:36 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/gl/wayland/Makefile.am:
	  gl/wayland: install the gstgldisplay_wayland.h header
	  As it is used by other OpenGL sinks (gtkglsink, qmlglsink)

2016-11-08 02:44:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/Makefile.am:
	* gst-libs/gst/gl/meson.build:
	  gl/egl: don't install the gstglcontext_egl.h header
	  It's not needed to be exposed and there are no users of the API.

2016-11-08 02:21:20 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: remove display_init/reset
	  They are mirrors of GstGLBaseFilter's gl_start() and gl_stop() virtual methods
	  so use them instead.

2016-11-03 18:19:58 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: Fix inverted precondition
	  A GError argument must either be null or point to a NULL GError.
	  https://developer.gnome.org/glib/stable/glib-Error-Reporting.html

2016-11-03 16:14:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  gl/gi: some annotation updates for called functions
	  With scope, closure, destroy annotations

2016-11-03 16:12:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl/gi: also include GstVideo
	  Removes all the unknown type GstVideo* warnings while building the GIR
	  file.

2016-10-27 16:19:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfeature_private.h:
	  glfeature: move internal functions into a private header
	  Don't expose them to the outside world

2016-10-05 12:19:12 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/sdl/sdlshare.c:
	* tests/examples/gl/sdl/sdlshare2.c:
	  gl: GST_GL_TYPE -> GST_TYPE_GL
	  Some deprecated symbols are kept for backwards compatibility

2016-11-03 12:03:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglsl.h:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglslstage.h:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	* gst-libs/gst/gl/gstglwindow.h:
	  gl/docs: massive update
	  - add Since: markers where necessary.
	  - document structs
	  - add documentation headers for each module (short_description,
	  see_also, etc)
	  - reduce the number of warnings gtk-doc outputs
	  - fix spelling mistakes

2016-11-02 21:21:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglquery.c:
	* gst-libs/gst/gl/gstglquery.h:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	  gl/docs: document new API added in 1.10
	  GstGLRenderbuffer
	  GstGLFramebuffer
	  GstGLQuery
	  GstEGLImage
	  GstGLMemoryEGL

2016-11-01 17:30:03 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsl.c:
	* tests/check/libs/gstglsl.c:
	  glsl: fix #version 150 not working with profiles
	  The spec allows the core/compatibility profiles to be used
	  with #version 150.
	  Also tighten up the tests to check for default profiles being chosen
	  correctly.

2016-10-28 07:17:56 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/win32/Makefile.am:
	  build: Also need to define GST_EXPORTS for Autotools
	  The change to use GST_EXPORT for symbols under Windows requires
	  GST_EXPORTS for internal use, and that is also needed under Autotools.
	  The same thing is done for gstreamer-1.0.dll in -core.

2016-10-28 06:23:02 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglsl_private.h:
	  gstgl: Re-enable WINAPI on _MSC_VER
	  The calling convention may be deprecated, but we still need it for
	  OpenGL. The build issue was caused by an incorrect syntax being used for
	  the WINAPI (__stdcall) prototype in function pointers which was accepted
	  by GCC but is rejected by MSVC.

2016-10-27 09:25:20 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstglstereosplit.c:
	  plugins: Use explicit type conversion from enums
	  MSVC warns about this because it's a C++ compiler, and this actually
	  results in useful things such as the incorrect 'gboolean' return value
	  for functions that return GstFlowReturn, so let's do explicit
	  conversions to reduce the noise and increase its efficacy.

2016-10-27 09:11:26 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstgltransformation.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  Explicitly define float constants as float
	  With MSVC, this gives the following warning:
	  warning C4305: 'function': truncation from 'double' to 'gfloat'
	  Apparently, MSVC does not figure out what type to use for constants
	  based on the assignment. This warning is very spammy, so let's try to
	  fix it.

2016-10-27 09:08:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstglviewconvert.c:
	  Fix incorrect return type in several functions
	  All these should return GstFlowReturn, not gboolean

2016-10-27 08:17:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglbasefilter.h:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstglcontrolbindingproxy.h:
	* gst-libs/gst/gl/gstgldebug.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglformat.h:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	* gst-libs/gst/gl/gstglquery.h:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshaderstrings.h:
	* gst-libs/gst/gl/gstglsl.h:
	* gst-libs/gst/gl/gstglslstage.h:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglviewconvert.h:
	* gst-libs/gst/gl/gstglwindow.h:
	  gstgl: Add GST_EXPORT to all symbols used on Windows
	  This is a requirement for those symbols to be exported in gstgl-1.0.dll
	  when building with the MSVC compiler

2016-10-27 07:29:36 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: Add support for building WGL on Windows
	  Currently only tested with MSVC.

2016-10-27 09:10:03 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstgloverlay.c:
	  ext/gl: Don't define boolean on Windows with MSVC
	  The headers we include already define boolean on Windows with MSVC, and
	  it leads to a typedef redefinition error with jpeglib.h which tries to
	  redefine it in jmorecfg.h

2016-10-27 07:30:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gstgl: Porting fixes for MSVC with Meson
	  GL/gl.h needs windows.h on MSVC
	  WINAPI should not be used with MSVC. It also causes a build error.

2016-10-21 13:10:47 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: don't glFinish() everytime a sync point is set
	  At minimum, we only need to glFlush() if we are in a shared GL context
	  environment.  Move the glFinish() to when the actual wait is requested
	  which may be never.  Improves the throughput on older GL systems without
	  GL3/GLES3 and/or fence sync objects.

2016-10-19 16:11:58 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	* ext/gl/meson.build:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/egl/gstegl.h:
	* gst-libs/gst/gl/meson.build:
	  meson: gl: add support for building with dispmanx on the rpi

2016-10-18 22:29:19 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	  gl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped
	  The function pointer and the user data arguments were swapped in both
	  uses.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769382

2016-10-11 17:06:23 +0530  Munez <munezbn.dev@gmail.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	  Implemented gst_video_overlay_set_window_handle()
	  https://bugzilla.gnome.org/show_bug.cgi?id=772608

2016-10-18 14:11:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl: fix detection of glx without gl
	  We need to check for libGL if we may use desktop OpenGL *or* GLX.

2016-10-18 14:10:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl: fix incorrect error string
	  Use the winsys variable for an incorrect winsys provided

2016-10-11 16:58:48 +0530  Munez <munezbn.dev@gmail.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: egl_show should resize the window only if there is no render rectangle set
	  https://bugzilla.gnome.org/show_bug.cgi?id=772699

2016-10-11 16:55:17 +0530  Munez <munezbn.dev@gmail.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: Fix set_render_rectangle typo
	  https://bugzilla.gnome.org/show_bug.cgi?id=772698

2016-10-05 18:32:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: don't use g_thread_join() to join the navigation thread
	  Using g_thread_join() in _finalize() handlers may result in a deadlock
	  joining the current thread when the last reference is held by a signal
	  handler.
	  e.g.:
	  error 'Resource deadlock avoided' during 'pthread_join (pt->system_thread, NULL)'
	  The backtrace looks like this:
	  [...]
	  g_thread_join ()
	  gst_gl_window_finalize ()
	  gst_gl_window_x11_finalize ()
	  g_object_unref ()
	  g_value_unset ()
	  g_signal_emit_valist ()
	  g_signal_emit ()
	  gst_gl_window_send_mouse_event ()
	  gst_gl_window_mouse_event_cb ()
	  g_main_dispatch ()
	  [..]
	  g_main_loop_run ()
	  gst_gl_window_navigation_thread ()
	  g_thread_proxy ()
	  start_thread ()
	  clone ()

2016-10-05 18:28:48 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: fix leak of upload library object
	  When only linking the element, the upload object will be created from
	  _transform_caps() but will never be unreffed as the only case is in _stop().
	  Add an unref if non-NULL to a new finalize handler for this case.

2016-09-29 11:45:57 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglupload.c:
	  tests/gl: make sure all GL commands are executed on the GL thread
	  e.g. the final glGetError() must also be completed on the GL thread

2016-09-28 18:04:21 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	  gl/win32: remove egl implementation
	  It hasn't been used in ages and is dead code.

2016-05-05 15:53:57 +0900  Gwang Yoon Hwang <yoon@igalia.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	  gl/dispmanx: Implements set_render_rectangle to adjust the position of window
	  We cannot set the x, y coordinate of the video frame at the dispmanx at
	  this point. We need to teach dispmanx backend to understand about
	  set_render_rectangle API to draw a video with other UI.
	  This patch keeps the current behavior which places video frame at the
	  center of the display if there is no set_render_rectangle call to the
	  dispmanx window.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766018

2016-09-28 15:20:25 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.h:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldebug.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	* gst-libs/gst/gl/gstglquery.h:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglslstage.h:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglviewconvert.h:
	  gl: add necessary padding bytes to all public structs

2016-09-22 18:19:36 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: also free the GWeakRef when removing dead contexts
	  Otherwise we leak GWeakRef's.
	  Found with make -C tests/check libs/gstglcontext.valgrind

2016-09-19 16:54:43 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorbalance.c:
	  glcolorbalance: reconfigure on passthrough changes
	  Fixes an assertion when moving from passthrough to non-passthrough
	  Without an explicit reconfigure, glfiter won't have created the GL
	  resources such as the FBO, GL bufferpool, etc and basetransform will
	  allocate sysmem buffers instead.

2016-09-09 23:24:01 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson/gl: use separate deps for gl and glx
	  e.g. passing with_gl_api=gles2 would still build the glx code but not be
	  linking against the libGL library which is where the glX* functions are
	  located and would result in a linker error.
	  Solved by checking for the libGL library if either opengl or glx may be
	  needed and then disabling the corresponding deps as requested.

2016-09-09 11:08:53 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/meson.build:
	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/meson.build:
	  meson: add some starting build files for GL
	  Currently only works on linux with egl/glx + wayland/x11 but the general
	  principals have been layed out for adding the other GL platforms/winsys'.

2016-09-07 20:11:55 +0100  Alistair Buxton <a.j.buxton@gmail.com>

	* tests/examples/gl/clutter/Makefile.am:
	  gl/examples: Really remove references to $(GST_PLUGINS_GL_*).
	  These seem to have been missed in the previous commit to this file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771023

2016-09-07 20:07:26 +0100  Alistair Buxton <a.j.buxton@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Remove duplicate GL_CFLAGS in Makefile.am.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771021

2016-09-05 14:44:24 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstgluploadelement.c:
	  glupload: create the GstGLUpload object in ::transform_caps
	  Previously it was created in the init function and destroyed in ::stop, which
	  lead to segfaults when reusing the element.
	  Now the upload object is created in ::transform_caps if it is NULL, which is the
	  earliest we need it. The other vfuncs already bail out if the upload object is
	  NULL, which means that negotiation wasn't done.

2016-08-31 04:26:43 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.h:
	  gl: Remove extra duplicate typedef of GstGLFramebuffer
	  It's triggering a warning building git master on OSX

2016-08-29 16:57:42 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglupload.c:
	  tests/glupload: support opengl3 properly instead of spewing GL errors

2016-08-29 16:52:44 +1000  Matthew Waters <matthew@centricular.com>

	* pkgconfig/gstreamer-gl.pc.in:
	  gl/pkgconfig: add the lib include dir to the list of includes
	  714d8aa in core removed this include dir from it's pkgconfig file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770523

2016-08-29 15:43:10 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglupload.c:
	  glupload: fix tests and check for the new RECONFIGURE behaviour
	  The tests were broken since 91fea30, which changed glupload to return
	  GST_GL_UPLOAD_RECONFIGURE if the texture target in the input buffers doesn't
	  match the texture-target configured in the output caps.
	  This commit fixes that and adds more checks for the new behaviour.

2016-08-22 17:18:27 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstgluploadelement.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gstglupload: make the GLMemoryUpload method output the correct texture-target
	  Now when used with video/x-raw as input, the GLMemoryUpload method checks for
	  ->tex_target in input GLMemory(es) and sets the output texture-target
	  accordingly.
	  Fixes video corruption with a pipeline like avfvideosrc ! video/x-raw !
	  glimagesink where on macos avfvideosrc pushes RECTANGLE textures but glupload
	  was configuring texture-target=2D as output.

2016-08-26 02:07:27 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  gl: Update glvideomixer doc

2016-08-26 02:06:00 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglviewconvert.c:
	  gl: Add/update docs for glviewconvert, glstereomix
	  Add some example pipelines for glstereomix, and fix up
	  the example pipelines for glviewconvert

2016-08-26 00:29:34 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereomix.h:
	  glstereomix: Fix caps negotiation
	  The videoaggregator negotiation sequence changed some time
	  back and broke glstereomix. Instead of doing nego incorrectly
	  in the find_best_format() vfunc, do it directly in the
	  update_caps() method.

2016-08-25 15:26:49 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Fix texture target fixation
	  Don't set the chosen texture-target into the wrong structure.
	  The input caps may not be writable, and in any case - the
	  intention was to configure the othercaps. Also, remove an
	  extra unref - the othercaps ref is consumed by
	  gst_caps_make_writable already.

2016-07-26 19:55:13 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>

	* ext/gl/gstglvideoflip.c:
	* ext/gl/gstglvideoflip.h:
	  glvideoflip: implement GstVideoDirection interface
	  It implements now this interface with its video-direction
	  property. Values are changed to GstVideoOrientationMethod but they have
	  the same value than the originals.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768687

2016-08-12 21:21:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/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>
	  Matej Knopp <matej.knopp@gmail.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-19 15:35:49 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: rewrite the inverse transformation logic
	  It now returns the correct values for both orthographic and perspective
	  projections and takes into account the aspect ratio of the video, handles
	  the Y-flipping in GL and by us and uses some more helpers from graphene.

2016-07-01 16:18:55 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: marshal gst_gl_window_resize through the window loop
	  saves having every caller do it themselves.

2016-06-30 23:06:43 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	  gl/wayland: use multi-threaded safe event wayland API
	  Multiple threads may be accessing the wayland fd at the same time which
	  requires the use of special wayland API to deal with to ensure nobody
	  will steal reads and cause a stall for anyone else.

2016-07-01 00:15:55 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/fxtest/fxtest.c:
	  gl/examples/fxtest: fix up for wayland support
	  - Pass the wayland display to gst
	  - Redrawing on resize is no longer needed.

2016-08-16 20:33:21 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstegl.h:
	  gl/egl: fix inverted typedef
	  2b6841d had an inverted typedef defining ginptr and EGLAttrib.  Fix that.

2016-08-16 16:51:02 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstegl.h:
	  gl/build: add configure check for possibly missing EGLAttrib
	  Fixes the build on older android targets.

2016-07-13 17:15:44 +0800  Song Bing <bing.song@nxp.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	  gl/egl/dmabuf: Wrong attribute list type for EGL 1.5
	  For EGL 1.5 spec, the attribute list type should be EGLAttrib.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768602

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

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fix race joining thread on finalize
	  https://bugzilla.gnome.org/show_bug.cgi?id=769939

2016-08-04 23:14:41 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: add missing rgb16 and bgr16 video formats in switch
	  Fixes an assertion that code should not be reached
	  https://bugzilla.gnome.org/show_bug.cgi?id=769462

2016-07-27 10:55:01 +0800  Haihua Hu <jared.hu@nxp.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: Fix glimagesink cannot show frame when connect to qmlglsrc
	  When connect to qmlglsrc, x11 event loop will be replace by qt event loop
	  which will cause the window cannot receive event from xserver, such as resize
	  https://bugzilla.gnome.org/show_bug.cgi?id=768160

2016-08-02 17:21:20 +0900  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Use bufferpool to allocate new buffer in GLTextureUploadMeta
	  To improve performace of upload with GLTextureUploadMeta,
	  use bufferpool instead of allocating new buffer every time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769293

2016-07-27 14:48:50 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: move unsetting queue_resize to _resize() instead of _draw()
	  Makes infinitely more sense and implementation were expecting that behaviour
	  anyway and would enter a resize, draw, resize, draw, ... cycle instead of only
	  resizing once.

2016-08-01 14:12:35 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Fix horizontal/vertical flip matrizes
	  They were swapped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769371

2016-07-26 16:01:19 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	  caopengllayersink: remove unused to_quit variable
	  It was always 0 and never set to anything meaningful.

2016-07-26 15:57:54 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: add compatibility definition for GL_DEPTH_STENCIL_ATTACHMENT
	  GLES2 doesn't have it defined...

2016-07-15 13:39:54 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectblur.c:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlaplacian.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectlumatocurve.h:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsobel.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldeinterlace.h:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglpixelformat.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glfilter: rewrite subclasses for filter_texture() occuring on GL thread
	  There's no need for the jump to an extra thread in most cases, especially
	  when relying solely on a shader to render.  We can use the provided
	  render_to_target() functions to simplify filter writing.

2016-07-12 15:34:24 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.h:
	  glutils: remove unused GstGLDisplayProjection

2016-07-12 15:29:29 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  glcontext: remove not thread-safe get/set_error()
	  Use GError's instead if necessary.

2016-07-12 12:59:57 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterapp.h:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	* tests/check/libs/gstglcontext.c:
	  glframebuffer: rewrite for a more consistent API
	  Facilities are given to create fbo's and attach GL memory (renderbuffers
	  or textures).  It also keeps track of the renderable size for use with
	  effective use with glViewport().

2016-07-12 00:30:22 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgldifferencematte.h:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterglass.h:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglmosaic.h:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gl: use GLMemory for accessing textures everywhere
	  This simplifies and consolidates a lot of duplicated code creating
	  and modifying textures.

2016-07-11 22:44:16 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectblur.c:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlaplacian.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsobel.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstglfiltershader.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: rename draw_texture to draw_fullscreen_quad
	  And remove unused arguments.

2016-07-11 22:31:04 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglrenderbuffer.c:
	* gst-libs/gst/gl/gstglrenderbuffer.h:
	  gl: add memory type for renderbuffer's
	  Soon to be used for framebuffers for e.g. depth buffers or throwaway color
	  buffers.

2016-07-11 22:28:42 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglformat.h:
	  glformat: define our own set of formats from the GL defines
	  also add some depth/stencil formats

2016-07-11 22:24:43 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	  gleffects: fix xray to use the correct function
	  Instead of duplicating the sin effect

2016-07-11 21:29:10 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	  glbasememory: assert for a valid allocator instead of segfaulting

2016-07-18 17:43:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  gl: wayland: improve debug message when connecting to display
	  And another copy'n'paste-o.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768929

2016-06-30 21:50:12 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: fix transformation matrix usage
	  Calling glUniformMatrix before the shader is bound is invalid and
	  would result in errors like:
	  GL_INVALID_OPERATION in glUniformMatrix(program not linked)
	  Move glUniformMatrix() to after the gst_gl_shader_use() call.

2016-06-30 14:04:36 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fix raw data uploader with addition of GstVideoGLTextureType
	  Fixes regression from 989200820d43c78fb179d7984827800d83787390
	  https://bugzilla.gnome.org/show_bug.cgi?id=768217

2016-06-29 23:55:18 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glvideoconvert: RG/LA is available in OpenGL ES 3, so let that through

2016-06-24 13:41:11 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  Revert "Revert "gl/eagl: try getting a gles3 context""
	  This reverts commit eb142736318463e6e553c21707ba0d716f85a46f.
	  vtdec now successfully outputs textures that can be converted by
	  glcolorconvert in GLES3 contexts.

2016-06-28 13:51:22 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  glmemory: add the texture type to allocate to parameters
	  Rather than assuming something.  e.g. zerocopy on iOS with GLES3 requires
	  the use of Luminance/Luminance Alpha formats and does not work with
	  Red/RG textures.

2016-06-28 13:09:51 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: don't assume Red/RG textures will be used
	  Take the used texture type from the memory instead.
	  Fixes conversion from multi-planar YUV formats with two components per plane
	  (NV12, NV21, YUY2, UYVY, GRAY16_*, etc) with Luminance Alpha input textures.
	  This is also needed for zerocopy decoding on iOS with GLES 3.x.

2016-06-28 13:02:32 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: correct precondition for get_gl_version
	  The intention was to assert if both maj and min were NULL (as there would be no
	  point calling the function).  Instead if either maj or min were NULL, the assert
	  would occur.
	  Fix that.

2016-06-23 15:57:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  eglimage: Only register debug category if dmabuf support is enabled
	  It's not used otherwise currently and causes compiler warnings.

2016-03-22 16:51:53 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  glcontext/wgl: try wglCreateContextAttribsARB even not gl3 core profile
	  https://bugzilla.gnome.org/show_bug.cgi?id=764018

2016-06-21 18:28:46 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fix get_current_gl_api() on win32
	  Another case of incorrect calling conventions.
	  Using this function on win32 would corrupt the stack pointer and end in
	  massive hilarity.

2016-06-15 12:47:05 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglsl_private.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glsl: fixup external-oes shaders by mangling the required extension
	  Newer devices require using a different GLSL extension for accessing
	  external-oes textures in a shader using the texture() functions.
	  While the GL_OES_EGL_image_external_essl3 should supposedly be supported
	  on a any GLES3 android device, the extension was defined after a lot of the
	  older drivers were built so they will not know about it.  Thus there are two
	  possible interpretations of which of texture[2D]() should be supported for
	  external-oes textures.  Strict adherence to the GL_OES_EGL_image_external
	  extension spec which uses texture2D() or following GLES3's pattern, also
	  allowing texture() as a function for accessing external-oes textures
	  This adds another mangling pass to convert
	  #extension GL_OES_EGL_image_external : ...
	  into
	  #extension GL_OES_EGL_image_external_essl3 : ...
	  on GLES3 and when the GL_OES_EGL_image_external_essl3 extension is supported.
	  Only uses texture() when the GLES3 and the GL_OES_EGL_image_external_essl3
	  extension is supported for external-oes textures.
	  Uses GLES2 + texture2D() + GL_OES_EGL_image_external in all other external-oes
	  cases.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766993

2016-05-19 13:31:56 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/glimagesink.c:
	  glimagesink: fix query leak in test
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

2016-05-19 13:29:15 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/glimagesink.c:
	  glimagesink: properly setup/teardown tests
	  tcase_add_checked_fixture() is suppose to call the setup and teardown
	  functions so the tests don't have to do it manually.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

2016-05-19 13:09:41 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/libs/gstglupload.c:
	  glupload: fix shader leak in test
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

2016-04-14 18:14:32 +0300  Sergey Borovkov <sergey.borovkov@wireload.net>

	* gst-libs/gst/gl/egl/gstegl.h:
	  qml: Enable qmlglsink for eglfs
	  https://bugzilla.gnome.org/show_bug.cgi?id=763044

2016-06-16 00:46:57 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  tests/glcontext: update test for gen,del_texture removal

2016-06-14 13:48:09 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/effects/gstgleffectssources.c:
	  gleffects: fix little rectangle that appears at the center of squeeze and tunnel effects
	  These two shader will calculate the vector length and use it as denominator.
	  But length could be zero which will cause undefine behaviour. Add protection for
	  this condition
	  https://bugzilla.gnome.org/show_bug.cgi?id=767635

2016-06-15 18:10:59 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsl.c:
	  glsl: add some debugging

2016-06-15 16:08:57 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glutils: remove unused functions for texture creation/deletion
	  Everyone uses GstGLMemory now and any future code should as well.

2016-06-15 15:47:47 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: remove unused class fields in/out_tex_id
	  The functionality is not used by any subclass nor are the values set anywhere.

2016-06-15 15:08:39 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldeinterlace.c:
	  gldeinterlace: remove dead code accessing filter->in_tex_id
	  It's not set by anyone or anything and gldeinterlace is the only user of it now.

2016-06-15 14:40:40 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload/meta: remove unneeded texture deletion
	  The textures are managed by the GstGLMemory inside the output buffer.  Freeing
	  them prematurely may result in a use-after-free.

2016-05-17 17:14:49 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  gst-libs: gl, video: use MAY_BE_LEAKED flag
	  https://bugzilla.gnome.org/show_bug.cgi?id=767162

2016-05-28 21:36:04 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/gl/gstglquery.c:
	  gl: glquery: cast to silence compiler warning
	  https://bugzilla.gnome.org/show_bug.cgi?id=766973

2016-05-28 21:35:37 +0200  Havard Graff <havard.graff@gmail.com>

	* ext/gl/gstgltestsrc.h:
	  gltestsrc: gltestsrc.h already defines GstGLTestSrc
	  And redefinition is not allowed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766973

2016-05-26 20:16:07 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: always unref the context on a collision
	  Otherwise we will leak GstGLContext's when adding the same context more than
	  once.
	  Fixes a regression caused by 5f9d10f6036068502ad23e1ec86a73e341801ae1 in the
	  gstglcontext unit test that failed with:
	  Assertion 'tmp == NULL' failed

2016-05-20 14:34:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	  caopengllayersink: Don't cache buffer pool
	  Pools cannot be used by the two elements at the same time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766611

2016-05-25 09:09:01 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  gl: win32: Add debug category in gstglcontext_wgl.c
	  https://bugzilla.gnome.org/show_bug.cgi?id=766867

2016-05-16 20:02:28 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glimagesink: support video rotation using transform matrix
	  Add "rotate-method" to glimagesink and apply transform matrix
	  to vertex coordinate to control rotation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765795

2016-05-24 23:39:27 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	  glvideomixer: fix race retrieving the GL context from the display
	  _get_gl_context() can be called concurrently from either propose_allocation() or
	  decide_allocation().  If it so happens that this happens at the same time,
	  the check for whether we already had a GL context was outside the lock.  Inside
	  the lock and loop, the first thing that happens is that we unref the current GL
	  context (if valid) as if there was a conflict adding it to the display.  If the
	  timing was unlucky, subsequent use of the GL context would be referencing an
	  already unreffed GL context object resulting in a critical:
	  g_object_ref: assertion 'object->ref_count > 0' failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=766703

2016-05-24 23:38:22 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: add some debugging about retrieving GL contexts

2016-05-25 10:01:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  eglimage: Re-add accidentially removed GST_DEFINE_MINI_OBJECT_TYPE()

2016-05-23 20:11:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  eglimage: Ensure that the debug category is always initalized
	  Before the initializer was only run if dmabuf support was used.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766794

2016-05-24 23:30:09 +1000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>

	* ext/gl/gstgltransformation.c:
	  gltransformation: make the pivot-z property READWRITE
	  Instead of just being READABLE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766818

2016-05-23 10:40:58 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: fix src_impl leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=766661

2016-05-24 00:55:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/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-19 17:05:33 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gltestsrc.c:
	  gltestsrc: fix shaders ref counting
	  The gltestsrc element uses two shaders: color_shader and snow_shader.
	  Those are alternatively assigned to the SrcShader->shader pointer and
	  their reference was transferred to it. Only the SrcShader->shader was
	  unreffed (in _src_shader_deinit()) so only one shader was properly
	  freed, the other one was leaked.
	  Fixed this by giving an extra ref to SrcShader->shader and unreffing the
	  2 shaders in _src_smpte_free().
	  https://bugzilla.gnome.org/show_bug.cgi?id=766661

2016-05-19 16:55:31 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstglmosaic.c:
	  glmosaic: fix shader leak
	  gst_gl_mosaic_init_shader() is called twice with test_glmosaic so the
	  first shader was leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766661

2016-05-16 17:11:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: Unparent internal window before destroying it
	  For some reason DestroyWindow() deadlock if it's called from
	  parent window's KeyPress event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766533

2016-05-16 15:26:53 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: Don't steal parent focus when creating internal window
	  This fix regression introduced by 0acc18c60f6f962cc6553f6047fdb64891bab544.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766520

2016-05-15 13:14:41 +0300  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: demote no platform display debug to info
	  Avoids confusing everyone with a warning that's not always fatal.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746933

2016-05-14 16:32:06 +0300  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: use the affine transformation meta if available downstream
	  We can avoid a render pass if downstream supports the affine transformation meta
	  and increase the performance of some pipelines involving gltransformation.
	  Implemented by checking for the affine transformation in the allocation query
	  from downstream and combining our matrix with that of upstream's (or creating
	  our own).

2016-05-14 16:27:26 +0300  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglshaderstrings.c:
	* gst-libs/gst/gl/gstglshaderstrings.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl: take the affine transformation in NDC
	  Provide a function to get the affine matrix in the meta in terms of NDC
	  coordinates and use as a standard opengl matrix.
	  Also advertise support for the affine transformation meta in the allocation
	  query.

2016-05-14 15:50:57 +0300  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	  glbasemixer: actually attempt to propose an allocation upstream
	  We were always failing the allocation query as a flag was never being set to
	  signal a successful negotiation.  Fix by setting the required flag on a
	  successful caps event from upstream.

2016-05-04 12:17:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglstereosplit.c:
	* gst-libs/gst/gl/egl/Makefile.am:
	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/egl/gsteglimage.h:
	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gsteglimagememory.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/egl: replace gsteglimagememory with an EGLImage wrapper
	  That can be passed to GstGLMemoryEGL.
	  This also ports the dmabuf uploader to GstEGLImage and GstGLMemoryEGL.

2016-01-21 22:18:17 +0900  Gwang Yoon Hwang <yoon@igalia.com>

	* gst-libs/gst/gl/egl/Makefile.am:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
	* gst-libs/gst/gl/egl/gstglmemoryegl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: implement GstGLMemoryEGL
	  Because current GstEGLImageMemory does not inherit GstGLMemory, GLUpload
	  allocates additional GLMemory and upload the decoded contents from the decoder
	  which uses EGLImage (e.g. gst-omx in RPi).
	  This work adds GstGLMemoryEGL to avoid this overhead. Decoders allocate
	  GstGLMemoryEGL and decode its contents to the EGLImage of GstGLMemoryEGL.  And
	  GLUpload uses this memory without allocation of additional textures and blit
	  operations.
	  [Matthew Waters]: gst-indent the sources and fix a critical retreiving the egl
	  display from the memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760916

2016-05-04 01:16:51 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glmemory: add wrapped data pointers to setup_buffer
	  Allows creating wrapped memories with GstGLAllocationParams.
	  The wrapped pointers will be set in the parameters before being passed
	  to the memory allocation function.

2016-05-04 00:19:44 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glbasememory: take a pointer as the wrapped gpu handle
	  Allows passing arbitrary data to wrap the the specific memory implementation
	  which is required for some memory implementations.

2016-05-03 19:58:00 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl: fix gles3 header usage for older platforms
	  Some platforms provide an old version of GLES2/gl2.h and GLES2/gl2ext.h that
	  will fail when including GLES3/gl3.h due to missing typedef's.
	  Seen on the RPi.

2016-04-08 16:47:15 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldeinterlace.h:
	* ext/gl/gstopengl.c:
	  gl: enable gldeinterlace on OpenGL ES
	  1.Porting the exist deinterlace shader and OpenGL callback
	  to be compatible with OpenGL ES.
	  2.Add a our blur vertical shader to gldeinterlace.
	  3.Add a property named “method” to let user choose which
	  deinterlace function to use. Default to choose blur vertical
	  method for better performance.
	  [Matthew Waters]: fix name of greedyh in method property (was greedhy) and port
	  to git master.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764873

2016-04-19 19:43:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglsl_private.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Port more things to GLES/GL 3 compatibility
	  And move the shader mangling code into a single place instead of having a copy
	  in glcolorconvert and glviewconvert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765266

2016-04-19 19:27:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: GLES3 deprecates texture2D() and it does not work at all in newer versions than 3.3
	  Use the newer texture() function instead. This fixes glimagesink and other
	  things on various Android devices.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765266

2016-04-20 16:19:55 +0900  Hyunjun Ko <zzoon@igalia.com>

	* ext/gl/caopengllayersink.m:
	  gl: caopengllayersink: fix a minor warning
	  Fix "unused variable" warning
	  https://bugzilla.gnome.org/show_bug.cgi?id=765292

2016-04-20 16:00:36 +0900  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/cocoa: Fix incompatible type warning
	  https://bugzilla.gnome.org/show_bug.cgi?id=765292

2016-04-19 09:30:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Fix indentation

2016-04-19 10:51:14 +0800  Haihua Hu <jared.hu@nxp.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: need to clean window_id when state change form READY to NULL
	  When application change pipeline state NULL->READY and then READY->NULL,
	  glimagesink will not clear glsink->window_id. After that, when application
	  change state NULL->READY, the new_window_id is equal to window_id, glimagesink
	  will not set window handle. It will use the internal window but not the window
	  create by application.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765241

2016-04-17 15:45:41 +0100  Heinrich Fink <hfink@toolsonair.com>

	* ext/gl/caopengllayersink.m:
	  gl/caopengllayersink: Actually unset caps_change flag after resize
	  Otherwise, the sink would execute "on_resize" for each frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765194

2016-04-17 15:43:20 +0100  Heinrich Fink <hfink@toolsonair.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/caopengllayer: Apply layer.contentsScale to viewport dims
	  Fixes blurry content on HiDPI screens
	  https://bugzilla.gnome.org/show_bug.cgi?id=765194

2016-04-13 00:43:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/cocoa/eagl: don't leak GThread's when dispatching messages
	  gst_gl_context_get_thread() returns a refed pointer, we need to unref it.

2016-04-12 11:14:22 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: don't dereference null pointer
	  funcs can be NULL, it is one of the two conditions of the OR statement
	  above, so confirm it isn't before dereferencing with funcs->free.
	  CID 1358388

2016-04-06 04:15:40 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: keep the parent buffer around when converting EGLImage to 2D textures
	  e.g. receiving and releasing a buffer from OMX too early will potentially
	  cause textures to be overwritten while/before they are displayed.

2016-04-11 16:43:45 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	  glbasemixer: chain up to the parent implementation

2016-04-11 08:34:00 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  libgstgl: cocoa, eagl: use libdispatch to schedule GL calls
	  Use libdispatch instead of GMainLoop to dispatch GL calls. libdispatch is more
	  optimized and cuts a lot of poll()/pthread_* overhead.

2016-04-11 08:02:45 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: reduce the number of GMutexes and GConds in send_message()
	  Don't create many short lived locks/conds in gst_gl_window_send_message. This is
	  a micro optimization to save a bunch of pthread_* calls which are expensive on
	  OSX/iOS and possibly other platforms.

2016-04-04 20:55:51 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  videoaggregator: repect the result of find_best_format in the default update_caps
	  We weren't using the result of find_best_format at all.
	  Also, move the find_best_format usage to the default update_caps() to make
	  sure that it is also overridable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764363

2016-03-23 03:16:11 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: add support for the affine transformation meta

2016-03-23 03:14:40 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: support the affine transformation meta for any texture target

2016-04-05 16:22:49 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: set the current texture to 0 before mapping
	  If we fail mapping, we don't want to use undefined video data in the subclass.

2016-04-04 13:43:30 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixerbin.c:
	  glmixerbin: proxy the start-time-* properties from aggregator

2016-03-22 07:19:03 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  eglimage: perform eglCreateImage in the gl thread
	  while calling eglCreateImage without a GL context current in the executing
	  thread works on the RPi, some other implementations will return errors.
	  Marshall the eglCreateImage to the GL thread to appease these implementations.

2016-04-01 14:58:56 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: support outputting to multiple draw buffers on GLES3
	  A similar change that was done to glcolorconvert adding the necessary shader
	  mangling.

2016-03-31 19:50:28 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: implement multiple render targets for GLES3
	  There are numerous slight differences required between Desktop GL and GLES3 for
	  multiple render targets.
	  1. gl_FragData doesn't exist at all and one is required to use
	  'layout (location = ?) out ...' instead.
	  2. gl_FragColor doesn't exist, same as 1
	  3. texture2D() has been deprecated
	  Fortunately most of these have been taken care of with GL3 and the shader
	  mangling already exists so just expand the conditions they are used in.  The
	  gl_FragData issue requires a new mangle pass though.  We also use this new
	  pass on desktop GL for consistency.

2016-04-01 00:23:25 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	  gl/build: add missing '\' at the end of the line in MakeFile.am
	  Otherwise the following elements aren't included in the correct variable.
	  Fixes error in 'make distcheck' failing to find gstgltestsrc.h

2016-03-31 20:00:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: don't use the predefined variable name sample
	  Using 'sample' as a variable name is an error in GLES3

2016-03-22 23:10:24 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
	  gl/examples: fix switchvideooverlay for wayland
	  and call XInitThreads() for X11

2016-03-21 15:25:21 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/Makefile.am:
	* tests/examples/gl/gtk/gtkvideooverlay/.gitignore:
	* tests/examples/gl/gtk/gtkvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/gtkvideooverlay/gtkvideooverlay.vcproj:
	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
	  gl/examples: remove duplicated videooverlay example
	  filtervideooverlay proved the exact same example (only with a extra glfiltercube).

2016-03-21 15:23:41 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/3dvideo/main.cpp:
	  gl/examples/3d: additions for wayland support

2016-03-17 23:50:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgldifferencematte.h:
	  gldifferencematte: port to gl3/gles2

2016-02-26 20:55:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gltestsrc.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstopengl.c:
	  gltestsrc: port to gles2/gl3
	  This makes gltestsrc work everywhere \o/
	  - workaround RPi returning invalid values for positive coords in the
	  checker shader
	  - reduce the number of iterations in the mandelbrot shader for gles2
	  https://bugzilla.gnome.org/show_bug.cgi?id=751540

2016-02-26 16:57:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gltestsrc.c:
	  gltestsrc: port smpte pattern to shaders
	  Loosely based on patch by
	  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>
	  https://bugzilla.gnome.org/show_bug.cgi?id=751540

2016-02-26 12:02:15 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gltestsrc.c:
	  gltestsrc: implement the circular method
	  https://bugzilla.gnome.org/show_bug.cgi?id=759801

2016-02-25 21:18:31 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gltestsrc.h:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	  gltestsrc: add a generic src framework
	  Any unsupported pattern (circular) results in an error

2016-02-29 20:15:24 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstglstereosplit.h:
	  glsterosplit: remove internal glupload/glcolorconvert
	  They are provided separately as elements and no other element contains the
	  internal references to glupload/glcolorconvert.

2016-03-31 19:43:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglcontext.c:
	  gl: add support for building against GLES3 headers
	  with a fallback to GLES2 headers if available.

2016-03-31 19:38:12 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: add checking the read implementation format/type on gles2 platforms
	  By default, reading GL_RED or GL_RG us unsupported by glReadPixels unless
	  exposed through GL_COLOR_READ_IMPLEMENTATION_FORMAT/TYPE.  This allows
	  downloading multiple-planar video frames where possible.

2016-03-31 19:35:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	  glbasememory: rollback map state when subclass map fails
	  Otherwise our state doesn't reflect reality.

2016-03-31 19:31:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: unmap pbo memory on pbo read error
	  Otherwise we are returning failure with a dangling map!
	  Also only unset the NEED_DOWNLOAD flag in download_transfer() if the read actually
	  succeeds.

2016-03-31 19:25:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/shaders.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  glshader: add glBindFragDataLocation
	  There are some cases where it's needed for binding in/out variables in shaders.
	  e.g. glsl 150 (gl 3.2) doesn't support the 'layout (location = ?)' specifiers in
	  the shader source so we have to bind them ourselves.

2016-03-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstgldownloadelement.c:
	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsrcbin.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgluploadelement.c:
	* ext/gl/gstglvideoflip.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  bad: use new gst_element_class_add_static_pad_template()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763081

2016-03-24 14:08:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/examples/gl/gtk/fxtest/fxtest.c:
	  gl/gtk: Fix compiler warning in example
	  fxtest.c: In function ‘main’:
	  fxtest.c:190:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
	  GtkWidget *window;
	  ^~~~~~~~~

2016-03-22 07:20:59 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/sync.h:
	  gl/proto: sync operations are available on GLES 3.0
	  Without the GST_GL_API_GLES2 bit set, we will not even attempt to look
	  for the function pointers in the core library and will fallback to
	  glFlush/glFinish.

2016-03-17 22:43:12 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: unset GL_UNPACK_ROW_LENGTH in opengl3
	  If the user uploads their own texture without setting the unpack length, then
	  then the result will have the appearance of stride mismanagement due to
	  an incorrect row length.

2016-03-17 16:34:42 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
	* tests/examples/gl/qt/qglwtextureshare/main.cpp:
	  gl/examples/qt: restrict the GL API to opengl where needed
	  Until the examples are ported to opengl3/gles2, they will not work with any
	  other GL api.

2016-03-17 16:31:52 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
	* tests/examples/gl/gtk/fxtest/Makefile.am:
	* tests/examples/gl/gtk/fxtest/fxtest.c:
	* tests/examples/gl/gtk/fxtest/pixbufdrop.c:
	* tests/examples/gl/gtk/gtkvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
	  gl/examples/gtk: call XInitThreads
	  Fixes some sporadic X11 threading assertions.

2016-03-17 03:06:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  glutils: remove custom code for setting caps features
	  Just use gst_caps_set_features() instead.

2016-03-17 01:52:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: only allow the same src/sink caps when we are in passthrough mode
	  If we are given caps with extra features (like the overlay composition
	  features), we can only deal with that when we are in passthrough mode.
	  Previously we were bailing entirely and not allowing passthrough filter elements
	  with things like textoverlay.
	  Fixes the following pipeline (assuming glfilter supports passthrough):
	  gl ! textoverlay ! glfilter ! ... ! glimagesinkelement
	  https://bugzilla.gnome.org/show_bug.cgi?id=763756

2016-03-16 22:48:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: deal with the ANY caps feature correctly
	  When transforming, xplode it out into the necessary caps features both
	  with and without the passthough features.
	  Fixes negotiation in the following class of pipelines:
	  gl ! textoverlay ! glupload ! glimagesinkelement
	  https://bugzilla.gnome.org/show_bug.cgi?id=763756

2016-03-16 22:16:34 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereosplit.c:
	  glstereo{mix,split}: allow running on GLES 2/3
	  It's mostly supported for GLES 2.x, fully supported on GLES 3.x

2016-03-11 01:40:39 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	  gleffects; give each effect a unique long name and description
	  Gives applications that scrape the factory details more detailed and unique
	  details on the exact element.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760566

2016-03-10 17:46:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglslstage.c:
	  glshader: some compatibility changes for GL 1.4
	  GL 1.4 (with GL_ARB_shader_objects) doesn't have glIsProgram or glIsShader
	  equivalents.  As they are simply assertions, skip them when there isn't a
	  valid function pointer.

2016-03-10 00:29:41 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfilterapp.c:
	  glfilterapp: update for the use of shaders
	  Fixes black output when placed in pipelines (using the default drawing).
	  https://bugzilla.gnome.org/show_bug.cgi?id=763365

2016-03-10 00:27:53 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: retrieve the shader attributes from the GL thread
	  Otherwise we will receive bogus values
	  https://bugzilla.gnome.org/show_bug.cgi?id=763365

2016-03-10 00:24:48 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	  gl/examples/cube*: choose opengl by default
	  The examples don't work with any other GL API.
	  Also fix the yuv example to not translate the cube out of the clipping area.

2016-03-10 00:23:14 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/fxtest/fxtest.c:
	  gl/examples/fxtest: add needed glupload to the pipeline
	  Fixes a negotiation failure in the example

2016-03-09 11:58:43 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Fix window memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=763356

2016-03-08 02:06:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: signal continuation in reset
	  We want to iterate over all the pads, not just the first one.  Fix by returning
	  TRUE in the GstAggregatorPadForeachFunc.
	  Removes a GST_IS_GL_CONTEXT() assertion on shutdown with >2 inputs
	  using gst-launch.

2016-03-08 00:35:22 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* tests/check/libs/gstglcontext.c:
	  gldisplay: make readding the same context a no-op
	  With e38af2304427db908a16bbae0e60aa68be1ba5b5 returning the correct contexts,
	  gst_gl_display_add_context() was susceptible to causing infinte loops when
	  adding the same GstGLContext more than once.  Fix and add a test for
	  gst_gl_display_add_context().
	  Fixes glvideomixer gst-validate tests.

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

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  Revert "libgstgl: cocoa, eagl: don't marshal GL calls to the context thread"
	  This reverts commit 797d6415dfd6e111efb2cab544958a67cbf22b17.
	  We're frozen for 1.8.0 release and this change might have bigger impact.

2016-03-07 16:03:25 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  libgstgl: cocoa, eagl: don't marshal GL calls to the context thread
	  Execute GL calls without marshalling them to the context thread. In the cocoa
	  and eagl backends calling gst_gl_context_activate is cheap and therefore calling
	  it on the current thread and serializing GL calls with a per-context lock is
	  more efficient (faster and has less overhead) than marshalling everything to the
	  context thread.
	  This optimization cuts a large overhead in g_poll (continuously waking up the
	  context thread) and in g_mutex_*/g_cond_* (waiting for results from the context
	  thread).

2016-03-05 17:16:24 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: really retrieve glcontext for a specific thread
	  When requesting a glcontext (regardless of thread), the result was correct.
	  However, when requesting current glcontext on a specific thread, it could
	  come up with a glcontext active on another thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763168

2016-03-06 19:35:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglbasefilter.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstgldebug.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglslstage.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl: misc docs fixes/additions

2016-03-06 19:32:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgl_enums.h:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglformat.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  gl*memory: document new functionality and objects

2016-03-05 19:48:45 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: handle some more unfixed fields when fixating caps

2016-03-03 19:45:43 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	  glbasememory: Don't change maxsize at run-time
	  Maxsize is initialized once and should never change. Allocating data
	  should have no impact on the selected max size for this memory. This
	  causing memory map failure as the maxsize would become smaller then
	  size. This happened when using direct rendering in avviddec on GL that
	  does not support PBO transfer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763045

2016-02-17 20:13:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  eglimagememory: add compatibility definitions for EGL dmabuf
	  e.g. the RPi doesn't have them defined

2016-02-26 08:34:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add a method to add a context to another share group
	  Intended for use with wrapped contexts that are created shared with gst's
	  gl contexts in order to manage the internal sharegroup state correctly.
	  e.g. with caopengllayer (which is used in glimagesink and caopengllayersink
	  on OS X), we create a CGL context from the gst context and the sharing state
	  was not being correctly set on either GL context and gst_gl_context_is_shared()
	  was always returning FALSE.
	  With 11fb4fff80b63b9d67a731d4bb238b6c0a29d774 only flushing with multiple
	  shared contexts, the required flush was not occuring causing screen
	  corruption or stuttering.
	  Note: this didn't affect GST_GL_API=opengl pipelines
	  https://bugzilla.gnome.org/show_bug.cgi?id=762620

2016-02-24 10:45:17 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglvideomixer.c:
	  glmixer: iterator didn't advance in continue statement
	  Leading to a deadlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760873

2016-02-22 21:03:14 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglstereosplit.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: fix the build
	  2d287812 was incomplete

2016-02-22 20:49:52 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: error out if the configured GL API is unsupported by our element
	  https://bugzilla.gnome.org/show_bug.cgi?id=759801

2016-02-18 14:32:23 +0000  Julien Isorce <j.isorce@samsung.com>

	* pkgconfig/gstreamer-gl-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-gl-1.0)
	  Previously it required to prepend libtool --mode=link
	  https://bugzilla.gnome.org/show_bug.cgi?id=720778

2016-02-18 16:21:38 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstgldebug.c:
	  gldebug: make sure debug is initialized when calling gst_gl_insert_debug_marker
	  Usually gl debug is initialized in gst_gl_context_create_thread.
	  But this function is not used when using the GstGLContextGPUProcess
	  from ChromiumGStreamerBackend.
	  Received signal 11 SEGV_MAPERR 000000000000
	  gst_debug_category_get_threshold
	  gst_gl_insert_debug_marker
	  gst_gl_base_filter_gl_start

2016-02-18 10:33:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/utils/gles_versions.h:
	* gst-libs/gst/gl/utils/opengl_versions.h:
	  gl: Fix compiler warning about unused const variable with gcc 6
	  CC       libgstgl_x11_la-gstglcontext_glx.lo
	  In file included from gstglcontext_glx.c:39:0:
	  ../utils/opengl_versions.h:52:43: error: ‘gles2_versions’ defined but not used [-Werror=unused-const-variable]
	  static const struct { int major, minor; } gles2_versions[] = {
	  ^~~~~~~~~~~~~~

2016-02-18 10:29:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Move private headers from SOURCES to noinst_HEADERS

2016-02-17 13:00:46 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: insert the debug marker from the GL thread
	  https://bugzilla.gnome.org/show_bug.cgi?id=761538

2016-02-17 11:42:23 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: remove unsed reconfigure variable

2016-01-13 13:17:56 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: don't push a reconfigure event from the GL thread
	  Doing so may cause deadlocks when other elements attempt destroy or created
	  GL resources.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760559

2016-01-21 10:40:36 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: don't leak pad's vertex buffer on release_pad
	  https://bugzilla.gnome.org/show_bug.cgi?id=760873

2016-02-17 01:08:18 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglmosaic.h:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereomix.h:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glmixer: Remove usage of GstGLMixerFrameData
	  Subclasses can just iterate over the list of pads themselves
	  https://bugzilla.gnome.org/show_bug.cgi?id=760873

2016-01-13 14:41:22 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: don't hold the object lock while calling into GL
	  Doing so can deadlock between the GL thread and the object lock e.g.
	  when performing reconfigure events in glimagesink on a resize event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760559

2016-02-16 08:48:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl: Remove leftover g_prints
	  One was commented out, but we also don't use // comments :)

2016-02-16 14:41:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	  gldebug: use the correct spelling for behavior
	  The headers use the american spelling of behavior not the UK/AUS version with
	  the extra U.

2016-02-16 13:58:42 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldebug.c:
	  glcontext: don't enable GL debug for messages that won't be logged
	  This is an optimization to avoid pointless string processing.

2016-02-16 13:01:20 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstglvideoflip.c:
	  glvideoflip: don't ignore method changes when caps aren't set (yet)

2016-02-10 10:31:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  gl: syncmeta: define GL_TIMEOUT_IGNORED in more portable way

2016-02-10 16:37:22 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  gstglshader: cache uniform locations
	  Avoid redundant calls to glGetUniformLocation. The results can be cached once
	  the shader has been linked.

2016-02-10 13:08:43 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gstglcontext: micro optimization to gst_gl_context_thread_add
	  Invoke the callback right away when called on the context thread. Removes
	  overhead when nesting libgstgl calls (for example when working with the sync
	  meta).

2016-02-09 13:08:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: add compatibility definition for GL_TIMEOUT_IGNORED

2016-02-09 12:14:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	  glsyncmeta: separate out gpu/cpu waits.
	  CPU waits are more expensive and are only required if the CPU is ever going to
	  access the data. GPU waits perform inter-context synchronisation and are cheaper
	  as they don't require CPU intervention.

2016-02-08 12:23:12 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectidentity.c:
	  gleffects: identity: add the shader to the hash table
	  So that we don't recreate it every frame and leak memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761578

2016-02-05 10:43:49 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglsl_private.h:
	* gst-libs/gst/gl/wayland/wayland_event_source.h:
	  gl: add .def file for msvc builds
	  Also internalize some API from being exported.

2016-02-04 12:17:31 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/gl/gstglquery.c:
	  glquery: remove unnecessary pointer check
	  All uses of query->context in gstglquery.c assume it exists. We can assume
	  this as well before unrefing it. Furthermore, gst_object_unref() will just
	  silently return if it ever were to not exist.

2016-02-04 17:31:03 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: enable qos by default
	  Improves the responsiveness of the pipeline when resources are close/above the
	  limitations of the hardware.
	  Any subclass that wishes not to enable qos can do so themselves.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761519

2016-02-03 10:59:23 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: reconfigure the src when changing to/from passthrough
	  Otherwise it's very possible that any GL resources have not been created yet.

2016-02-03 10:52:08 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideoflip.c:
	* ext/gl/gstglvideoflip.h:
	  glvideoflip: correctly update the output caps on method changes
	  When changing methods we may need different output caps.

2016-02-02 18:36:34 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  Revert "gl/eagl: try getting a gles3 context"
	  This reverts commit 96b9666d596be115fd4b446ef846508b7fd05c24.
	  This reverts commit d11385d167d8843604ea23a05e2dea40b8bbac35.
	  This breaks the texture sharing with the applemedia elements as
	  CVOpenGLESTextureCache seems to have an arbitrary restriction on GLES2 only.

2016-02-02 16:21:14 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: don't skip subset structures
	  We may need them to transform into a different set of formats.
	  Fixes YUV->YUV with two glcolorconverts, e.g:
	  format=I420 ! glcolorconvert ! glcolorconvert ! format=NV12

2016-02-02 16:19:54 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: always call gl_start when not called already
	  Fixes elements transitioning out of passthrough mode using GL resources that
	  hadn'e been allocated yet.

2016-02-02 15:14:25 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix RGB,rectangle->planar YUV conversion
	  Converting to GRAY is no fun.  Another case of normalized vs unnormalized
	  texture coordinates.

2016-02-02 13:51:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix YUY2/UYVY,rectangle->RGB conversion
	  1.0 / width does not offset by one pixel in rectangular textures (which use
	  unnormalized coordinates).
	  Provide the actual pixel offset as a uniform to the shader.

2016-02-02 12:50:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: perform better negotiation
	  1. Correctly describe what we can caps we can transform to/from.
	  i.e. no YUV->YUV or GRAY->YUV or YUV->GRAY (except for passthrough).
	  2. Prefer similar formats and ignore incompatible formats on fixation.

2016-02-01 12:23:32 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gstglwindow: initialize navigation_loop to NULL
	  Useful when gst_gl_window.c::gst_gl_window_new is not used.
	  This is the case when using a custom GstGLWindow.
	  (ex: GstGLWindowGPUProcess from Chromium)

2016-02-01 09:26:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl: eagl: fix build
	  gstglcontext_eagl.m:238:45: error: too few arguments to function call,
	  expected at least 4, have 3

2016-02-01 15:13:03 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownload: allow video/x-raw as input
	  ...and just passthrough. This is useful for pipelines where downstream must be
	  non-GL but upstream can optionally be GL.

2016-02-01 12:57:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl/eagl: try getting a gles3 context
	  Fallback to a gles2 context if that fails

2016-01-21 16:10:48 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: fix checker vbo leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=760925

2016-01-29 10:35:15 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/glprototypes/base.h:
	  glprototypes: fix parameter type of glGenBuffers
	  The number of buffers should be GLsizei instead of GLuint.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761272

2015-12-08 14:09:58 +0800  Haihua Hu <b55597@freescale.com>

	* ext/gl/effects/gstgleffectssources.c:
	  gleffects: fix gleffects fisheye shader compile error
	  On some embedded systems, sqrt() is not supported in the shader,
	  use the actual value of sqrt(2) instead.
	  Signed-off-by: Haihua Hu <b55597@freescale.com>
	  Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=761271

2016-01-29 14:03:26 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: par may not exist in the caps
	  Fixes a critical in the gst-validate tests:
	  gst_structure_fixate_field_nearest_fraction: assertion 'gst_structure_has_field
	  (structure, field_name)

2016-01-29 12:45:57 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: back out unintended lost_context changes

2016-01-28 16:39:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/utils/opengl_versions.h:
	  egl: implement selecting opengl3 contexts

2016-01-28 14:31:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	  gl/egl: pass the error value to get_error_string()

2016-01-29 04:50:42 +1100  Jan Schmidt <jan@centricular.com>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  pkg-config: Don't generate and install pkg-config with relative paths
	  Don't put relative paths in pkg-config files, including uninstalled
	  ones. For those, use @abs_topbuilddir@ and @abs_topsrcdir@ as we
	  do elsewhere.
	  Remove libraries= directives, which doesn't seem to be a pkg-config
	  variable that actually exists, but has been in all our pkg-config
	  files for as long as they've existed.

2015-10-14 21:13:57 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglvideomixer.c:
	  videoaggregator: don't do caps processing that is not overridable
	  Allows the subclass to completely override the chosen src caps.
	  This is needed as videoaggregator generally has no idea exactly
	  what operation is being performed.
	  - Adds a fixate_caps vfunc for fixation
	  - Merges gst_video_aggregator_update_converters() into
	  gst_videoaggregator_update_src_caps() as we need some of its info
	  for proper caps handling.
	  - Pass the downstream caps to the update_caps vfunc
	  https://bugzilla.gnome.org/show_bug.cgi?id=756207

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

	* ext/gl/gstglcolorbalance.c:
	  glcolorbalance: return HARDWARE from get_balance_type

2016-01-27 20:04:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsinkbin.h:
	  glsinkbin: add glcolorbalance element
	  This makes playbin not plug videobalance as glcolorbalance already exists and
	  implements the GstColorBalance interface.

2016-01-27 19:56:36 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstglcontrolbindingproxy.c:
	* gst-libs/gst/gl/gstglcontrolbindingproxy.h:
	  gl: move control binding proxy implementation from glvideomixer
	  Other elements may need to use it's functionality

2016-01-27 18:17:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorbalance.c:
	  glcolorbalance: create the shader if it doesn't exist in the render callback
	  Changing the properties may result in glcolorbalance moving from passthrough to
	  non-passthrough and we weren't creating the shader in that case.

2016-01-25 19:11:38 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideoflip.c:
	* ext/gl/gstglvideoflip.h:
	  glvideoflip: incorporate the aspect ratio into the scale_x calculations
	  1. Otherwise rotating the video will clip and show black bars due to
	  gltransformation's implementation.
	  2. The other option of make gltransformation aspect-agnostic produces
	  incorrect output with perspective transformations.

2016-01-21 23:13:36 +0100  Holger Kaelberer <holger.k@elberer.de>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	  glwindow: Fix android build
	  https://bugzilla.gnome.org/show_bug.cgi?id=760972

2016-01-19 13:20:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectscurves.c:
	* ext/gl/effects/gstgleffectscurves.h:
	  gl: fix compiler warnings with gcc-6
	  In file included from effects/gstgleffectrgbtocurve.c:25:0:
	  effects/gstgleffectscurves.h:174:32: error: 'xray_curve' defined but not used
	  static const GstGLEffectsCurve xray_curve = {
	  ...

2016-01-19 08:39:58 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  libs: g-i: fix init section to avoid compiler warnings
	  ..GstPlayer-1.0.c: In function ‘main’:
	  ..GstPlayer-1.0.c:587:3: warning: implicit declaration of function ‘gst_init’
	  https://bugzilla.gnome.org/show_bug.cgi?id=760090

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

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: First make caps writable in fixate_caps(), then truncate them
	  Truncating requires writable caps.

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

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Caps passed to fixate_caps() are not owned by us and guaranteed to be fixed
	  So don't try to fixate them, which takes ownership and steals them from
	  basetransform.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760696

2016-01-16 16:55:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  Revert "glpool: fix caps refcount issue"
	  This reverts commit 3bdcdedfa00b87f1db505218789178318a16c743.
	  gst_caps_replace() takes a new reference already, if there is a problem then
	  it is elsewhere. And there are a few problems, see
	  https://bugzilla.gnome.org/show_bug.cgi?id=760696

2016-01-15 17:00:55 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglquery.c:
	  glquery: provide compat definition for GL_QUERY_RESULT
	  e.g. android doesn't have it
	  While we're here move a state specific assertion after the supported check.
	  Removes an assertion on GLES

2016-01-15 16:07:27 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	  gl: add compatibility definition of GLint64
	  e.g. anrdoid doesn't have it

2016-01-15 14:00:56 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glpool: fix caps refcount issue
	  The caps are from an allocation query which are transfer none but were being
	  treated as transfer full.

2016-01-11 13:30:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: log the time for glTexSubImage/glReadPixels

2016-01-08 18:36:54 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/query.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglquery.c:
	* gst-libs/gst/gl/gstglquery.h:
	* tests/check/libs/gstglquery.c:
	  gl: add a gstglquery object for arbitrary GL queries
	  Currently only GL_TIME_ELAPSED and GL_TIMESTAMP are supported

2016-01-11 17:22:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstgldebug.h:
	  gldebug: implement a delayed debug system
	  The messages are stored by gst_gl_async_debug_store_log_msg() and output later
	  by a corresponding store(), output() or an unset()/free().
	  Some wrapper macros are provided to avoid callers explicitly using __FILE__,
	  GST_FUNCTION and __LINE__

2016-01-11 17:26:08 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	  gldebug: use gst_info_vasprintf in insert_debug_marker()
	  Allows expansion of GST_PTR_FORMAT and GST_SEGMENT_FORMAT arguments.

2016-01-15 11:22:40 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglvideoflip.c:
	* ext/gl/gstglvideoflip.h:
	* ext/gl/gstopengl.c:
	  gl: add a videoflip element
	  Behaves exactly the same as the non-GL videoflip element

2016-01-15 00:04:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: recreate the fbo on caps changes
	  The width/height may change which requires recreating the depth buffer.

2016-01-15 00:02:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglbasefilter.h:
	  glbasefilter: add a class function on set_caps (from GL)
	  This is simply a convenience to avoid duplicating the thread marshalling on
	  set_caps.

2016-01-15 00:00:29 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: always build a valid mvp matrix
	  The default case is to build an identity matrix.

2016-01-14 19:03:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: support negative scales
	  A scale of -1.0 means to flip the video.

2016-01-14 18:42:05 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: implement passthrough handling

2016-01-14 17:45:03 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: implement navigation events
	  Reverses the transformation applied through the properties and forwards the
	  event.
	  The process for finding the coordinates on the video are as follows:
	  1. Convert the given pointer_x and pointer_y to model space at the near and far planes
	  2. Get the equation of the video plane
	  3. Find where the ray in 1 intersects the plane
	  4. Profit!

2016-01-14 16:59:12 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: remove reduntant glimagesink from debug logging

2016-01-14 16:57:40 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11/navigation: add button press to the selected event mask
	  Otherwise we won't get the button press events and GstNavigation fails.

2016-01-14 16:00:00 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: try harder to passthrough
	  This makes a pipeline like:
	  ... ! video/x-raw(memory:GLMemory),format=UYVY ! glcolorconvert !
	  video/x-raw(memory:GLMemory),format={UYVY, NV12} ! ...
	  passthrough instead of converting UYVY => NV12. The conversion would happen
	  before this change since the element (and basetransform) transform the src caps
	  to format={NV12, UYVY} (since NV12 comes first in the glcolorconvert:src
	  template) and then the default caps fixate func would fixate to NV12. Blah.
	  Also there's no need to intersect against the template caps in ::transform_caps
	  since basetransform does that right after calling the vfunc.

2016-01-12 18:31:29 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglcolorbalance.c:
	* ext/gl/gstglcolorbalance.h:
	* ext/gl/gstopengl.c:
	  gl: implement a colorbalance element
	  It performs the exact same operation as videobalance but with opengl shaders and
	  was tested with glvideomixer by comparing frames from videobalance and
	  glcolorbalance.

2016-01-12 18:21:50 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvideomixer: implement glBlendFunc and glBlendEquation
	  Allows more blending options than just A over B
	  e.g. frame comparisons are now possible.
	  glvideomixer name=m
	  sink_0::zorder=0
	  sink_1::zorder=1
	  sink_1::blend-equation-rgb={subtract,reverse-subtract}
	  sink_1::blend-function-src-rgb=src-color
	  sink_1::blend-function-dst-rgb=dst-color
	  ! glimagesinkelement
	  videotestsrc pattern=checkers-4 ! m.sink_0
	  videotestsrc pattern=checkers-8 ! m.sink_1

2016-01-08 18:38:46 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldebug.c:
	  gldebug: add a specific category for the debug spam from the driver

2016-01-07 20:56:54 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glbasememory: Free the actual memory object when requested
	  Otherwise we are leaking ~400B on each GstMemory allocation.
	  Freeing in the base class matches the GObject semantics.

2016-01-07 20:54:41 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: don't double read pixels
	  The optimistic download_transfer was not setting the required flag to not
	  perform glReadPixels on subsequent map (READ). resulting in glReadPixels
	  happening twice.

2016-01-07 18:47:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemory: expose gst_gl_memory_texsubimage
	  Removes extremely similar code from glmemorypbo.

2016-01-07 18:05:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfeature.c:
	  glfeature add a specific debug category
	  Saves having to trawl through the 'default' category when function retrieval
	  goes wrong.

2016-01-07 14:08:39 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: only flush with a shared context
	  The wait code will flush for us for single context pipelines.

2016-01-07 14:02:52 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* tests/check/libs/gstglcontext.c:
	  glcontext: implement checking whether a context has been shared
	  Some operations are unnecessary when running with only a single GL
	  context.
	  e.g. glFlush when setting a fence object as the flush happens on wait.
	  API: gst_gl_context_is_shared

2016-01-06 16:25:38 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: implement usage of a buffer pool
	  Saves unnecessary glGenTextures and glDeleteTextures which may have a
	  non-trivial cost.

2016-01-06 15:50:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	  glbasememory: fix copying GstGLAllocationParams
	  Fixes a GST_IS_GL_CONTEXT critical

2016-01-06 15:44:52 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: remove unused code
	  https://bugzilla.gnome.org/show_bug.cgi?id=759679

2016-01-04 20:26:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glupload: always add texture-target field to GL caps
	  1. Various elements/base classes only perform a subset check on accept-caps
	  2. Some GL elements have texture-target in their pad template
	  3. When checking subsets, only the caps to check are allowed to contain extra
	  fields.  If the 'template' caps have extra fields, the subset fails.
	  Thus without texture-target on the caps, various accept-caps implementations
	  were failing.
	  Also, add some convenience functions for setting and retrieving
	  texture targets to/from GValue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759860

2015-12-29 18:16:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: passthrough composition caps features
	  Don't unconditionally add it to any and all caps transformations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759860

2016-01-04 01:03:08 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	  glviewconvert: Fix stereoscopic handling w/ texture-target
	  The addition of texture-target negotiation broke stereoscopic
	  handling when not in passthrough mode, so fix that.

2015-12-30 12:12:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: fix wrapping data on GL 2.1
	  GL 2.1 only supports pbo upload.
	  The wrapped data pointer was only being set on the pbo memory and on the
	  glmemory so when a download was requested (in GL 2.1), glmemory was
	  allocating a new data pointer and thus not returning the wrapped data.

2015-12-30 12:11:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: only create a pbo memory if the context actually supports it
	  e.g. GL <= 2.0 does not support pbo usage and GL 2.1 only supports pbo upload.

2015-12-30 12:09:29 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemory: small code reformat
	  makes the alloc_params selections fit on a single line.

2015-12-30 12:06:17 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglmemory.c:
	  tests/glmemory: output data pointer values on failure
	  Allows quicker inspection of what failed.

2015-12-29 17:04:57 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	  gleffects: fix shader compilation with legacy opengl
	  All the gleffects shaders can be run against a gles2 or a legacy opengl glsl
	  compiler but weren't being advertised as such.
	  Fixes gleffects under desktop opengl < 3.2.

2015-12-29 18:01:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	  glbasememory: Remove bogus NULL check
	  CID 1346534

2015-12-28 15:53:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/glprototypes/sync.h:
	  gl: Add \0 terminators for the Apple sync extension
	  Otherwise GL initialization might check for extensions forever and never finishes.

2015-12-28 14:41:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Add some debug output when the GL thread is actually running

2015-12-27 11:37:09 +0100  Florent Thiéry <florent.thiery@ubicast.eu>

	* ext/gl/gstglfiltershader.c:
	  glshader: fix usage doc
	  The property location has been changed in favor of vertex/fragment
	  string properties; the doc had not been updated and was still referring
	  to the previous property; also, now the #version header has become mandatory
	  https://bugzilla.gnome.org/show_bug.cgi?id=759902

2015-12-26 22:34:29 +0100  Florent Thiéry <florent.thiery@ubicast.eu>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Post unhandled navigation events on the bus
	  Based off xvimagesink implementation
	  https://bugzilla.gnome.org/show_bug.cgi?id=759869

2015-12-28 09:04:12 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: Fix build error
	  When GST_GL_HAVE_PLATFORM_EGL is not defined, then info variable
	  will not be used and this results in build error
	  https://bugzilla.gnome.org/show_bug.cgi?id=759913

2015-12-23 09:50:13 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: Comment out unused functions to fix compilation with clang
	  It's not clear if these are intentionally unused or the code should be
	  changed, but this fixes compilation for the time being at least.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=759679

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

	* tests/check/libs/gstglcolorconvert.c:
	  glcolorconvert: Fix name of testsuite

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

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Signal context creation from inside the context loop and use g_thread_join() instead of a custom condition variable
	  Also protect against spurious condition variable wakeups during context
	  creation.

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

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: Hide navigation specific internal API and add API to asynchronously send navigation events
	  Exposing the navigation thread's main context, GSourceFuncs and structs called
	  key_event and mouse_event is exposing a bit too much of the internals. Let's
	  just go with two functions to asynchronously send navigation events on the
	  window with the same API as the synchronous ones.

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

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: Use g_thread_join() instead of a custom condition variable for waiting for the navigation thread to finish
	  Also hide some internal functions and fields while we're at it and fix
	  a race condition with the startup condition variable.

2015-11-30 09:36:09 +0800  Haihua Hu <b55597@freescale.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: Fix memory leak of navigation thread
	  When stopping the navigation thread, call g_thread_join() to release
	  the resources hold by it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758820

2015-12-18 15:36:40 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glconvert: Fix compilation of GRAY16_LE/BE shader

2015-11-13 17:24:30 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Add dmabuf upload method.
	  This upload method detect and optimize uploads of DMABuf memory. This is
	  done by creating and caching EGLImages wrapper around DMABuf. The
	  EGLImages are then binded to a texture which get converter using
	  standard shader.
	  Example pipeline:
	  GST_GL_PLATFORM=egl \
	  gst-launch-1.0 v4l2src device=/dev/video1 io-mode=4 ! \
	  video/x-raw,format=NV12 ! glimagesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-12-18 15:52:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  eglimagememory: Also import BGR16, ABGR, xBGR, AYUV, GRAY16_LE/BE and Y444
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-12-18 11:08:29 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  eglimagememory: Add RGB/BGR DMABuf importation support
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-11-13 17:40:08 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gsteglimagememory.h:
	  eglimagememory: Methods to create GstGLMemory from dmabufs
	  Maps GstVideoFormats to suitable DRM fourccs which work with
	  glcolorconvert, using gst_gl_memory_alloc(). We require mostly
	  only 4 formats to be supported by the driver. We require DRM
	  equivalent to RGB16, RGBA, R8 and RG88. This way it's compatible with
	  DesktopGL, since GL_TEXTURE_2D is used and limit driver requirements.
	  With this we can virtually support all formats the glcolorconvert
	  supports.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-10-02 13:31:39 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	  build: Add dmabuf build condition.
	  configure.ac: Build dmabuf when EGL and drm_fourcc.h is available.
	  gl: Link gst-allocators.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-11-13 17:09:13 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Show error when video frame is not mapped.
	  Adds more meaningful error than
	  "Failed to convert multiview video buffer", which is always used
	  when prepare_next_buffer() fails in gst_glimage_sink_prepare().
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-11-13 17:05:11 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	  gstglcontext_egl: Expose gst_gl_context_egl_get_error_string.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743345

2015-12-18 13:17:34 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glmemory: add gst_gl_memory_allocator_get_default
	  Add gst_gl_memory_allocator_get_default to get the default allocator based on
	  the opengl version. Allows us to stop hardcoding the PBO allocator which isn't
	  supported on gles2.
	  Fixes GL upload on iOS9 among other things.

2015-12-18 11:49:25 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: don't deadlock on resize
	  Performing any GL function marshalling off the GL thread with glimagesink's
	  render lock is prone to deadlocks between the GL thread and the non-GL thread.
	  What can happen is this:
	  1. non-GL thread attempts to function marshal to the GL thread.
	  2. while 1 is happening, the winsys gives an event (say resize)
	  3. This calls back into glimagesink which taks the render lock.
	  4. As the GL function marshalling is attempting to run on the GL
	  and already has glimagesink's render lock locked.  This deadlocks
	  as the threads are waiting for each other.

2015-12-15 14:14:36 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	  glbasememory: don't unconditionally add the alignment bytes to the size
	  e.g when wrapping a data pointer we don't want to map/unmap off the end of
	  pointer with the alignment bytes.
	  Instead track that information separately as maxsize is used for mapping by
	  GstMemory and thus represents a size without any alignment padding bytes.

2015-12-17 15:50:40 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	  glbuffer: add a name to the allocator

2015-12-17 15:23:13 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglcolorconvert.c:
	  gl*memory*: reverse the parameter order of user_data and destroy notify
	  The convention is to have the destroy notify last after any user data

2015-12-16 18:41:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  glmemorypbo: remove our own alloc()/wrapped()/etc functions
	  replaced by equivalent functionality within gst_gl_base_memory_alloc()

2015-12-16 18:39:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: document gst_gl_memory_init

2015-12-16 18:38:19 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glbuffer: remove unneeded gst_gl_buffer_alloc()
	  Replaced by gst_gl_base_memory_alloc()

2015-12-16 18:37:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	  glbasememory: document some functions

2015-12-16 18:36:13 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: add a default copy implementation
	  Subclasses still need to override this to copy into the correct memory type.

2015-12-16 18:32:40 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  glbufferpool: use gst_gl_base_memory_alloc as a generic GL allocation framework
	  Requires the usage of GstGLVideoAllocationParams however any user can set their
	  own parameters along with an allocator which will be used to allocate the
	  correct memory type.

2015-12-16 18:30:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	  glmemorypbo: implement GstGLBaseMemory:alloc
	  Uses the GstGLVideoAllocationParams parameters

2015-12-16 18:23:31 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  glbuffer: implements GstGLBaseMemory::alloc
	  Create GstGLBufferAllocationParams which is subclass of GstGLAllocationParams

2015-12-16 18:20:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: implement GstGLBaseMemory::alloc
	  - Create GstGLVideoAllocationParams which is a GstGLAllocationParams subclass.
	  - Make it possible to allocate glmemory objects directly if no frills are
	  needed.

2015-12-16 18:13:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	  glbasememory: add a generic interface for allocating GL memories
	  This is made possible by a subclassable GstGLAllocationParams that holds
	  the allocation parameters
	  Every allocation would now go through gst_gl_base_memory_alloc with the
	  allocation parameters now being specified in a single struct to allow
	  extension by different allocators.

2015-12-17 11:06:34 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	  Revert "glbuffer: Don't pass allocation params"
	  This reverts commit 052f41e5c293ec17c038467ed1e7b92b04d494b0.
	  This is incorrect and will affect any other glbuffer user that needs/wants to
	  perform data alignment.

2015-12-16 11:56:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	  glbuffer: Don't pass allocation params
	  The imported memory has already been allocated, passing allocation
	  parameters with alignment confuses the memory which endup with a
	  size different from maxsize and lead to overrun when the memory
	  is being copied.

2015-12-15 14:17:16 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fix allocator name after GLMemory API changes

2015-12-15 19:25:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl: Allow using non-system mesa with both GL and GLES
	  GCC automatically disable redundance warnings for system headers. As
	  soon as we start using a non-system installed mesa, we would start
	  having issues. The test for both wasn't setting any flags, so it would
	  work but then fail at runtime.
	  This is being fixed by disabling in the code (where needed only) that
	  GCC warning. The test is also fixed to avoid the false positive we had.

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

	* ext/gl/gstglbumper.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltransformation.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 14:44:31 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglframebuffer.h:
	  bad: Add g_autoptr() support to all types
	  https://bugzilla.gnome.org/show_bug.cgi?id=754464

2015-12-14 12:31:52 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: check pointer before dereferencing
	  priv->primary_out could be NULL, check before dereferencing it in
	  GST_BUFFER_FLAG_SET ()
	  CID 1308945

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

	* tests/examples/gl/clutter/cluttershare.c:
	  clutter: Fix compilation error in GL examples
	  Include gst/gl.h instead of specific headers to prevent such problems also in
	  the future.
	  In file included from ../../../../gst-libs/gst/gl/gl.h:47:0,
	  from ../../../../gst-libs/gst/gl/gstglbasememory.h:137,
	  from ../../../../gst-libs/gst/gl/gstglmemory.h:29,
	  from cluttershare.c:39:
	  ../../../../gst-libs/gst/gl/gstglmemorypbo.h:51:20: error: field ‘mem’ has incomplete type
	  GstGLMemory      mem;
	  ^
	  ../../../../gst-libs/gst/gl/gstglmemorypbo.h:124:24: error: field ‘parent’ has incomplete type
	  GstGLMemoryAllocator parent;
	  ^
	  ../../../../gst-libs/gst/gl/gstglmemorypbo.h:134:29: error: field ‘parent_class’ has incomplete type
	  GstGLMemoryAllocatorClass parent_class;
	  ^

2015-12-14 18:41:30 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglupload.c:
	  tests: update for glmemory api changes

2015-12-14 18:20:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	  glbuffer: bind/unbind on map/unmap for GL mappings
	  Bind the handle to the GL target on map/unmap to save the caller from
	  handling this themselves.

2015-12-14 18:19:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  glbuffer: remove buffer specific transfer flags
	  Instead rely on GstGLBaseMemory's transfer handling

2015-12-14 18:18:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemorypbo.c:
	  glmemorypbo: map/unmap pbo memory correctly for state tracking
	  Otherwise some downloads will fail to occur from the PBO.

2015-12-14 18:15:42 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglmemory.c:
	  tests/glmemory: include the generic gl header
	  Including gstglmemory.h directly results in the compiler complaining
	  about incomplete types.

2015-12-14 17:05:31 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglformat.c:
	  glformat: add compatibility definitions for OES/rectangle textures

2015-12-14 13:49:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbasebuffer.c:
	* gst-libs/gst/gl/gstglbasebuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	  glbasebuffer: remove unsed memory subclass
	  The functionality has been split into GstGLBaseMemory and GstGLBuffer.

2015-12-14 13:43:59 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglformat.c:
	* gst-libs/gst/gl/gstglformat.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmemorypbo.c:
	* gst-libs/gst/gl/gstglmemorypbo.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglmemory.c:
	  glmemory: base classify and add the pbo memory on top
	  The base class is useful for having multiple backing memory types other
	  than the default.  e.g. IOSurface, EGLImage, dmabuf?
	  The PBO transfer logic is now inside GstGLMemoryPBO which uses GstGLBuffer
	  to manage the PBO memory.
	  This also moves the format utility functions into their own file.

2015-12-14 13:08:10 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	  gl: add a GL buffer based GstMemory
	  Heavily based on GstGLBaseBuffer that is a subclass of GstGLBaseMemory.
	  Provides GPU and CPU accessible GL buffer objects by GL handle or by
	  sysmem data pointer.

2015-12-14 12:59:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbasememory.c:
	* gst-libs/gst/gl/gstglbasememory.h:
	  gl: add a base memory object
	  It handles the following
	  - GstAllocationParams -> gst_memory_init transformation
	  - Makes sure that map/unmap/create/destroy happen on the GL thread with
	  a GL context current.
	  - Holds a possible sysmem accessible data pointer with alignment.
	  - Holds the need upload/download transfer state

2015-12-14 12:26:01 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: add convenience function for the start of a video frame
	  Get's the start of the video frame based on a GstVideoInfo and
	  GstVideoAlignment.

2015-12-11 16:07:36 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* gst-libs/gst/gl/gstgluploadmeta.h:
	* tests/check/libs/gstglupload.c:
	  gluploadmeta; remove convenience helper API
	  It was not really useful as if one knows about libgstgl, one can just use
	  GLMemory objects directly.

2015-12-11 15:39:57 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglstereomix.h:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	  gldownload: remove helper api from the library
	  It was never used by anyone and is not needed anymore with the element
	  and GstGLMemory's transparent support for downloading textures.

2015-12-12 09:33:38 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: clear to transparent
	  Otherwise composition will result in a black frame outside the transformed
	  video.

2015-12-10 14:41:44 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  libgstgl: gstglcontext_cocoa: kCGLPFAStereo has been deprecated in 10.11
	  Also since the version scheme has changed (to include the micro number) since
	  10.10, use the MAC_OS_X_VERSION_* macro to avoid confusion.

2015-12-10 12:41:00 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: relax check for multiple texture targets
	  Only complain about multiple texture targets when _different_ texture targets
	  are configured.

2015-12-10 12:33:52 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: take subsampling into account for rectangle textures
	  Rectangle textures don't use normalized coordinates so subsampling needs to be
	  factored in explicitly.
	  Fixes YUV => RGB conversion for rectangle textures.

2015-12-08 16:35:45 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/sync.h:
	  glproto: include function definitions for GL_APPLE_sync
	  Provides a performance improvement on iOS where we were falling back to glFinish
	  on settting sync points.

2015-12-01 18:09:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Only offer custom allocator with caps features
	  To use GLMemory and EGLImage allocators, one need to know the
	  libgstgl API. This is only expected if the associated caps features
	  have been negotiated. Generic element that otherwise receive those
	  allocators may fail, resulting in broken pieline. We don't want to
	  force all generic element to check if the allocator is a custom
	  allocator or a normal allocator (which implement the _alloc method).
	  https://bugzilla.gnome.org/show_bug.cgi?id=758877

2015-12-02 22:42:39 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: improve the YUY2/UYVY->RGBA conversion shader
	  Don't offset the y-axis.  We only need to offset on the x-axis.
	  Removes a sawtooth pattern on horizontal and vertical edges.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755486

2015-12-02 22:40:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: improve RGBA->YUY2/UYVY conversion shader
	  We should only average the chroma samples not the luma sample.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758904

2015-12-01 23:20:45 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/gl/Makefile.am:
	  Drop usage of deprecated g-ir-scanner --strip-prefix flag

2015-11-17 15:23:17 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* ext/gl/gstglbumper.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	  Remove unnecessary NULL checks before g_free()
	  g_free() is NULL-safe

2015-11-17 17:17:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Remove unused variable
	  gstglimagesink.c: In function 'gst_glimage_sink_on_draw':
	  gstglimagesink.c:1959:18: error: unused variable 'sync_meta' [-Werror=unused-variable]
	  GstGLSyncMeta *sync_meta = NULL;
	  ^

2015-11-17 17:09:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: String literals are const
	  gstglviewconvert.c: In function '_mangle_extensions':
	  gstglviewconvert.c:1511:13: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
	  ext_str = "#extension GL_OES_EGL_image_external : require\n";
	  ^

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

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: Actually return the newly created meta from gst_buffer_add_gl_sync_meta()
	  gstglsyncmeta.c  -fPIC -DPIC -o .libs/libgstgl_1.0_la-gstglsyncmeta.o
	  gstglsyncmeta.c: In function 'gst_buffer_add_gl_sync_meta':
	  gstglsyncmeta.c:131:1: error: control reaches end of non-void function [-Werror=return-type]
	  }
	  ^

2015-11-16 15:46:41 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: wait on the correct sync meta when rendering

2015-11-02 17:57:29 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	  glsyncmeta: add vfuncs for all operations
	  there could be other ways/requirements for synchronising two GPU command
	  streams (whether GL or platform specific).
	  e.g. glfencesync/eglwaitnative/cond/etc

2015-11-10 15:37:05 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: add support for rendering external-oes textures
	  https://bugzilla.gnome.org/show_bug.cgi?id=757285

2015-11-10 14:54:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	  glviewconvert: add support rectangle/external-oes textures
	  https://bugzilla.gnome.org/show_bug.cgi?id=757285

2015-11-17 09:08:52 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Fix structure memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=758205

2015-11-13 10:41:58 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglsl.c:
	  glsl: fix possible string overrun in gst_glsl_version_profile_from_string
	  given a NULL-terminated string, s.
	  s[i] = '\0';
	  i++;
	  does not guarentee that s[i] is NULL terminated and thus string operations
	  could read off the end of the array.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758039

2015-11-13 16:50:22 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	  glshader: don't read invalid list pointers (use after free)
	  gst_gl_shader_detach_unlocked already removes the list entry so attempting to
	  use the element to iterate to the next stage could read invalid data.
	  Based on patch by Vineeth TM <vineeth.tm@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=758039

2015-11-13 10:44:26 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/libs/gstglsl.c:
	  tests:glsl: version_profile_s string leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=758039

2015-11-13 10:56:10 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglsl.c:
	  glsl: free str while returning error
	  https://bugzilla.gnome.org/show_bug.cgi?id=758039

2015-11-13 11:04:34 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/libs/gstglupload.c:
	  tests:glupload: fix caps memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=758039

2015-11-12 16:36:03 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: Fix vertex_sources memory leak
	  vertex_sources is being allocated but not freed resulting in leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757974

2015-11-12 16:26:00 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: remove unnecessary free
	  version_str is already being freed. So no need to call again
	  https://bugzilla.gnome.org/show_bug.cgi?id=757974

2015-11-12 16:18:35 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix string leak
	  String got using gst_glsl_version_profile_to_string, is allocated
	  memory and should be freed
	  https://bugzilla.gnome.org/show_bug.cgi?id=757974

2015-11-12 16:02:45 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix frag_prog and frag_body memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757974

2015-11-11 23:39:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: mangle gl_FragColor for GL3
	  Some drivers don't provide the compatibility definition and we need to provide
	  our own 'out vec4' variable to put the results of the fragment shader into.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757938

2015-11-11 16:06:25 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/libs/gstglcolorconvert.c:
	  tests:glcolorconvert: Fix caps memory leak
	  Output caps being got from video info is not getting freed
	  https://bugzilla.gnome.org/show_bug.cgi?id=757929

2015-11-10 13:52:30 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglstereomix.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	  glviewconvert: remove set_format
	  We need the caps to be able to
	  1. check the caps features
	  2. get the requested texture-target on input/output

2015-11-11 10:31:07 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: fix a memory leak if the view conversion fails

2015-11-11 13:37:59 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: balance the creation/destruction of the overlay compositor
	  Fixes some leaks/possible segfault on when failing to create the compositor.

2015-11-11 12:23:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglutils.c:
	  glshader: properly unref the stages on failure
	  When failing in the varargs functions, all the stage objects not handled need to
	  be unreffed to prevent a leak.

2015-11-11 11:29:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: properly return an error when we could not create the shader stage
	  While it was erroring out correctly later, there were GLib warnings about
	  setting a GError over the top of another GError.

2015-11-11 01:05:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshaderstrings.c:
	  glshaderstrings: fixup the external-oes fragment shader
	  The wrong sampler type was used
	  s/sampler2DExternalOES/samplerExternalOES/

2015-11-10 23:41:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: try to keep the same texture-target if possible
	  Fixes issues attempting to passthrough external-oes textures

2015-11-10 22:41:57 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix rendering rectangular textures with GL3
	  Rectangular textures are unavailable in unextended
	  GLES2 #version 100 shaders.
	  Fixes
	  texture-target=rectangle ! glcolorconvert ! texture-target=2D
	  There's a couple of differences between GL3 and GLES2/GL
	  - varying -> in or out depending on the stage (vertex/fragment)
	  - attribute -> in
	  - filtered texture access is a single function, texture()

2015-11-10 20:20:29 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: properly use the other texture-target on fixation

2015-11-10 20:15:56 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: add debug as to why _set_strings() failed

2015-11-10 20:13:53 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsl.c:
	  glsl: fix check for glsl version against GL context inversion
	  Any GLSL version that was less than the provided GL version would fail

2015-11-10 13:13:50 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_enums.h:
	* gst-libs/gst/gl/gstglmemory.h:
	  gl: forward declare some enums
	  Specifically the GstGLTextureTarget enum

2015-11-10 13:11:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstglshaderstrings.c:
	* gst-libs/gst/gl/gstglshaderstrings.h:
	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: expose the default shader strings as public
	  Add some other simple strings for external-oes textures or transforming
	  the texture coordinates with a transformation matrix

2015-11-06 03:05:31 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: wait on the sync meta for input buffers

2015-11-05 00:13:01 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: wait on the provided sync meta provided to glimagesink

2015-11-08 22:14:01 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: use the correct oes target string in the template caps

2015-11-06 12:31:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	  glshader, tsdemux: simplify code
	  Jus use _delete_link() instead of _remove_link() + _free1()

2015-11-06 12:30:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglmixerbin.c:
	  glmixerbin: fix minor leak
	  Don't leak removed list node.

2015-11-02 12:10:44 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gstglutils: fix shader compilation on Mountain Lion
	  Make gst_gl_context_gen_shader/_compile_shader assume GST_GLSL_PROFILE_ES |
	  GST_GLSL_PROFILE_COMPATIBILITY as the profile. Without this, the shader compiler
	  doesn't inject the #version tag resulting in a compilation error on Mountain
	  Lion.
	  This is a workaround for old code using gst_gl_context_gen_shader. New code
	  should use the gst_glsl_stage_* API directly which allows the caller to
	  explicitly specify version/profile.

2015-10-31 23:28:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: explicitly initialize a possibly uninitialized variable
	  The ret variable may be uninitialized and so its contents were undefined and
	  the results were erratic (failing with glvideomixer, succeeding in other cases)
	  P.S. No idea why gcc/clang et al never picked up on this like they normally do
	  (probably due to some optimisation pass figuring out it's only set once...)

2015-10-30 15:00:23 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gl/tests: update for glmemory api changes

2015-10-30 14:43:23 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvert: remove unused ret variable

2015-10-30 14:40:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglslstage.h:
	  glslstage: remove typedefs from the header
	  They are already defined in the forward decleration header and defining them
	  more than once will give an error with OSX's clang about typedef redefinition
	  being a C11 feature.

2015-10-30 14:38:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: follow the correct texture target names

2015-10-30 01:42:42 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: explicitly configure the texture target on the gl buffer pool
	  If we don't, then the pool could end up allocating 2D textures when the
	  caps explictly state they should be rectangle textures.

2015-10-30 01:27:36 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glbufferpool: add bufferpool options for the various texture targets
	  This was chosen over relying solely on the caps as glupload needs to propose an
	  allocation and set the texture target based on the output caps.  Setting the
	  caps in the config is currently pointless as they are overwritten in a lot of
	  element's decide_allocation functions.
	  This provides a mechanism for the buffer pool to be configured for a certain
	  texture target when none has been configured.

2015-10-29 13:04:31 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: add support for converting texture targets
	  Solved with a simple shader templating mechanism and string replacements
	  of the necessary sampler types/texture accesses and texture coordinate
	  mangling for rectangular and external-oes textures.

2015-10-29 00:44:26 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* tests/check/libs/gstglmemory.c:
	  glmemory: add support for rectangle textures
	  Add the various tokens/strings for the differnet texture types (2D, rect, oes)
	  Changes the GLmemory api to include the GstGLTextureTarget in all relevant
	  functions.
	  Update the relevant caps/templates for 2D only textures.

2015-10-30 01:45:13 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: order the caps template so that RGBA is first
	  glcolorconvert ! glcolorconvert would sometimes negotiated RGB
	  (the first list entry) otherwise.

2015-10-30 01:16:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  glbufferpool: move typedef's into the forward decleration file
	  Otherwise, for example, clang will warn about typedef redefinitions
	  being a C11 feature.

2015-10-28 14:41:54 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: initialize output params to 0 before calling gl functions
	  The client side API of the Chromium's GPU Process has asserts
	  in debug mode that check that output params are initialized to 0.

2015-10-27 00:36:41 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstopengl.c:
	  opengl: build/provide glstereomix/split on gles only systems

2015-10-26 18:26:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: allow outputting multiple textures for gles3 contexts
	  the USING_GLES2 includes all GLES3 contexts as well which does support
	  drawing to multiple buffers.  Instead make or decision solely based on
	  whether glDrawBuffers is available or not.

2015-10-26 17:36:21 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: expose the element on gles2 platforms
	  We can do everything with gles3 however gles2 restricts us not allowing
	  separated or frame-by-frame multiview modes due to multiple draw buffers.

2015-10-21 05:34:18 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	  glshaderelement: free the vertex and fragment strings on finalize
	  Fixes a memory leak when using the vertex/fragment properties.

2015-10-21 05:00:11 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	  glshaderelement: remove unneeded reference to <gst/gl/gstglshadervariables.h>

2015-10-21 04:44:50 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	  gl: fix usage of string.h and stdio.h functions without including the headers
	  e.g:
	  gstglcontext_egl.c:613:7: error: implicit declaration of function 'strcmp'
	  [-Werror=implicit-function-declaration]
	  if (strcmp (G_MODULE_SUFFIX, "so") == 0)

2015-10-16 07:03:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: create a context in NULL_READY
	  So that it's possible for decoders et al. to request the OpenGL context
	  in their READY_PAUSED transition with decodebin/playbin.

2015-10-21 03:59:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglshadervariables.h:
	  gl: remove unneeded shader variable parsing code

2015-10-21 03:23:30 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltershader.h:
	  glshaderelement: implement setting arbitrary uniforms
	  Currently float and int are supported by default. vec2, vec3, vec4
	  and mat4 are supported if graphene is used.  Of course if one wants
	  to set custom uniforms they can also be set using the create-shader
	  signal.

2015-10-19 15:15:30 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  gl: be consistent in gobject boilerpate
	  GST_GL_IS_* vs GST_IS_GL_*
	  git grep -l 'GST_GL_IS_' | xargs sed -i 's/GST_GL_IS_/GST_IS_GL_/g'

2015-10-17 15:26:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltershader.h:
	  glshaderelement: implement on-demand create-shader signalling
	  One may not have an GstGLContext available or current in the thread where one
	  would need to update the shader.  Support this by signalling create-shader
	  whenever the one-shot 'update-shader' is set to TRUE.

2015-10-17 02:42:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	  gl/calayer: don't leak a gl shader object
	  We will always overwrite the ca_sink->redisplay_shader without freeing the
	  object.

2015-10-16 02:57:19 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglslstage.c:
	  glslstage: add brackets around pointer dereference referencing an array
	  While technically, i is always 0 and *vertex_sources[i++] is equivalant
	  to (*vertex_sources)[i++].  Be future-proof in the case of code
	  moves/changes/etc.
	  CID 1327406

2015-10-15 23:47:11 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	  gl/caopengllayersink: port to new GstGLShader API
	  fixes build error:
	  "undefined symbols for architecture:
	  gst_gl_shader_compile_with_default_vf_and_check"

2015-10-15 22:42:26 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  gl/tests: port glcontext test to opengl
	  Now uses vao's and vbo's when possible like the rest of the gstgl library.

2015-09-04 16:16:51 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltershader.h:
	  glshader: port element to GstGLSLStage
	  - Provide a shader property to set the full shader pipeline
	  - Provide vertex and fragment properties for just providing simple
	  shader sources.

2015-09-04 16:02:32 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglutils.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  glshader: port to using GstGLSLStage objects for string management
	  A GstGLShader is now simply a collection of stages that are
	  compiled and linked together into a program.  The uniform/attribute
	  interface has remained the same.

2015-09-04 14:36:47 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglslstage.h:
	  glsl: add a shader stage object GstGLSLStage
	  Represents a stage (vertex, geometry, fragment, etc) in the shader
	  pipeline.

2015-09-04 00:09:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshadervariables.h:
	  gl/shader/variables: include generic gl.h header
	  Otherwise we may miss some forward declarations
	  Fixes build error: undefined reference to GstGLSLStage

2015-08-20 15:11:06 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglsl.c:
	* gst-libs/gst/gl/gstglsl.h:
	* gst-libs/gst/gl/gstglsl_private.h:
	* tests/check/libs/gstglsl.c:
	  gl: add some GLSL utility functions
	  Specifically parsing/setting GLSL versions and the shader related
	  function table.

2015-10-13 12:40:04 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/gl/gstgldebug.c:
	  gl: fix leak in gst_gl_insert_debug_marker()
	  The string allocated by g_vasprintf() was leaked.
	  Reproduced using the
	  validate.file.compositor.simple.play_15s.synchronized validate scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756492

2015-10-06 21:23:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Proxy the ignore-eos videoaggregator property as well
	  Identical to how the z-order property is proxied

2015-08-20 16:03:29 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/examples/gl/gtk/fxtest/fxtest.c:
	* tests/examples/gl/gtk/fxtest/pixbufdrop.c:
	  gstreamer: bad: 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=753854

2015-10-02 01:01:42 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldebug.c:
	* gst-libs/gst/gl/gstgldebug.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: move debugging related functions to their own file

2015-10-01 23:20:19 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorscale.c:
	  glcolorscale: use glbasefilter vfuncs
	  Uses less code \o/
	  Fixes legacy opengl rendering \o/

2015-09-30 08:36:15 +0200  Antoine Jacoutot <ajacoutot@gnome.org>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Pass GL_CFLAGS to g-ir-scanner
	  This unbreaks building when some headers are under a non-standard path.
	  e.g. /usr/X11R6/include as on OpenBSD.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755850

2015-09-30 15:17:38 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fixup strstr lengths so we don't overrun

2015-09-30 13:31:50 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgluploadelement.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* tests/check/libs/gstglupload.c:
	  glupload: remove useless release_buffer
	  It's a leftover from when we weren't outputting GstBuffer's and
	  returning raw texture id's.

2015-09-30 01:53:53 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  glutils: use gst_element_set_context for setting display/other_context
	  1. So we get tracking inside GstElement properly when e.g. adding to a bin
	  2. Removes redundant code.  Now only one place where
	  GstContext->GstGLDisplay/GstGLContext transformation occurs
	  3. Fixes a memory leak in the process
	  4. Make the retrieval of debug categories thread safe

2015-09-17 16:59:16 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl/eagl: use the default GL context debug category

2015-09-28 22:31:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: set the context on the element on a context query
	  Otherwise it's possible to lose the context information if the
	  context is only propagated through queries.

2015-09-28 22:20:29 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: chain up to the parent class for GstElement::set_context
	  https://bugzilla.gnome.org/show_bug.cgi?id=705579

2015-08-31 19:21:54 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: sprinkle some debug markers to ease debugging

2015-08-31 19:18:23 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl/utils: add a function to insert a debug marker
	  These markers are visible in tools that record the GL function calls
	  such as apitrace, et al.
	  Makes it easier to match up GL draw commands with specific elements.

2015-08-31 19:17:21 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/debug.h:
	  gl: add some debugging prototypes

2015-09-26 19:19:50 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: remove unused draw_unlocked function
	  The functionality is provided by draw anyway and is leftover from
	  X11's specific threading requirements that no longer apply.

2015-09-25 10:32:00 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: use GL_ELEMENT_ARRAY_BUFFER for vbo indices
	  Fixes this error with chromium gpu process:
	  GL_INVALID_OPERATION, glBindBuffer: buffer bound to more than 1 target
	  https://bugzilla.gnome.org/show_bug.cgi?id=755618

2015-09-17 14:17:09 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: fix texture leak in _gl_mem_copy
	  https://bugzilla.gnome.org/show_bug.cgi?id=755456

2015-09-21 08:04:40 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: fix rendering with recent resize state tracking
	  557ca6fda5f831be4aba5819bf7b30b296e575cd didn't change to the
	  necessary gst_gl_window_resize() call for the dispmanx backend.

2015-09-18 00:20:13 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglstereomix.c:
	  Don't throw compiler warnings with G_DISABLE_ASSERT
	  Disable code that warns about unused variables when G_DISABLE_ASSERT
	  is defined, as it is in tarballs and pre-releases.

2015-09-17 22:17:24 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/caopengllayer: fix non-existent selector warning
	  557ca6fda5f831be4aba5819bf7b30b296e575cd introduced the queueResize
	  call without implementing the selector

2015-09-17 21:31:39 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: Fix g_return_val_if_fail in a void function

2015-09-17 17:22:47 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: request a resize on caps/3d mode changes
	  Fixes incorrect aspect ratio on OSX when changing caps or the 3d
	  output mode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755111

2015-09-17 17:06:37 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  glwindow: add API to request a resize event on the next draw
	  - glimagesink needs to be able to resize the viewport on aspect ratio
	  changes resulting from either caps changes or 3d output mode changes.
	  - Performing a glViewport outside the GstGLWindow::resize callback
	  will not have the winsys' stack of viewports required to correctly
	  place the output frame.
	  Provide a function to request a resize on the next draw event from the
	  winsys.
	  Also track size changes inside the base GstGLWindow class rather
	  than in each subclass.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755111

2015-09-17 16:55:11 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgluploadelement.c:
	  gl/uploadelement: fail earlier if we could not upload the buffer

2015-09-17 16:05:21 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: store the correct dimension from the resize events
	  small typo s/width/height/

2015-09-17 13:35:02 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasebuffer.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: Fix GError leaks during failures
	  https://bugzilla.gnome.org/show_bug.cgi?id=755140

2015-09-16 17:28:05 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: avoid updating the viewport in the draw loop
	  Fixes flashes/incorrect aspect ratio when resizing glimagesink on OSX.

2015-09-15 11:34:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  gl: bufferpool take into account video stride alignment requirements
	  when allocating memory. Fixes crashes with avdec_h265 in the AVX2
	  code path which requires 32-byte stride alignment, but the
	  GstAllocationParams only specified a 16-byte alignment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754120

2015-09-09 23:53:57 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl/api: use public rather than private define
	  HAVE_IOS is only defined for the build of this module so
	  attempting to use gstgl in iOS would result in incorrect GL
	  includes.
	  Use GST_GL_HAVE_PLATFORM_EAGL instead for choosing the iOS GL
	  header.

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

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl/eagl: Also unbind renderbuffer after setting up framebuffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=754757

2015-09-09 09:27:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl/eagl: Don't make context uncurrent just to make it current again in the next line
	  Also binding the framebuffer again is unnecessary then as it was just bound a
	  few lines before while the context was current.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754757

2015-08-31 18:06:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gtk, qt, gl: fix typo in debug and error messages

2015-08-24 19:47:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgluploadelement.c:
	  glupload: Use base class metadata copy function
	  This allow properly copying selected meta, like the composition
	  overlay. Note that output buffer need to be readable, but GlUpload
	  keeps a ref. For now, simply drop GlUpload ref after perform,
	  leaving that ref has no purpose. The method shall be removed
	  in the future.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754047

2015-08-24 19:28:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvert: Use base transform metadata copy
	  Use base class default method instead of only copying flags and
	  timestamp. This way, selected meta's like compostion overlay will
	  be passed downstream as expected.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754047

2015-08-25 10:09:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/eagl: Unref context after setting a window handle
	  gst_gl_window_get_context() returns a new reference.
	  Hopefully fixes https://bugzilla.gnome.org/show_bug.cgi?id=753758

2015-08-21 13:42:18 -0700  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: update display size before sending event
	  This is minor issue, as the reconfigure event is asynchronous.
	  Basically, update width/height before sending the event.

2015-08-20 17:27:34 -0700  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstgluploadelement.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: Let base transform relay the meta api for us
	  During allocation query, when this element is not passthrough, it must
	  relay the overlay compostion meta and it's parameters. Fortunatly, base
	  transform can do this for us.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753850

2015-08-21 14:07:32 +0900  Justin Kim <justin.kim@collabora.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: add specific error message when missing GL_SHADING_LANGUAGE_VERSION
	  GL_SHADING_LANGUAGE_VERSION was introduced since ES 2.0, but in some
	  android emulator doesn't support this feature. To prevent confusion for
	  developer, the error message need to be more clear.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753905

2015-08-21 16:31:41 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* ext/gl/caopengllayersink.m:
	  caopengllayersink: Don't chain up to parent's query handling twice for DRAIN query
	  https://bugzilla.gnome.org/show_bug.cgi?id=753913

2015-08-17 18:35:58 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: only call gl_{stop,start} if the context changed
	  Removes the redundant GL object creation/deletion on every
	  decide_allocation call which is being called for every caps change.
	  Thus reduces the required GL state changes on reconfigure events
	  which are being sent by glimagesink/xvimagesink

2015-08-16 18:13:12 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Recalculate offset and size in raw upload
	  As we only expose the mapped portion of the frame into the GL
	  memory object (and not the original padding) we need to
	  re-calculate the size and offset.

2015-08-14 12:25:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/elements/glimagesink.c:
	  checks: Ensure thread-safe libX11/GL when running tests

2015-08-15 15:02:33 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	  gloverlaycompositor: Also disable the blend when done

2015-08-15 14:31:15 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglupload.c:
	  glsink: Enable sync meta on pools we offer
	  As the upload is asynchronous, we need to enable the sync meta to
	  gain correct rendering. The buffer pool receiver don't know about
	  that.

2015-08-14 17:36:48 +0200  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Move overlay rendering after video rendering
	  This is mostly cosmetic, but heoretically it reduces the amount of
	  required object in the context at one point. It also avoids potential
	  conflicts.

2015-08-15 10:03:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	  opengl: Change GLclampd to double
	  GLclampd does not exist on GLES, only desktop GL.

2015-08-14 10:32:14 -0700  Martin Kelly <martin@surround.io>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	  opengl: add missing ClearDepth prototype
	  The ClearDepth call is missing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753639

2015-08-12 00:20:10 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: take into account non 1/1 par for navigation
	  The current code was ignoring the par/dar aspect when transforming
	  from window coordinates to stream coordinates resulting in incorrect
	  coordinates being sent upstream in the navigation events.

2015-08-10 14:48:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: Add opengl_version.h to the list of sources
	  Adding this private header to the list of sources. We don't want to make
	  this header public, but we need it in the list of sources otherwise it
	  won't be included in the tarball. This fixes make distcheck.
	  This regression was introduced by commit 1a6fe3db

2015-08-10 16:38:32 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectblur.c:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlaplacian.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsobel.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/effects/gstgleffectssources.h:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: use gles2 shaders everywhere
	  This effectively limits a glfilter subclass to be > GL(ES) 2.0.
	  rather than a possible GL 1.4.

2015-08-10 15:44:54 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/utils/opengl_versions.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glcontext/wgl: implement gl3 core profile context selection

2015-02-28 01:07:44 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: implement pivot point for rotation and scale
	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
	  Add a pivot vector for setting the origin of rotations and scales.
	  With the pivot point the rotation and scale operations can have
	  different origins. This adds the ability to rotate around different points.
	  Currently the default (0, 0) pivot point is possible,
	  a rotation around the center, and zooming into and out of the center.
	  With an pivot point this is optional.
	  I defined the following image coordinates for the pivot point:
	  (-1,1) ------------------------- (1,1)
	  |			|
	  |			|
	  |			|
	  |	  (0,0)		|
	  |			|
	  |			|
	  |			|
	  (-1,-1) ------------------------- (1,-1)
	  Example:
	  Rotate the video at the bottom left corner
	  gst-launch-1.0 videotestsrc \
	  ! gltransformation \
	  scale-x=0.5 \
	  scale-y=0.5 \
	  rotation-z=25.0 \
	  pivot-x=-1.0 \
	  pivot-y=-1.0 \
	  ! glimagesink
	  The pivot-z option defines the pivot point in 3D space.
	  This only affects rotation, since we have no Z data to scale.
	  With this option a video can be rotated around a point in 3D space.
	  Example:
	  Rotate around point behind the video:
	  gst-launch-1.0 videotestsrc \
	  ! gltransformation \
	  rotation-x=10.0 \
	  pivot-z=-4.0 \
	  ! glimagesink

2015-08-08 14:45:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	  gloverlaycompositor: Add shader to convert BGRA/ARGB -> RGBA
	  Depending on the bytes order we will get BGRA (little) and ARGB (big)
	  from the composition overlay buffer while our GL code expects RGBA. Add
	  a fragment shader that do this conversion.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752842

2015-08-08 17:22:05 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  gl/syncmeta: implement synchronisation without glFenceSync
	  Uses glFinish as that's the best we have for lesser OpenGL versions.

2015-08-08 15:30:43 +0200  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  tests/glcontext: fix INVALID_ENUM GL error in test

2015-08-08 15:21:03 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  context/glx: only use glXCreateContextAttribs for OpenGL 3 contexts
	  mesa for example when creating a GL 3.1 compatibility context
	  overrides our context profile selection to create a core context.

2015-08-03 19:48:16 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: swap control binding proxy
	  The ref_object and object parameters were the wrong way around.
	  For the typical use case where an application is setting a
	  GstControlBinding on the returned ghost pad:
	  1. our control binding would be removed when the new one was set
	  2. sync_values calls were not being forwarded from the internal
	  pad to the ghost pad.
	  If an application attempts to perform other control binding
	  operations (get_* family of functions) on the internal pad, they
	  will also be forwarded to the ghost pad where a possible
	  GstControlBinding will provide the necessary values.

2015-07-30 11:12:21 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* ext/gl/gstglfilterbin.c:
	  gstglfilterbin: remove unused variable
	  res is set multiple times but never used or returned. Removing it.

2015-07-29 19:10:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Remove debug output from gst_gl_upload_transform_caps()
	  We can't know if the GstGLUpload type is initialized at this point already,
	  and thus our debug category might not be initialized yet... and cause an
	  assertion here.
	  As we don't print debug output for any of the other transform functions, let's
	  defer this problem for now.

2015-07-29 17:48:58 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* ext/gl/gstglstereomix.c:
	  glstereomix: remove redundant initialization
	  v is initialized in the for loop init, no need to do it twice. Removing
	  first initialization.

2015-07-28 11:20:40 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* tests/check/libs/gstglcolorconvert.c:
	  glcolorconvert-test: Test notify function for setup_wrapped
	  gst_gl_memory_setup_wrapped() now takes a destroy notify function. This
	  destroy notify is called to track the memory life time, hence will
	  notify each time a memory get destroyed. This test check that the
	  callback count is correct.

2015-07-28 11:06:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* tests/check/libs/gstglcolorconvert.c:
	  glcolorconvert-test: Fix build

2015-07-28 08:59:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Add fixme about using bufferpool for raw
	  http://bugzilla.gnome.org/show_bug.cgi?id=752937

2015-07-27 16:58:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Keep input frame mapped as long as needed
	  When performing a raw upload, we need to keep the raw data mapped as
	  long as needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752937

2015-07-27 15:58:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  Revert "glupload: memcpy on raw data upload"
	  This reverts commit 82c0189b2842e8729e82a4e73491dffc977bc7c2.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752937

2015-07-27 21:54:27 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	  glcontext/wgl: fix defenition of gst_gl_context_wgl_new
	  gstglcontext_wgl.c: In function 'gst_gl_context_wgl_new':
	  gstglcontext_wgl.c:83:40: error: 'display' undeclared (first use in this function)

2015-07-27 20:03:05 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	  gl/cocoa: fix definition of gst_gl_context_new
	  gstglcontext_cocoa.m:75:1: error: conflicting types for 'gst_gl_context_cocoa_new'

2015-07-27 20:00:47 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl/win32: fix definition of gst_gl_window_win32_new

2015-07-27 18:21:19 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  wayland: fail window open if the display is the correct type
	  Errors out cleanly if a wayland compositor is not running

2015-07-24 17:00:27 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: pass display to implementation's _new()
	  So they have to opportunity to fail if they cannot handle the
	  display connection.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752743

2015-07-24 16:11:38 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  glcontext: pass display to implentation's _new()
	  This allows the context to fail creation based on incompatible
	  display type's. e.g. glx context with an wayland display handle.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752743

2015-07-06 00:52:06 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: support cgl, egl and glx within a same build
	  On osx, with the same build,
	  gst-launch-1.0 videotestsrc ! glimagesink works with:
	  GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=gles2
	  GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=opengl
	  GST_GL_PLATFORM=glx GST_GL_WINDOW=x11 GST_GL_API=opengl
	  GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl
	  GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl3
	  https://bugzilla.gnome.org/show_bug.cgi?id=752743

2015-07-27 16:36:40 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Check that caps contain desired caps features
	  Use 'contains' checks instead of equality checks on caps features
	  to allow for uploading when caps also contain GstVideoOverlayComposition
	  meta.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752912

2015-07-06 00:45:45 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: move GL_NUM_EXTENSIONS definition after gl.h
	  https://bugzilla.gnome.org/show_bug.cgi?id=752743

2015-07-23 23:59:22 +0100  Julien Isorce <julien.isorce@gmail.com>

	* ext/gl/caopengllayersink.m:
	  caopengllayersink: remove unused label context_creation_error
	  Build error introduced by commit
	  5457e55f255518d679b59a170951e299ecd8c5f6
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-07-23 11:18:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: fix allocation meta structure leak
	  gst_query_add_allocation_meta() does not take ownership
	  of the structure, for some reason.
	  CID 1312135

2015-07-23 10:57:26 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fix memory leak
	  GstCapsFeatures need to be freed with gst_caps_features_free() after use.
	  CID #1312136, CID #1312136

2015-07-02 20:10:50 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Add GstControlBinding proxy
	  This is used to proxy GstControlBinding to the pad on the
	  parent object. This avoid having to sync the values in the proxy pad,
	  this is too early if you have a queue between the pad and the actual
	  aggregation operation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734060

2015-07-22 16:58:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgluploadelement.c:
	  glupload: Forward composition meta even without params
	  When the sink does not know the window size (e.g not created yet)
	  it will not add any param to the the composition meta. This is no
	  reason not to forward this meta API. Fixes issue where it could not
	  attach until we resize the window.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-22 15:56:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	  gloverlaycompositor: Keep memory pointer alive
	  Keep the composition memory pointer alive while it's being
	  wrapped inside a GstGLMemory object.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-22 14:17:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	  gloverlaycompositor: Pass buffer stride
	  The overlay pixel buffer stride was not given back
	  to the GL image.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-22 14:05:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglcompositionoverlay.c:
	* gst-libs/gst/gl/gstglcompositionoverlay.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	  gloverlaycompositor: Hide GstCompsitionOverlay object
	  This object is only used inside the compositor and does not
	  need to be expose in libgstgl API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-22 13:33:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/Makefile.am:
	  libgstgl: Makefile style fix

2015-07-21 23:48:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglcompositionoverlay.c:
	* gst-libs/gst/gl/gstglcompositionoverlay.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	  composition-overlay: Positions are relative to texture
	  The coordinate are relative to the texture dimension and not
	  the window dimension now. There is no need to pass the window
	  dimension or to update the overlay if the dimension changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-21 21:27:45 -0400  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	  gloverlaycompositor: Create own shader object
	  Make gloverlaycompositor independent of the shader used in the sink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-21 18:47:56 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Properly handle compsositor life time
	  Should be created in READY_TO_PAUSED, not PAUSED_TO_PLAYING.
	  Should be cleared in PAUSED_TO_READY.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-21 11:28:08 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/caopengllayersink.m:
	  caopengllayersink: use gst_gl_display_create_context
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-07-21 11:21:27 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglstereosplit.c:
	  glstereosplit: use gst_gl_display_create_context
	  Also unlock the lock on error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-07-21 13:11:17 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	  gloverlaycompositor: for loop initial declarations are only allowed in C99 mode
	  Fixes compiler warnings

2015-06-19 11:57:06 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: use gst_gl_display_create_context in more elements.
	  glbasefilter, glbasemixer and gltestsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-07-21 17:34:27 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl/build: fix typo in _HEADERS resulting in installing the wrong file
	  /usr/include/gstreamer-1.0/gst/gl/gl.h:51:43: fatal error:
	  gst/gl/gstgloverlaycompositor.h: No such file or directory

2015-07-21 15:39:35 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: add RGB to NV12/NV21 conversion

2015-07-01 14:01:45 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Send reconfigure event when window size changes
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-20 14:24:22 -0400  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgluploadelement.c:
	  glimagesinkbin: Add allocation query for GstVideoOverlayComposition
	  Adds an GST_VIDEO_OVERLAY_COMPOSITION_META_API_TYPE query to glupload
	  and glimagesink.  Detects the query from the downstream elements, so
	  it is executed only when downstream supports the overlay API.
	  This makes pipelines with textoverlay ! glupload ! gldownload ! xvimagesink possible.
	  Uses allocation meta struct for passing the window size upstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-04-20 13:17:09 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Apply GstVideoOverlayCompositionMeta buffer to converted buffer
	  Since glcolorconvert creates a new GstBuffer,
	  without the GstVideoOverlayCompositionMeta data,
	  it needs to be copied to not be dropped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-18 13:34:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Detect overlay meta buffers correctly
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-18 05:43:50 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglupload.c:
	  glimagesinkbin: Add GstVideoOverlayCompositionMeta caps features
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-18 06:04:37 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: Upload and draw overlays with GstGLOverlayCompositor
	  Receives the GstOverlayComposition buffer in the glimagesink and draws them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-30 17:59:12 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstgloverlaycompositor.c:
	* gst-libs/gst/gl/gstgloverlaycompositor.h:
	  gloverlaycompositor: Add GstGLOverlayCompositor class
	  Manages the GstGLCompositionOverlay objects,
	  caches already uploaded overlays and draws them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-18 14:15:01 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/gstglcompositionoverlay.c:
	  glcompositionoverlay: Add compatibility for GL contexts without glGenVertexArrays
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-13 15:35:47 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglcompositionoverlay.c:
	* gst-libs/gst/gl/gstglcompositionoverlay.h:
	  glcompositionoverlay: Add class for managing GstVideoOverlayCompositionOverlay buffers
	  Add a class to store and manage the OpenGL texture,
	  vertex buffer and GstVideoOverlayRectangle.
	  Transforms overlay coordinate space to vertex buffer space with aspect ratios in mind.
	  = Example Pipelines =
	  Simple pipeline
	  gst-launch-1.0 videotestsrc ! \
	  textoverlay text="Hello World" font-desc="sans bold 30" ! \
	  glimagesink
	  Display 3 static overlays at different positions
	  gst-launch-1.0 videotestsrc ! \
	  textoverlay text="text1" valignment="top" font-desc="sans bold 30" ! \
	  textoverlay text="text2" halignment="right" font-desc="sans bold 30" ! \
	  textoverlay text="text3" halignment="left" font-desc="sans bold 30" ! \
	  glimagesink
	  Display subtitle file over testsrc
	  gst-launch-1.0 videotestsrc ! \
	  textoverlay name=foo filesrc location=foo.srt ! subparse ! queue ! foo. foo. ! \
	  glimagesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-06-18 11:33:29 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Move debug init to top of the file
	  https://bugzilla.gnome.org/show_bug.cgi?id=745107

2015-07-20 18:19:02 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: check for pbo availability before attempting pbo download
	  https://bugzilla.gnome.org/show_bug.cgi?id=751165

2015-07-18 17:19:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* tests/check/libs/gstglcontext.c:
	  glcontext: fix get_current_gl_api on x11/nvidia drivers
	  They require to get_proc_address some functions through the
	  platform specific {glX,egl}GetProcAddress rather than the default
	  GL library symbol lookup.

2015-07-18 17:08:36 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  glcontext: consolidate get_proc_address function definition
	  Pass the GstGLAPI directly.

2015-07-17 17:47:37 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvertelement: propagate failure to convert buffer upstream
	  Rather than just silently continuing

2015-07-17 13:48:00 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glcontext/glx: try creating a context with the highest version
	  nvidia drivers return the exact version in glGstString (GL_VERSION)
	  we request on creation so start with the highest known version and
	  work our way down.

2015-07-16 00:37:58 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* tests/check/libs/gstglcontext.c:
	  glcontext: track sharedness with a cookie
	  The previous approach of traversing the other_context weak ref tree was
	  1. Less performant
	  2. Incorrect for context destruction removing a link in the tree
	  Example of 2:
	  c1 = context_create (NULL)
	  c2 = context_create (c1)
	  c3 = context_create (c2)
	  context_can_share (c1, c3) == TRUE
	  context_destroy (c2)
	  unref (c2)
	  context_can_share (c1, c3) returns FALSE when it should be TRUE!
	  This does not remove the restriction that context sharedness can only
	  be tracked between GstGLContext's.

2015-07-16 00:33:17 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: use the debug object variant for completeness

2015-07-16 16:47:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgluploadelement.c:
	  uploadelement: Protect against NULL pointer
	  I notice that if you stop the pipeline during a renegotiation
	  the upload may be NULL while an allocation query is being run.
	  In that scenario, returning FALSE to the allocation query is the
	  best thing.

2015-07-14 17:40:32 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: memcpy on raw data upload
	  Anything else requires keeping track of the GstVideoFrame mapping
	  across possible multiple buffers to ensure correct data pointer
	  usage.

2015-07-14 17:39:59 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasebuffer.c:
	  glbasebuffer: add some debug and zero the data pointers on init

2015-07-06 13:28:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl/eagl: Don't call anything synchronously from the main thread
	  This will deadlock if the main thread is the one who creates the GstGLContext.
	  All things we call from the main thread should be possible from any thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751101

2015-07-07 22:35:47 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  download: only start a download transfer for sysmem caps features

2015-07-07 10:57:26 +0900  Hyunjun Ko <zzoon.ko@samsung.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: transform func: return FALSE if not supported or failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=751778

2015-07-07 16:39:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	  android: add missing egl.h include

2015-07-07 15:30:17 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: correct vao usage
	  keep the vao bound after uploading the new vertex data
	  fixes a mesa GL error "no vertex array object bound" on caps changes

2015-06-16 07:49:34 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/egl/Makefile.am:
	* gst-libs/gst/gl/egl/gstegl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: consolidate egl header includes to egl-only headers
	  They may conflict with other headers.

2015-07-03 12:17:42 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglvideomixer.c:
	  glvideomixer, glmixer: Add description and klass

2015-07-02 10:26:18 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglviewconvert.c:
	  gl: initialize output params to 0 before calling gl functions
	  The client side API of the Chromium's GPU Process has asserts
	  in debug mode that check that output params are initialized to 0.

2015-06-26 15:34:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: Don't leak pool if set_config failed

2015-06-26 15:33:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: Don't cache buffer pool
	  Caching and sharing to multiple element the same pool prevents
	  renegotiation from passthrough to not passthrough.

2015-07-02 17:08:26 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: use g_clear_error instead of g_error_free
	  replace g_error_free with g_clear_error, as it internally
	  checks if error variable is valid or not.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751823

2015-06-29 16:10:39 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* ext/gl/gstglviewconvert.c:
	  gl: add missing break
	  gst_gl_view_convert_element_set_property() is missing a break at the end
	  of the PROP_OUTPUT_DOWNMIX_MODE case. Adding it.
	  CID #1308949

2015-06-26 14:12:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Don't leak pool
	  gst_query_add_allocation_pool is transfer none. Also unref
	  if there was a configuration error.

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

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  Revert "gl/window/x11: don't create our own X11 display"
	  This reverts commit 5697b6b89b4b2a15c45bd47be940a17f4412ea11.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751003

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

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  Revert "eagl: Don't dispatch_sync() to the main thread if we are on the main thread"
	  This reverts commit 0bff481011cf74c59869b511393d1696b570e3d5.
	  It wasn't supposed to be merged and also doesn't fix the problem.

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

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  eagl: Don't dispatch_sync() to the main thread if we are on the main thread
	  This will otherwise deadlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751101

2015-06-23 10:31:44 +0200  John Ludwig <john@theludwigs.com>

	* gst-libs/gst/gl/glprototypes/base.h:
	  gl: Include texParameterf in the GL function table
	  https://bugzilla.gnome.org/show_bug.cgi?id=751228

2015-06-22 14:06:04 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: fix consistency about pbo availability.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751165

2015-06-15 16:09:54 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gldisplay: add gst_gl_display_create_context
	  It also emits a create-context signal so that an application
	  can provide an external GstGLContext backend.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-06-15 16:36:26 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: move display from priv
	  https://bugzilla.gnome.org/show_bug.cgi?id=750310

2015-06-18 10:55:28 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  Revert "glcontext: add gst_gl_context_set_display helper"
	  This reverts commit 71b8103cbd16fff9cf5a65cf517083cb794aa3b5.

2015-06-18 10:52:18 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gpuprocess/Makefile.am:
	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h:
	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	  Revert "gl: add GstGLContextGPUProcess backend"
	  This reverts commit b377112ee38912d316e77b4e2102041389dc0051.

2015-06-19 14:35:37 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Remove duplicate, useless line of code

2015-06-18 22:11:05 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/gl/gstopengl.c:
	  opengl: glstero* are only built with full OpenGL
	  Don't try to register the elements unless they are built.

2015-06-18 18:09:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Fix GLES2 compatibility

2015-06-18 18:02:21 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Fix broken validity check

2015-05-30 03:09:17 +1000  Jan Schmidt <jan@centricular.com>

	* tests/examples/gl/gtk/3dvideo/.gitignore:
	* tests/examples/gl/gtk/3dvideo/3dvideo.vcproj:
	* tests/examples/gl/gtk/3dvideo/Makefile.am:
	* tests/examples/gl/gtk/3dvideo/main.cpp:
	* tests/examples/gl/gtk/3dvideo/mviewwidget.c:
	* tests/examples/gl/gtk/3dvideo/mviewwidget.h:
	* tests/examples/gl/gtk/Makefile.am:
	  3dvideo: Add simple gtk example stereoscopic video player
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-05-30 02:29:04 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglstereomix.c:
	* ext/gl/gstglstereomix.h:
	* ext/gl/gstglstereosplit.c:
	* ext/gl/gstglstereosplit.h:
	* ext/gl/gstglviewconvert.c:
	* ext/gl/gstglviewconvert.h:
	* ext/gl/gstopengl.c:
	  gl: Add glviewconvert, glstereomix and glstereosplit elements
	  Conversion elements for transforming multiview/stereoscopic video
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-05-30 02:26:32 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: Support multiview/stereoscopic video
	  Support video with multiview info in the caps, transform
	  it to mono anaglyph by default, but allow for configuring
	  other output modes and handoff to the app via
	  the draw signal.
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-05-30 02:21:43 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglviewconvert.c:
	* gst-libs/gst/gl/gstglviewconvert.h:
	  gl libs: Add glviewconvert helper object
	  Add API for a helper object that can convert between different
	  stereoscopic video representations, and later do filtering
	  of multiple view streams.
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-06-15 22:43:54 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: add missing handle-events/ignore-alpha property to the bin

2015-06-15 16:47:15 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
	* tests/examples/gl/qt/videooverlay/videooverlay.pro:
	  gl/examples: update qt examples for api changes

2015-06-13 18:43:04 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixerbin.c:
	  glmixerbin: implement proper dynamic pad removal
	  https://bugzilla.gnome.org/show_bug.cgi?id=750881

2015-06-12 20:14:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: Don't do pool caching
	  We now know that pool caching can cause renegotiation issues
	  when an element in the pipeline change from passthrough to not
	  passthrough. As it's not needed, don't cache existing pools.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748344

2015-06-11 18:26:50 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglmemory.c:
	  glmemory: separate pbo transfer from texture transfers
	  When supported, the potentially longer pbo upload/download can be
	  initiated before the texture upload/download, potentially increasing
	  throughput.

2015-06-10 16:36:15 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasebuffer.c:
	* gst-libs/gst/gl/gstglbasebuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* tests/check/libs/gstglmemory.c:
	  glmemory: implement on top of glbasebuffer
	  Provides convenient access to PBO usage.
	  Currently texture updates are coupled tightly to data transfers.

2015-06-10 16:24:59 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbasebuffer.c:
	* gst-libs/gst/gl/gstglbasebuffer.h:
	  gl: new glbasebuffer GstMemory object
	  Provides generic handling of GL buffer objects accessible using
	  the GL bind points (GL_ARRAY_BUFFER, GL_PIXEL_*_BUFFER).
	  Implementation based off the current GstGLMemory.

2015-06-10 16:23:36 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/buffers.h:
	  gl/prototypes: add some buffer function prototypes

2015-06-12 13:14:57 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window/x11: only listen on the X Display when needed
	  5697b6b89b4b2a15c45bd47be940a17f4412ea11 causes us to possibly listen
	  on a toolkit provided Display connection.  We thus could eat their
	  precious winsys events.  Only listen if we need to
	  (!foreign_display or videooverlay).

2015-05-30 02:15:51 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: Add support for multiple views in upload, colour convert and download
	  Support multiple attached views on input/output buffers
	  by processing each one, not just the first.

2015-06-12 00:32:00 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window/x11: don't create our own X11 display
	  It's not needed anymore with most window operations occuring in the
	  GL thread.

2015-06-12 00:30:58 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window/x11: handle_events() may be called before the window has been created
	  Fixes an XIO fatal error

2015-06-12 00:29:23 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglsinkbin.c:
	  gl: move basesink properties from glimagesinkbin to glsinkbin

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

	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsrcbin.c:
	  gl: Use gst_object_ref_sink() for gl{filter,mixer,src}bin too

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

	* ext/gl/gstglsinkbin.c:
	  glsinkbin: Use gst_object_ref_sink() for consistency with the video-sink property on playbin

2015-06-10 11:42:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: OES_vertex_array_object is improperly implemented on PowerVR SGX 544MP
	  https://bugzilla.gnome.org/show_bug.cgi?id=750185

2015-06-05 09:35:39 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/gl/caopengllayersink.m:
	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsrcbin.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* tests/check/elements/glimagesink.c:
	  Fix a common typo: retreive -> retrieve
	  Seems to have been copy pasted around a few places

2015-06-04 09:40:19 +0200  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: Fix build

2015-06-03 22:21:30 +0100  Julien Isorce <j.isorce@samsung.com>

	* tests/examples/gl/cocoa/Makefile.am:
	  gl/example: fix build error when compiling cocoa-videooverlay
	  libtool: error: ignoring unknown tag OBJC
	  and
	  clang: error: argument unused during compilation: '-pthread'

2015-06-04 15:01:16 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/window/dispmanx: fix compiler warning

2015-06-04 12:16:35 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	  gl/window: use the default main loop implementation for all backends
	  fixes glimagsink being unable to display.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750337

2015-06-03 21:22:09 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  glwindow_cocoa: use parent default implementation
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750337

2015-06-03 00:31:42 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: Set new sync point when copying
	  Set a new sync point when copying instead of
	  transferring the (non-refcounted) GL sync object
	  from the source meta.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750279

2015-06-02 23:59:50 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: Add some debug output

2015-06-02 17:24:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: provide compatibility definition for GLES2 for GL_RGBA8

2015-06-02 16:32:03 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltershader.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: consolidate internal_rgba_format into glmemory
	  Expose some useful value format conversion functions available in
	  GstGLMemory.

2015-06-01 14:07:37 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
	  glcontext_gpu_process: close the window when done

2015-06-01 14:05:58 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
	  glwindow_gpu_process: avoid empty struct

2015-06-01 12:58:11 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: move main loop/context creation back to init/finalize
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=750199

2015-06-01 14:05:06 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/examples/gl/gtk/gstgtk.c:
	  examples: Fix gl usage without wayland support
	  Not all platforms have wayland support. Handle that gracefully at
	  compile time

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

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  gl: Fix compiler warning
	  gstglwindow_wayland_egl.c:246:41: error: unused variable 'surface_listener' [-Werror,-Wunused-const-variable]
	  static const struct wl_surface_listener surface_listener = {
	  ^

2015-05-31 16:53:14 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: fix compiler error
	  gstglwindow.c:1118:544: error: 'return' with no value, in function returning non-void [-Werror]
	  g_return_if_fail (GST_GL_IS_WINDOW (window));

2015-05-31 15:42:48 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/filternovideooverlay/main.cpp:
	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
	  gl/examples: update gtk examples for glupload

2015-05-31 15:40:15 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
	  gl/examples: update gtk examples for wayland

2015-05-29 18:06:27 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  gl/wayland: implement setting the render rectangle
	  Places our subsurface at the rectangle provided position

2015-05-29 18:03:52 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: handle gst_video_overlay_set_render_rectangle

2015-05-29 18:01:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	  gl/wayland: don't block the event loop after poll
	  Use the dispatch_pending set of functions which just run the currently
	  queued up events instead of potentially waiting for an event to occur.

2015-05-27 16:42:55 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/gtk/gstgtk.c:
	* tests/examples/gl/gtk/gstgtk.h:
	  tests/gl/gtk: implement setting a wayland display/surface

2015-05-27 16:39:06 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  gl/wayland: implement basic video overlay support via subsurfaces
	  Currently does not position the subsurface relative to the parent surface at all

2015-05-27 15:44:33 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	  gl/wayland: allow a NULL wl_event_queue
	  perform operations on the default wl_display event queue in that case

2015-05-27 15:43:06 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl/utils: implement wayland display GstContext
	  requried for sharing GL contexts or subsurface support

2015-05-22 16:07:49 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	* gst-libs/gst/gl/wayland/wayland_event_source.h:
	  gl/wayland: run each window on a separate queue
	  Based on patch by Julien Isorce <julien.isorce@collabora.co.uk>
	  https://bugzilla.gnome.org/show_bug.cgi?id=709747

2015-05-30 02:19:25 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl: Don't leak temp strings in _RGB_pixel_order()
	  Fix a memory leak of temporary strings when computing
	  swizzling of RGB formats.

2015-05-30 02:29:47 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: Add transform_internal_caps() vfunc
	  Add a vfunc that is called by glfilter before it sets
	  caps features and intersects with the peer caps, and
	  move removing the size from caps into its default
	  implementation. Allows sub-classes to do more
	  sophisticated management of the size fields in case they
	  don't support arbitrary resizing or have distinct
	  preferences.

2015-05-30 02:23:44 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Don't remove size fields from caps
	  Instead of removing size fields, set them to the full range
	  like videoscale does, so the caps are clearly unfixed in
	  all cases.

2015-05-27 10:58:10 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gpuprocess/Makefile.am:
	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.c:
	* gst-libs/gst/gl/gpuprocess/gstglcontext_gpu_process.h:
	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.c:
	* gst-libs/gst/gl/gpuprocess/gstglwindow_gpu_process.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: add GstGLContextGPUProcess backend
	  It builds its GL vtable from a proc address provided
	  by the application.

2015-05-27 16:28:39 +0100  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltershader.c:
	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: add and use gst_gl_internal_format_rgba
	  Previously when compiling GstGL with both GL and GLES2,
	  GL_RGBA8 was picked from GL/gl.h. But a clash may happen at
	  runtime when one is selecting GLES2.
	  gst_gl_internal_format_rgba allows to check at runtime
	  if it should use GL_RGBA or GL_RGBA8.

2015-05-27 14:10:16 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  glwindow_x11: use parent default implementation

2015-05-27 11:16:32 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glcontext_glx: rename variable from window to context

2015-05-27 11:11:55 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: initialize debug in class_init
	  Useful if one uses gst_gl_window_x11_new directly
	  instead of gst_gl_window_new.

2015-05-27 11:07:38 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: initialize debug in class_init
	  Useful if one uses gst_gl_context_egl_new directly
	  instead of gst_gl_context_new.

2015-05-27 10:55:20 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add gst_gl_context_set_display helper

2015-05-27 15:25:40 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add missing _CAST after G_TYPE_CHECK_CLASS

2015-05-27 10:51:54 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: add missing _CAST after G_TYPE_CHECK_CLASS

2015-05-26 18:38:39 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: provides some default implementations to factorize with all backends

2015-05-27 13:05:11 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/gl/gstgleffects.c:
	  gleffects: 'for' loop initial declaration
	  'for' loop initial declarations are not allowed in C89, moving the declarations
	  to before the 'for' loops.

2015-05-26 16:47:47 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: fix a leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=749846

2015-05-26 15:10:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: properly handle errors while loading file
	  Post an error on the bus if anything bad happens while reading
	  and parsing the image file.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749846

2015-05-26 15:04:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgloverlay.h:
	  gloverlay: remove unused type_file field
	  https://bugzilla.gnome.org/show_bug.cgi?id=749846

2015-05-26 15:01:37 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl: propagate return value from filter and filter_texture
	  https://bugzilla.gnome.org/show_bug.cgi?id=749846

2015-05-26 12:47:40 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	  gleffects: properly initialize the shaders across contexts implementing multiple API's

2015-05-26 12:44:47 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectssources.c:
	  gleffects_laplacian: fix shader compilation in gl3/gles2
	  https://bugzilla.gnome.org/show_bug.cgi?id=748393

2015-05-22 13:12:09 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	  gl/wayland: remove dead event source code

2015-05-21 17:48:31 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  gl/wayland: add GstGLDisplayWayland
	  Simple implementation split from GstGLWindowWayland
	  Can now have multiple glimagesink elements all displaying output
	  linked via GL or otherwise (barring GL platform limitations).
	  The intel driver is racy and can crash setting up the two glimagesink contexts.
	  e.g.
	  videotestsrc ! tee name=t ! queue ! glupload ! glimagesinkelement
	  t. ! queue ! gleffects_blur ! glimagesinkelement
	  videotestsrc ! glupload ! glfiltercube ! tee name=t ! queue ! glimagesinkelement
	  t. ! queue ! gleffects_blur ! glimagesinkelement

2015-05-25 17:27:58 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: fix DrawElements call for element array buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=749734

2015-05-23 01:00:18 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/calayer: provide the exact GL api version for the wrapped context
	  Otherwise we could end up being mistaken for the diference between a
	  gl3 and a gl2 context resulting in a failure getting the list of
	  extensions from the wrapped context due to the difference between
	  glGetString and glGetStringi for the GL_EXTENSIONS token.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749728

2015-05-21 15:30:34 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: do not call SetParent in release_parent_win_id()
	  When called from gst_gl_window_win32_close(), internal window
	  could not exist, and if it does it's going to be destroyed just
	  after that anyway. Also it causes window_proc() to be called
	  and crash because it gets a NULL context.
	  When called from gst_gl_window_win32_set_window_handle() we are
	  going to set another parent anyway, and it's probably better to
	  reparent directly instead of passing by a NULL parent which could
	  cause the internal window to popup briefly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-21 15:30:00 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: remove unused code
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-20 17:09:21 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: fix crash when finalizing GstGLContext
	  gst_gl_context_finalize() is calling gst_gl_window_win32_quit()
	  which was posting a message. But then window_proc takes window's
	  context and get a NULL.
	  Now that we've got a GMainLoop we can do like other backends and
	  simply call g_main_loop_quit().
	  This also remove duplicated code to release the parent window and
	  potential crash there because parent_proc could be NULL if we never
	  created the internal window. That could happen for example if setting
	  state to READY then setting a window_handle, and go back to NULL state.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-20 17:06:42 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: Fix leaked GstGLContext
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-20 15:30:49 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl: win32: set the parent window when creating internal window
	  When _set_window_handle() was called in READY state, it wasn't
	  set to the internal window created later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-20 15:29:50 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/win32_message_source.c:
	* gst-libs/gst/gl/win32/win32_message_source.h:
	  gl: win32: use a GMainContext to dispatch win32 messages
	  gst_gl_window_win32_send_message_async() could be called before the
	  internal window is created so we cannot use PostMessage there.
	  x11 and wayland backends both create a custom GSource for this,
	  so there is no reason to not do that for win32.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749601

2015-05-22 00:27:36 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Don't leak all memory uploaded via raw uploads.
	  Remove an extra ref missed when switching over to not
	  reusing output textures

2015-05-21 16:24:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  compositor/glvideomixer: Don't calculate PAR/DAR with unset GstVideoInfos
	  Otherwise we divide by zero.

2015-05-21 15:05:33 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: require a shader version to initialize.
	  It's very near pointless to try our GL implementation without shaders.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749284

2015-05-20 02:38:53 +1000  Jan Schmidt <jan@centricular.com>

	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	  Fix flags order in GL examples for uninstalled build

2015-05-21 00:56:01 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  compositor/glvideomixer: fix up par handling
	  We were using the wrong formula
	  https://bugzilla.gnome.org/show_bug.cgi?id=749634

2015-05-19 10:43:28 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	  gl: fix crash on windows with intel driver
	  https://bugzilla.gnome.org/show_bug.cgi?id=749430

2015-05-20 00:50:37 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	  caopengllayersink: static const the indices array
	  the contents will never change anyway.

2015-05-20 00:28:52 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	  caopengllayersink: correctly use the sync meta across multiple contexts
	  1. Set the sync point after the (possible) upload has occured
	  2. Wait in the correct GL context (the draw context)
	  Note: We don't add the GL sync meta to the input buffer as it's not
	  writable and a copy would be expensive.
	  Similar to the change with the same name for glimagesink

2015-05-20 00:28:07 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	  caopengllayersink: update for GL3 element array buffer usage
	  fixes blank output

2015-05-19 16:22:00 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: correctly use the sync meta across multiple contexts
	  1. Set the sync point after the (possible) upload has occured
	  2. Wait in the correct GL context (the draw context)
	  Note: We don't add the GL sync meta to the input buffer as it's not
	  writable and a copy would be expensive.

2015-05-19 16:19:41 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/calayer: provide a current wrapped GstGLContext for callbacks
	  So that the draw and resize callbacks can get the current GstGLContext.

2015-05-19 16:14:39 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: ensure that the Fence is going to be executed
	  Otherwise it could stay client side without being submitted to the GL
	  server resulting in another context waiting on a Fence that will never
	  become signalled causing a deadlock.

2015-05-19 11:47:23 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: don't reuse output textures for raw data upload
	  Causes stale textures to be used further down the chain.

2015-05-19 11:11:02 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: don't clear the framebuffer
	  Breaks attempting to blend with the destination buffer and should be done
	  explicitly by the callback anyway.

2015-05-19 11:09:54 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: track gl_start/stop correctly
	  Don't start multiple times without calling gl_stop.

2015-05-14 21:21:01 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: free the vertex buffer when done
	  fixes a memory leak

2015-01-22 18:00:36 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  glcontext/cocoa: implement GL3 core context selection

2015-05-14 18:35:35 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  tests/gl: fix typo

2015-05-14 16:42:09 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectblur.c:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectlaplacian.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsobel.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gltestsrc.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  gl: remove useless gl{En,Dis}able (GL_TEXTURE_*) calls
	  We are using shaders everywhere and so they are not needed

2015-05-14 15:10:59 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: cleanup properties
	  remove unused "display-name"
	  ensure defaults between the bin/element are the same

2015-05-14 14:56:30 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	  gleffects: only try the GL2 shader init path if we have a GL2 context

2015-05-12 22:04:26 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	  glshader: attempt to detect the gles2 inside opengl3 case
	  This is necessary to use gles2 shaders in a GL 3 core context on
	  OS X which fails without a proper #version being set on the shaders.

2015-05-12 17:55:43 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	  glshader: remove references to gl3 specific shaders
	  We rely specifically on gles2 shaders being supported by the GL
	  implementation with GL3 core profile.

2015-05-01 12:04:28 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgloverlay.h:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gl: element buffers are part of vao state
	  Use them as such.  They are also required for GL3 core profile support
	  with glDrawElements on OS X.

2015-05-07 12:25:10 +0700  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: properly detect (hopefully) the correct ext_rg/arb_rg variant
	  GL_EXT_texture_rg is only valid for GLES2. GLES3 uses similar wording to
	  the GL_ARB_texture_rg which requires a sized internal format that the
	  GL_EXT_texture_rg does not require.
	  https://www.khronos.org/registry/gles/extensions/EXT/EXT_texture_rg.txt
	  https://www.opengl.org/registry/specs/ARB/texture_rg.txt

2015-05-13 23:55:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: propagate the version/extension failure upwards
	  Otherwise the calling code has no idea that the context failed to
	  be created fully.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749284

2015-05-13 23:54:52 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: don't deadlock on context creation failure
	  https://bugzilla.gnome.org/show_bug.cgi?id=749284

2015-05-13 15:42:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglmixerbin.c:
	  glmixerbin: Don't unref pad templates
	  Otherwise we unref the reference that is owned by the element class.

2015-05-13 17:11:55 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: implement par handling
	  We were previously ignoring it completely

2015-05-13 17:10:42 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: don't upload the vertex data every frame
	  Add the missing cache tracking statement.

2015-05-12 16:36:58 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: Remove uneeded header and defines

2015-05-11 15:02:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: Use default get_caps implementation
	  The custom code is wrong as it ignores the templates, which leads to
	  missing fields in the result. Instead, simply use the default get_caps
	  implementation which does it correctly (get the template, intersect
	  with filter and return).
	  https://bugzilla.gnome.org/show_bug.cgi?id=749237

2015-05-11 15:54:52 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: Implement GstVideoAggregator::find_best_format()
	  Without this, we will fixate weird pixel-aspect-ratios like 1/2147483647. But
	  in the end, all the negotiation code in videoaggregator needs a big cleanup
	  and videoaggregator needs to get rid of the software-mixer specific things
	  everywhere.

2015-05-11 22:53:09 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	  gl: demote upload/convert/download elements to none
	  Copy paste error

2015-05-11 22:37:44 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	  gl: expose internal glvideomixerelement\
	  We might want more control over the exact pipeline
	  Also reduces overhead

2015-05-11 22:35:18 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstopengl.c:
	  gl: expose internal glimagesinkelement
	  We might want more control over the exact pipeline.
	  Also reduces overhead.

2015-05-06 15:47:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  Revert "Revert "glimagesink: add pixel-aspect-ratio property on the bin""
	  This reverts commit d96e43b034a03fe54633907bc1bf2a26fe5f95fb.

2015-05-06 15:47:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  Revert "Revert "glimagesink: forward ALL the properties on the bin""
	  This reverts commit 59fb0f830f08e3e59f87f83df8fa3c2d9f3d9741.

2015-05-06 15:47:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstopengl.c:
	  Revert "Revert "glimagesink: implement as a bin""
	  This reverts commit be938f92d94e8acccf593128281f6e09213600a0.

2015-05-06 15:46:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstglcolorconvertelement.h:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  Revert "gl: readd glupload/download onto element pads"
	  This reverts commit 87d8270f302b03f63ce04f986d824892a2c131fd.

2015-05-06 15:43:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* ext/gl/gstopengl.c:
	  Revert "Revert "glvideomixer: implement with glmixerbin""
	  This reverts commit b4bd11f2f3a60224d188b27ab55b278077cb1217.

2015-05-05 14:44:25 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: fixup size declaration

2015-05-04 23:42:36 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: handle the local_context query
	  so that upstream elements can get the GL context from glimagesink

2015-05-03 23:08:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: Improve passthrough check when no conversion is needed.
	  Make the passthrough check contingent on only the fields we
	  can modify being unchanged, and pre-compute it when caps
	  change instead of checking on each buffer. Makes the passthrough
	  more lenient if consumers are lax about making input and output
	  caps complete.

2015-04-30 11:15:40 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstglcolorconvertelement.h:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: readd glupload/download onto element pads
	  Allows insertion of gl elements into non-gl pipelines without converter
	  (upload/download) elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743974

2015-04-29 22:55:00 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* ext/gl/gstopengl.c:
	  Revert "glvideomixer: implement with glmixerbin"
	  This reverts commit 0fb56738a14391f248aa0be8756adeaf978baa0c.

2015-04-29 22:38:00 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstopengl.c:
	  Revert "glimagesink: implement as a bin"
	  This reverts commit 8a0017e21d5f9a8507f0593c6b24f723aa415258.

2015-04-29 22:32:33 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  Revert "glimagesink: forward ALL the properties on the bin"
	  This reverts commit 4be45e5f30dc6121f2769323603447f591ca4a0a.

2015-04-29 22:32:20 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  Revert "glimagesink: add pixel-aspect-ratio property on the bin"
	  This reverts commit 2ba6bb9b9325b63f58a9ff0b2c82fa28759dcabc.

2015-04-29 02:30:05 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: Cache caps for passing to the client draw call
	  Don't convert the GstVideoInfo to caps on every draw call,
	  just cache the caps and pass them into the GstSample.

2015-04-29 02:20:09 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Make upload method static caps non-const.
	  Retrieving a GstStaticCaps does a one time internal
	  initialisation and caches it - they can't be stored as
	  const structures.

2015-04-28 20:46:52 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: remove uneeded unref
	  The call to _gl_mem_alloc_data will unref and NULLify 'dest' for us.
	  We just need to return.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744246

2015-04-28 09:37:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Use gst_pad_get_pad_template_caps in ::get_caps()

2015-04-28 20:11:07 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstgluploadelement.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  glupload: provide the sink template caps that could be used
	  https://bugzilla.gnome.org/show_bug.cgi?id=746399

2015-04-27 10:11:41 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  egl: Use maximum bits per color instead of minimum
	  https://bugzilla.gnome.org/show_bug.cgi?id=748425

2015-04-27 14:49:59 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstglfiltercube.c:
	  glfiltercube: Don't initialize multiple shaders on renegotiation

2015-04-27 10:24:00 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Remove unused stop function

2015-04-27 16:04:50 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: unref the pool in the correct place
	  Otherwise we could hold a pool to a context that is never going to be used.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748405

2015-04-27 10:01:53 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: Unref shader in ::stop()

2015-04-27 15:20:56 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	  gl: unref display/other-context in the correct place
	  Otherwise state changes from PLAYING->READY->PAUSED will cause there to
	  to be no display configured on the element.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748405

2015-04-26 21:42:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglbumper.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: De-camelcase onInitFBO() vfunc

2015-04-26 21:39:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: Remove onStart/onStop vfuncs, and unused onReset()
	  onStart/onStop are just duplicates of the basetransform ones, onReset
	  was never called but was used everywhere when stop should've been used.

2015-04-21 09:43:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstgltransformation.c:
	  gltransformation: don't initialize multiple shaders on renegotiation
	  https://bugzilla.gnome.org/show_bug.cgi?id=748407
	  * delete shader if one exists
	  * set it to NULL after unrefing

2015-04-26 21:11:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvert: Fix compiler warning
	  gstglcolorconvertelement.c:230:19: error: unused variable 'in_structure'
	  [-Werror,-Wunused-variable]
	  GstStructure *in_structure = gst_caps_get_structure (caps, 0);
	  ^

2015-04-26 20:33:41 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: Unref other context in finalize, and display in READY->NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=748405

2015-04-19 19:16:55 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvert: Keep colorimetry and chroma-site fields if passthrough
	  https://bugzilla.gnome.org/show_bug.cgi?id=748141

2015-04-24 17:13:10 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: balance change_state display ref/unref
	  the display was being unreffed on the incorrect state change causing
	  invalid state when changing from PLAYING/PAUSED->READY->PAUSED/PLAYING.

2015-04-23 16:47:40 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstgluploadelement.c:
	  glupload: Release glupload buffer when caps are changed
	  https://bugzilla.gnome.org/show_bug.cgi?id=748371

2015-04-22 18:54:45 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* ext/gl/gstglmixer.c:
	  glmixer: Possible null pointer dereference
	  While printing error message when context fails, error variable is not being used anymore
	  so it will lead to null pointer dereference
	  https://bugzilla.gnome.org/show_bug.cgi?id=748287

2015-04-05 20:18:56 +0200  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstopengl.c:
	  gleffects: Create element for each effect
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-03-22 11:22:52 +0100  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectlaplacian.c:
	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/effects/gstgleffectssources.h:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfilterlaplacian.c:
	* ext/gl/gstglfilterlaplacian.h:
	* ext/gl/gstopengl.c:
	  gleffects: Merge laplacian filter into effects
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-03-22 11:20:49 +0100  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectsobel.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfiltersobel.c:
	* ext/gl/gstglfiltersobel.h:
	* ext/gl/gstopengl.c:
	  gleffects: Merge sobel filter into effects
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-03-22 11:13:30 +0100  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectblur.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfilterblur.c:
	* ext/gl/gstglfilterblur.h:
	* ext/gl/gstopengl.c:
	  gleffects: Merge blur filter into effects
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-03-21 23:50:33 +0100  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/gstglfilterblur.c:
	  gleffects: Correct attributes for hconv and vconv shaders
	  Width and height were switched for glow shaders. For blur
	  filter attributes names were obsolete.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-03-21 23:21:13 +0100  Michał Dębski <debski.mi.zd@gmail.com>

	* ext/gl/effects/gstgleffectssources.c:
	  gleffects: Fix fisheye shader - pass float to sqrt
	  On OSX passing literal int to sqrt() in GLSL results in error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746209

2015-04-21 07:28:58 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/gl/gstgltransformation.c:
	  gltransformation: fix shader memory leak

2015-04-21 12:25:11 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: track context activation properly
	  We only need to deactivate/reactivate the context iff it was already
	  active.

2015-04-21 12:19:46 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gldisplay: synchronize the searching and creation of GstGLContext's
	  Ootherwise we could end up with multiple elements in different chains
	  each creating a context.  Fixes context creation with glvideomixer.

2015-04-15 15:22:37 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstglmixer.c:
	  glmixer: fix caps leak in gst_gl_mixer_pad_sink_getcaps()
	  Caps refcounting was all wrong in this function. Rewrote it and add some
	  comments to make it clearer.
	  Fix caps leaks with the
	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

2015-04-16 14:21:16 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstglmixer.c:
	  glmixer: unref owned caps when finalizing the mixer
	  Fix a caps leak with the
	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747915
	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

2015-04-15 15:16:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstglmixer.c:
	  glmixer: pass the proper free function to frames and buffers array
	  'array_buffers' contain borrowed GstBuffer and so shouldn't have a free
	  function. 'frames' is the one containing GstGLMixerFrameData and so should use
	  _free_glmixer_frame_data as free function.
	  Fix GstGLMixerFrameData leaks with the
	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747913
	  Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

2015-04-17 15:20:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownloadelement: Download *from* OpenGL, not into

2015-04-17 14:24:28 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext: Make gst_gl_context_egl_activate fail if the old surface could not be destroyed
	  https://bugzilla.gnome.org/show_bug.cgi?id=746251

2015-04-17 10:38:16 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: Unref GstGLUpload object and caps in ::stop()
	  Fix leak of the GstGLUpload object.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748033

2015-04-17 14:09:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsrcbin.c:
	  gl: Remove some empty ::finalize() implementations

2015-04-17 14:06:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownloadelement: Fix element description

2015-04-17 14:05:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownloadelement: Remove unused ::finalize() implementation

2015-04-17 14:03:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvertelement: Also unref caps in ::stop() already
	  They are not useful anymore afterwards, so keeping them until ::finalize()
	  might only cause someone to use them later and then fail.

2015-04-15 14:49:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/gl/gstglcolorconvertelement.c:
	  glcolorconvertelement: fix GstGLColorConvert leak
	  convert->convert was never unreffed.
	  This can be reproduce with the
	  validate.file.glvideomixer.simple.play_15s.synchronized scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747911

2015-04-16 10:42:45 +0200  Matthieu Bouron <matthieu.bouron@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  glcontext: Make gst_gl_context_egl_activate fail if the surface could not be created
	  Also add some error logging.

2015-04-11 19:35:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix last commit

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

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  gl: Remove iOS/EAGL workaround for R/RG textures
	  This should be unneeded now after https://bugzilla.gnome.org/show_bug.cgi?id=732507

2015-04-11 19:14:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Add correct check for RG/R textures in glcolorconvert too
	  https://bugzilla.gnome.org/show_bug.cgi?id=732507

2015-03-31 17:10:45 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>

	* gst-libs/gst/gl/gstglbasefilter.c:
	  glbasefilter: avoid segfault when gl platform is not available
	  https://bugzilla.gnome.org/show_bug.cgi?id=747124

2015-04-06 20:28:22 -0700  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Disconnect mouse/key event signal handlers from window when shutting down context

2015-04-06 20:24:06 -0700  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Guard against disconnecting invalid signal ids

2015-04-02 18:05:55 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  libgstgl: fix rendering on iOS
	  Stop assuming that the handle has been set by the time ->create_context is
	  called. After bc7a7259f357b0065dd94e0668b5a895d83fa53a set_window_handle always
	  happens after ->create_context in fact.
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=745090

2015-03-31 16:27:00 +0200  Edward Hervey <edward@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Don't use context if not present
	  Avoids assertions at runtime

2015-03-31 11:24:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/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

2015-03-30 13:49:01 +0100  Anton Obzhirov <obzhirov@yahoo.co.uk>

	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/effects/gstgleffectssources.h:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfilterblur.c:
	* ext/gl/gstglfiltersobel.c:
	  gleffects: port all effects to GLES2.0
	  https://bugzilla.gnome.org/show_bug.cgi?id=745955

2015-03-23 16:43:01 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  gl/dispmanx: surfaceless EGL context support
	  Show the DispmanX window only if there's no shared external GL context
	  set up. When a window is required by the context a transparent
	  DispmanX element is created and later on made visible by the ::show
	  method.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746632

2015-03-22 19:12:15 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: remove unused gl_thread field

2015-03-22 19:03:19 +0100  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: fix GThread leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=746541

2015-03-20 18:33:45 +0100  Nicola Murino <nicola.murino@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: fix caps leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=746541

2015-03-18 10:12:49 -0700  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/docs: update some doc comments

2015-03-15 12:58:26 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: tentative proper context collision detection
	  Fixes
	  tee name=t ! queue ! gliamgesink t. ! queue ! glimagesink

2015-03-14 19:48:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* ext/gl/gstgluploadelement.c:
	* gst-libs/gst/gl/gstglupload.c:
	  glupload: move meta-data copy into gst-gl library
	  In some upload implementations the out buffer has more than one references,
	  turning the buffer not writable, so it won't be possible to modify its
	  meta-data.
	  This patch moves the meta-data copy before increasing the reference of the out
	  buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746173

2015-03-14 18:45:01 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: fix the slight difference between EXT_rg and ARB_rg
	  GL_EXT_texture_rg doesn't take sized formats for the internalformat
	  parameter of TexImage* but GL_ARB_texture_rg and GL(ES)3 do.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732507

2015-03-14 18:10:24 +0000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/generic/cube/main.cpp:
	  gl/examples: fixup generic cube example for NDC
	  translating outside the clip region doesn't work

2015-03-14 15:38:28 +0000  Julien Isorce <j.isorce@samsung.com>

	* tests/examples/gl/sdl/.gitignore:
	* tests/examples/gl/sdl/Makefile.am:
	* tests/examples/gl/sdl/sdlshare2.c:
	  gl/examples: add sdlshare2 that uses glimagesink to output textures
	  https://bugzilla.gnome.org/show_bug.cgi?id=739681

2015-03-14 16:30:42 +0000  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: keep window invisible when sharing output
	  https://bugzilla.gnome.org/show_bug.cgi?id=739681

2015-03-14 15:16:55 +0000  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	  glimagesink: provide GstSample in client-draw signal
	  Instead of prividing texture and size directly.
	  And apply changes to examples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739681

2015-03-14 15:37:05 +0000  Julien Isorce <j.isorce@samsung.com>

	* tests/examples/gl/sdl/sdlshare.c:
	  sdlshare: use glupload and unmap frame

2015-03-14 16:25:29 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	  glsyncmeta: make context to wait and set sync explicit
	  otherwise we may wait on a sync object in same context by accident

2015-03-14 12:58:22 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Add NULL check in error case
	  Other context may be NULL if something went wrong. Avoid trying to unref
	  a NULL pointer.

2015-03-14 10:39:06 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstgluploadelement.c:
	  glupload/colorconvert: only copy timestamps if the input buffer != output

2015-03-11 00:06:55 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstgldisplay_cocoa.m:
	* gst-libs/gst/gl/gstgldisplay.c:
	  gl: add GstGLDisplayCocoa
	  https://bugzilla.gnome.org/show_bug.cgi?id=746012

2015-03-13 09:07:16 +0000  Julien Isorce <j.isorce@samsung.com>

	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  examples: initialize NSApp at the beginning

2015-03-14 07:49:14 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: do not terminate loop in gst_gl_window_cocoa_close
	  It is now done in _finalize.
	  Fix regression introduced by
	  "gl/window: create the main loop/context on init/finalize"
	  bc7a7259f357b0065dd94e0668b5a895d83fa53a

2015-03-13 15:34:55 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: avoid overwriting display and context to NULL
	  It happens when the application provides display
	  and/or context.

2015-03-13 17:41:17 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gltestsrc.c:
	* gst-libs/gst/gl/gstglshader.c:
	  glshader: attribute locations are -1 on error

2015-03-13 17:04:17 +0000  Neos3452 <neos3452@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  glshader: prevent from getting attributes without vertex shader
	  It doesn't make sense to query for vertex attributes without a vertex
	  shader. Moreover this is causing a crash on OSX.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746168

2015-03-14 02:53:00 +1100  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglfilterbin.c:
	  GL: Remove annoying printf in the filterbin class_init

2015-03-13 12:43:13 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: add pixel-aspect-ratio property on the bin

2015-03-13 12:40:04 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: unref the bufferpool

2015-03-13 12:29:54 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: forward ALL the properties on the bin

2015-03-13 12:28:36 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgluploadelement.c:
	  gluploadelement: properly unref buffers that are the same as the input
	  basetransform doesn't unref equal input and output buffers

2015-03-13 10:25:35 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstglbumper.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterblur.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterlaplacian.c:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltersobel.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gl: get the context from basemixer/basefilter

2015-03-13 09:38:54 +0000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: retreive the gldisplay/app gl context as soon as possible
	  fixes the usage of gst_gl_display_filter_gl_api

2015-03-13 09:37:46 +0000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  gl/tests: fix deadlock on glcontext wrapped context test

2015-03-12 16:46:44 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: cache indices in a buffer object

2015-03-08 18:16:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	* ext/gl/gstopengl.c:
	  caopengllayersink: implement as a bin like glimagesink

2015-03-03 18:05:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: avoid deadlock when creating context on the main thread.
	  Make window/view creation async so that it is possible to
	  gst_gl_context_create from the main thread.

2015-03-03 17:26:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gl: store the list of contexts within gldisplay
	  Removes the reliance on the allocation query to propogate GL contexts.
	  Allows thread safely getting a context for the a specific thread.

2015-03-03 16:48:24 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: unset the current shader after rendering
	  fixes gltestsrc ! glimagesink when gltestsrc doesn't use a shader

2015-03-03 16:38:56 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	  gltestsrc: remove usage of gldownload library object

2015-02-28 00:30:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: store the thread current context

2015-02-26 18:26:36 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglsrcbin.c:
	* ext/gl/gstglsrcbin.h:
	* ext/gl/gstopengl.c:
	  gl: new glsrcbin element

2015-02-26 13:45:56 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* ext/gl/gstopengl.c:
	  glvideomixer: implement with glmixerbin
	  The relevant properties are forwarded to/from the containing bin
	  and sink pads.

2015-02-26 00:20:37 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	  glmixer: remove usage of upload/download objects

2015-02-25 23:48:56 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglmixerbin.h:
	* ext/gl/gstopengl.c:
	  gl: new glmixerbin element

2015-02-20 16:47:01 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstopengl.c:
	  glimagesink: implement as a bin
	  glupload ! glcolorconvert ! sink
	  Some properties are manually forwarded.  The rest are available using
	  GstChildProxy.
	  The two signals are forwarded as well.

2015-02-19 18:23:37 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsinkbin.h:
	* ext/gl/gstopengl.c:
	  gl: new glsinkbin element
	  similar to glfilterbin but for sinks

2015-02-19 14:19:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: don't use the library upload/convert objects

2015-02-19 13:33:28 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglfilterbin.h:
	* ext/gl/gstopengl.c:
	  gl: new element glfilterbin
	  It encapsulates a confiurable GL processing element in the
	  upload/colorconvert/download dance required to transparently process
	  the majority of GstBuffer's.

2015-02-19 13:24:59 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstgldownloadelement.c:
	* ext/gl/gstgldownloadelement.h:
	* ext/gl/gstopengl.c:
	  gl: add new gldownloadelement
	  Simply transforms caps to/from raw/glmemory capsfeatures

2015-02-12 17:59:27 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglcolorconvertelement.c:
	* ext/gl/gstglcolorconvertelement.h:
	* ext/gl/gstopengl.c:
	  gl: add a new glcolorconvert element based on the glcolorconvert library object

2015-03-11 16:56:16 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: implement propose_allocation pool handling for glmemory upload

2015-02-11 23:29:01 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstgluploadelement.c:
	* ext/gl/gstgluploadelement.h:
	* ext/gl/gstopengl.c:
	  gl: add a new glupload element based on the glupload library object

2015-02-11 14:48:45 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglbasemixer.c:
	* ext/gl/gstglbasemixer.h:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmixerpad.h:
	* ext/gl/gstglvideomixer.h:
	  gl: add a new glbasemixer class below glmixer
	  It deals with propagating the gl display/contexts throughout the
	  application/pipeline

2015-02-11 01:48:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbasefilter.c:
	* gst-libs/gst/gl/gstglbasefilter.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gl: add a new glbasefilter class below glfilter
	  It deals with propagating the gl display/contexts throughout the
	  application/pipeline

2015-02-11 01:27:28 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glutils: expose running a query on a set of src/sink pads

2015-03-12 10:14:50 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: advertise resize in the caps negotiation properly

2015-03-12 09:46:02 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: we don't do resizing of the video frames
	  As we cannot do accurate texel sampling then due to the texture
	  coordinates being interpolated based on the output frame size.

2015-03-11 18:49:22 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: don't XGetWindowAttributes every XEvent
	  fixes a deadlock in xcb where the X window may not exist.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745633

2015-03-11 14:50:28 +0000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/window: hopefully fixup compile warnings on android/ios

2015-03-11 17:19:17 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Remove redundant check for clearing context on reset.
	  The context is already cleared a few lines above.

2015-03-11 16:55:14 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglutils.c:
	  Remove a bunch of silly ';;' typos at the end of lines

2015-03-06 15:31:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window: create the main loop/context on init/finalize
	  Avoids races setting the window handle from the main thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745633

2015-03-09 12:41:59 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* tests/check/libs/gstglcontext.c:
	  tests: glcontext: remove unnecessary semicolon
	  https://bugzilla.gnome.org/show_bug.cgi?id=745875

2015-03-06 20:11:00 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglmixer.c:
	  glmixer: Don't share our downstream pool with upstream
	  Pool cannot have multiple owner. This can lead to spurious
	  pool was flushing error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=74570

2015-03-05 16:28:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Don't chain downstream pool
	  Chaining a downstream pool would lead to two owner of the same
	  pool. In dynamic pipeline, if one owner is removed from the pipeline
	  the pool will be stopped, and the rest of the pipeline will fail
	  since the pool will now be flushing. Also fix proposed pool caching,
	  filter->pool was never set, never unrefed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745705

2015-03-05 15:49:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Only cache pool, don't manage it
	  GLImage does not use any kind of internal pool. There was some
	  remaining code and comment stating that it was managing the
	  pool, and it was in fact setting the active state when doing
	  to ready state.
	  * Only create the pool if requested and in propose_allocation
	  * Cache the pool to avoid reallocation on spurious reconfigure
	  * Don't try to deactivate the pool (we don't own it)
	  https://bugzilla.gnome.org/show_bug.cgi?id=745705

2015-03-06 18:54:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  gldownload: Simplify caps feature setting code

2015-03-06 18:15:11 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: Remove format info in glcolorconvert's transform_caps function instead of on every caller
	  ... and let glmixer actually transform the caps it is supposed to transform
	  instead of inventing new caps.

2015-03-06 18:36:12 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Simplify caps feature setting code

2015-03-05 19:09:49 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: Only use debugging if we have valid values
	  The debug category won't have been created/activated if it's not a
	  valid display

2015-03-03 15:22:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: Fix upside down and miss-aligned JPEG
	  LibJPEG uses macroblock of 8x8 sample. In this element we use RGB and
	  Y444, two 24bit formats that are stored in 32bit pixels. This mean we
	  have 32x32 bytes macroblocks. For this reason, we need to allocate
	  our buffer slightly larger. We also need to pass the line pointer in
	  the right order, otherwise the image endup upside-down.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745109

2015-02-18 21:21:01 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	  gltransformation: normalize translations
	  https://bugzilla.gnome.org/show_bug.cgi?id=744763
	  * Lubosz: use maxfloat for transformation range

2015-02-18 20:41:14 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: Fix doc typo
	  https://bugzilla.gnome.org/show_bug.cgi?id=744763

2015-03-03 13:45:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Get rid of uploader if caps have changed
	  We need to update the uploader format if that caps have changed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745549

2015-03-03 16:55:26 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl: Fix context leaks
	  Introduced by a12ca13750a15300ab3c718ebde2984dc3d587b3

2015-03-01 19:57:23 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: register only one custom nsapp loop
	  Otherwise the pipeline stalls when running
	  more than one glimagesink with gst-launch.
	  Also only register the custom nsapp loop
	  when setting up the nsapp from gstgl.

2015-03-01 16:54:10 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: instead of class_init use g_once to setup nsapp

2015-02-26 23:04:09 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: check for deprecated constants prior to OSX 10.10

2015-03-01 09:43:32 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: Fix offset for odd height
	  We also need to recalculate the offset, since otherwise the frame
	  mapping will be forward two lines in the U and V planes (I420) due
	  to gst_video_info_align() round up the Y plane to a even number of
	  lines.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745054

2015-03-01 00:08:42 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* tests/check/libs/gstglmemory.c:
	  gl-test: Port unit tests to new API

2015-02-28 15:00:13 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Support offset when downloading
	  Make sure we support offset and video alignment when downloading too.
	  This is currently not used (plane_start is always 0), but it makes
	  the code correct if we want to use that later.

2015-02-28 13:01:16 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Provide correct size on upload
	  Provide the right size to GL when uploading. Using maxsize is wrong
	  since we offset the data point with the memory offset and video
	  alignement offset.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744246

2015-02-28 12:48:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Provide correct size on download
	  Provide the right size to GL when downloading. This fixes downloading
	  from GLMemory that where created for libav.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744246

2015-02-28 11:55:26 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: Use fallback for partial copy
	  When the memory is partial copy, the texture size and videoinfo no
	  longer make sense. As we cannot guess what the application wants, we
	  safely copy into a sysmem memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744246

2015-02-25 18:07:03 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	  glmemory: Add GstAllocationParams and alignment support
	  This implements support for GstAllocationParams and memory alignments.
	  The parameters where simply ignored which could lead to crash on
	  certain platform when used with libav and no luck.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744246

2015-02-28 18:21:33 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: perform egl upload on the gl thread
	  Fixes EGLImage usage on raspberry pi
	  https://bugzilla.gnome.org/show_bug.cgi?id=743914

2015-02-26 13:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Set freed method implementation to NULL
	  When trying to render buffers with meta:GLTextureUpload the glimagesink crashes
	  with a segmentation fault.
	  This patch workarounds this crash setting to NULL the method implementation
	  after free.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745206

2015-02-24 19:01:45 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/Makefile.am:
	  opengl: Clean Makefile.am
	  + Split headers from source
	  + Remove uneeded AM_CFLAGS, AM_LDFLAGS
	  + Always set OBJCFLAGS
	  Due to the presence of a .m and regardless of the conditional values,
	  automake will promote the link command to OBJC using OBJCFLAGS. Only
	  the basic flags (like warnings and optimization) are going to make a
	  difference though.
	  This cleanup builds up the makefile with less specific files first
	  toward more specific file. FLAGS are built with the basic that unused
	  flags will have empty variable.

2015-02-24 12:54:54 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: cosmetic cleanup
	  https://bugzilla.gnome.org/show_bug.cgi?id=745105

2015-02-24 19:52:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/Makefile.am:
	  opengl: don't add --tag=CC twice to LIBTOOLFLAGS

2015-02-24 14:35:37 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/Makefile.am:
	  opengl: Add --tag=CC to LIBTOOLCLFAGS
	  This is required for static build.

2015-02-24 14:01:04 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: Deactivate window before changing handle
	  When setting a new window handle, we need to ensure all implementations
	  will detect the change.
	  For that we deactivate the context before setting the window handle, then
	  reactivate the context
	  https://bugzilla.gnome.org/show_bug.cgi?id=745090

2015-02-24 13:58:26 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	  gl/egl: Detect window handle changes
	  When (re)activating the context, the backing window handle might have changed.
	  If that happened, destroy the previous surface and create a new one
	  https://bugzilla.gnome.org/show_bug.cgi?id=745090

2015-02-24 14:20:42 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/gl/gstglapi.c:
	  gl: remove docbook related warnings

2015-02-24 23:52:39 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/caopengllayersink.m:
	  caopengllayersink: render black when we don't have a texture to display
	  Like when the winsys asks us to redraw before the pipeline has started

2015-02-25 00:00:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: allow sharing between buffers
	  There was no real reason why the flag was set.  We should be able
	  to handle it.  Fixes last-sample handling on gl sinks

2015-02-24 20:34:35 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: add compat definition for gles2

2015-01-29 17:41:19 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/caopengllayersink.h:
	* ext/gl/caopengllayersink.m:
	* ext/gl/gstopengl.c:
	  new caopengllayersink element
	  renders gstreamer gl scene/video frames to a caopengllayer retreivable
	  from the "layer" property.

2015-02-24 19:06:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/calayer: don't use the async callback to render
	  not until we can provide equivalent functionality for other window
	  implementations.

2015-02-24 01:20:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: also supported with gles3

2015-02-24 14:23:49 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  libgstgl: eagl: handle CALayer resize

2015-02-23 16:13:31 +0100  Vasilis Liaskovitis <vliaskov@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Fix transfer_pbo memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=744977

2015-02-22 10:03:54 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: reduce custom main loop latency
	  This fix a very slow rendering rate regression that only
	  happens when using gst-launch, i.e. in the case where
	  the main thread does not run any NSApp loop.
	  Git bisect reported it has been introduced by the commit
	  e10d2417e2fe7aa4733c076984339b0d61caa169:
	  "move to CGL and CAOpenGLLayer for rendering".
	  Then the commit 7d463576271e5a4cc1070780ba1a69c971e8be1d:
	  "gstglwindow_cocoa: fix slow render rate" attempted to fix
	  the slow rendering rate problem when using gst-launch.
	  At least for me it does not work. I tried several
	  combinations, for example to flush CA transactions in the
	  custom app loop, as mentioned in the doc, but the only solution
	  that fixes the slow rendering is by reducing the loop latency.
	  From what I tested, no need to put less than 60ms, even if the
	  framerate has an interval much lower (16.6ms for 60 fps).

2015-02-17 23:50:51 +0000  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglmixerpad.h:
	  glmixer: fix some compiler warnings
	  i686-apple-darwin11-llvm-gcc-4.2
	  gstglmixer.h:43: error: redefinition of typedef ‘GstGLMixer’
	  gstglmixerpad.h:32: error: previous declaration of ‘GstGLMixer’ was here
	  gstglmixer.h:46: error: redefinition of typedef ‘GstGLMixerFrameData’
	  gstglmixerpad.h:33: error: previous declaration of ‘GstGLMixerFrameData’ was here

2015-02-21 14:42:05 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gstglmemory: Remove now unused transfer_upload function.

2015-02-21 23:29:22 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: disable automatic pbo upload
	  until we can track where the data is/or is going to be.

2015-02-20 18:42:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glememory: only store and act on the map flags on first/last map/unmap
	  Anytime else, we have no idea how to match up map and unmaps.
	  We also don't know exactly how the calling code is using us.
	  Also fixes the case where we're trying to transfer while someone else
	  is accessing our data pointer or texture resulting in mismatched video
	  frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744839

2015-02-18 17:10:48 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransform: Fix includes of graphene headers
	  The graphene-1.0 part should not be in the source code. This directory
	  is part of the cflags include. This is similar to gstreamer-1.0/
	  directory. This break compilation if the include directory where
	  graphene is installed is not in your include path.

2015-02-17 18:17:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: don't deadlock if the dispatch_sync is called from the main thread
	  Provide a helper function to check whether we are being called from
	  the main thread and act appropriately.

2015-02-17 16:41:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/calayer: only start drawing if the parent gl context is ready
	  otherwise we may try to use GstGLFuncs * that hasn't been set yet

2015-02-17 16:39:56 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: small refactor of layer/view creation into the window

2015-02-17 01:04:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  glwindow: Remove assertion in gst_gl_window_show() for subclasses not implementing it
	  On Android and iOS we can't create a window ourselves, so also can't just show
	  one. That's not a problem and an assertion is not really needed here.

2015-02-12 17:33:50 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Fix debug statement

2015-02-12 15:02:31 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	  gl: Add/Update more debug statements
	  Where possible, use the _OBJECT variants in order to track better from
	  which object the debug statement is coming from
	  Define (and use) GST_CAT_DEFAULT where applicable
	  Use GST_PTR_FORMAT where applicable

2015-02-12 14:58:14 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  gl: Make glcontext debug category used in more places
	  As a bonus it makes the egl context debug messages visible now :)

2015-02-12 14:56:12 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Sprinkle more debug

2015-02-09 20:44:50 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  libgstgl: set user data and GDestroyNotify for wrapped textures

2015-02-06 12:53:15 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/vao.h:
	  glproto/vao: only supported in core for ES 3.0+
	  Was causing horizontally flipped video for frame 2 onward on android

2015-02-05 16:46:32 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: ensure that the input upload/colorconvert are always available

2015-02-05 11:06:10 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: log the converted caps

2015-02-05 11:05:02 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: restrict EGL and UploadMeta to RGBA
	  other formats are highly untested.

2015-02-05 11:04:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: don't intersect with the input caps
	  that limits our formats to whatever is in the input caps

2015-02-04 14:10:13 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl: fix memory leak
	  In gst_gl_filter_fixate_caps () it can goto done without freeing the memory of
	  the tmp GstStructure. This makes it go out of scope and leak.
	  CID #1265765

2015-02-03 15:30:08 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: remove the egl caps from the src pads
	  we don't actually support producing EGLImage buffers anywhere.

2015-02-03 13:32:47 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: put GstGLSyncMeta on output buffers
	  allows thread safely using the provided output buffer in a separate
	  thread

2015-02-03 00:35:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: only try the glmemory upload for sysmem/glmemory caps features
	  Allows selecting/testing the upload path with explicit caps features.

2015-02-03 00:26:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: add missing initilisation of tex_target when copying
	  fixes:
	  glcolorscale ! video/x-raw\(meta:GstVideoGLTextureUploadMeta\) !
	  glimagesink

2015-02-03 00:15:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: allow NULL buffer for accept vfunc

2015-02-03 00:13:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: remove unsed convert field in private struct

2015-02-03 00:11:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  glupload/download/convert: provide transform_caps functions
	  Allows finer grain decisions about formats and features at each
	  stage of the pipeline.
	  Also provide propose_allocation for glupload besed on the supported
	  methods.

2015-02-03 11:07:58 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gstglwindow_cocoa: fix slow render rate
	  In gst_gl_window_cocoa_draw we used to just call setNeedsDisplay:YES. That was
	  creating an implicit CA transaction which was getting committed at the next
	  runloop iteration. Since we don't know how often the main runloop is running,
	  and when we run it implicitly (from gst_gl_window_cocoa_nsapp_iteration) we only
	  do so every 200ms, use an explicit CA transaction instead and commit it
	  immediately. CA transactions nest and debounce automatically so this will never
	  result in extra work.

2015-02-02 23:40:16 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	  gstglcaopengllayer: use the correct rectangle type for iOS and OS X

2015-02-02 21:07:48 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: use the correct caps feature for supported caps
	  glcolorconvert currently only supports converting between GLMemory
	  targets.

2015-02-02 20:51:31 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsyncmeta: don't use the gst debug object variants
	  We are not a GObject or any inferable GstMiniObject supported by
	  the gst debug system.  Also fixes a segfault.

2015-01-30 18:51:17 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglmemory.c:
	  gl: update unit test for glmemory api change

2015-01-30 15:13:27 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: clobber the alpha channel by default
	  this can be disabled with the ignore-alpha property

2015-01-30 12:32:17 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  Revert "libgstgl: gstglcaopengllayer: set the layer as opaque"
	  This reverts commit 6f152d381ca21595cdc823f32341c8f2fe71b9c7.
	  The layer shouldn't be always opaque, it should be made a property.

2015-01-30 12:22:25 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  libgstgl: gstglcaopengllayer: set the layer as opaque

2015-01-29 16:30:34 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Add FIXME comment about possibility of non-Apple YCbCr422 rectangular textures

2015-01-29 16:26:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Only use GL_TEXTURE_RECTANGLE with OpenGL
	  It's not defined for GLES.

2015-01-28 00:48:27 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  libgstgl: run a custom shader to convert YUV to RGB on mac and ios
	  When GL_APPLE_ycbcr_422 is available, run a custom shader to convert
	  GL_TEXTURE_RECTANGLE textures from YUV to RGB.
	  See https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt

2015-01-28 00:13:46 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	  gl: initial support for texture targets other than GL_TEXTURE_2D
	  Make GstGLMemory hold the texture target (tex_target) the texture it represents
	  (tex_id) is bound to. Modify gst_gl_memory_wrapped_texture and
	  gst_gl_download_perform_with_data to take the texture target as an argument.
	  This change is needed to support wrapping textures created outside libgstgl,
	  which might be bound to a target other than GL_TEXTURE_2D. For example on OSX
	  textures coming from VideoToolbox have target GL_TEXTURE_RECTANGLE.
	  With this change we still keep (and sometimes imply) GL_TEXTURE_2D as the
	  target of textures created with libgstgl.
	  API: modify GstGLMemory
	  API: modify gst_gl_memory_wrapped_texture
	  API: gst_gl_download_perform_with_data

2015-01-22 13:18:23 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gstglcolorconvert: micro optimization
	  Don't call glClear && glClearColor at each draw since we're going to draw the
	  whole viewport anyway. Gets rid of a glFlush triggered by glClear on OSX.

2015-01-22 13:11:46 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gstglcolorconvert: relax caps features check
	  Require caps to have the GST_CAPS_FEATURE_MEMORY_GL_MEMORY feature but allow
	  them to have more features.

2015-01-29 23:45:15 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl/win32: fixup compilation

2015-01-29 22:25:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: make showing a window explicit
	  Also fixes the cgl context always displaying a window to render to for
	  every GstGLContextCocoa created

2015-01-29 17:31:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/calayer: add resize callback based on the bounds rectangle

2015-01-29 15:26:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  gl/caopengllayer: draw asynchronously
	  This essentially makes the CAOpenGLLayer draw every refresh cycle.

2015-01-28 17:59:42 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: don't segfault if we have a NULL draw/resize/close callback

2015-01-28 17:16:14 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  cgl/calayer: use a callback instead of hardcoding the draw functionality

2015-01-28 17:13:05 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  cgl: install the gl context and gl layer headers

2015-01-28 17:05:14 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	  cgl: add a header for the CAOpenGLLayer support

2015-01-27 11:25:53 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: fix build
	  Commit ab48bb6f0f55091662e595a001e178154ce60cdb changed the API of
	  GstGLWindow.

2015-01-27 14:52:47 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: more compatibility defines for gles2 systems

2015-01-27 12:15:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: add some thread safety for gl operations

2015-01-27 11:53:51 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: use pbo's for download
	  In order to use pbo's efficiently, the transfer operation has to
	  be separated from the use of the downloaded data which requires some
	  rearchitecturing around glcolorconvert/gldownload and elements

2015-01-27 11:04:07 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/base.h:
	  glprototypes: add some (un)map buffer variants for GL/GLES

2015-01-23 12:41:29 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: Ensure variable is initialized before usage
	  Coverity CID: 1256569

2015-01-23 17:27:42 +1100  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglupload.c:
	  gl/tests: update glwindow api change

2015-01-23 16:52:25 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/window/eagl: fix a couple of typos

2015-01-23 16:39:44 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: cleanup/reorganize functions/members into logical groups

2015-01-23 14:18:12 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/qt/qglwtextureshare/cocoa_utils.mm:
	  gl/qt/examples: update for NSOpenGL -> CGL change

2015-01-23 14:11:48 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow: remove width/height from _draw()
	  Depending on the platform, it was only ever implemented to 1) set a
	  default surface size, 2) resize based on the video frame or 3) nothing.
	  Instead, provide a set_preferred_size () that elements/applications
	  can use to request a certain size which may be ignored for
	  videooverlay/other cases.

2015-01-22 21:43:51 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  glcontext/cocoa: avoid destroying a possibly 0 GSource id

2015-01-20 22:01:39 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcaopengllayer.m:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: move to CGL and CAOpenGLLayer for rendering
	  Removes the use of NSOpenGL* variety and functions.  Any Cocoa
	  specific functions that took/returned a NSOpenGL* object now
	  take/return the CGL equivalents.

2015-01-22 16:08:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  glcontext/cocoa: add debug category

2015-01-21 10:17:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglfilterreflectedscreen.c:
	* gst-libs/gst/gl/gstglupload.c:
	  Constify some static arrays everywhere

2015-01-18 21:05:44 +0100  Nicola Murino <nicola.murino@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: fix memleak
	  https://bugzilla.gnome.org/show_bug.cgi?id=743142

2015-01-17 10:06:40 +1100  Lasse Laursen <lasse@lasselaursen.com>

	* gst-libs/gst/gl/gstglapi.h:
	  glapi: fix compilation with latest MSVC
	  https://bugzilla.gnome.org/show_bug.cgi?id=743041

2015-01-15 12:57:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: use the correct size for the pbo
	  It was missing the GstVideoAlignment padding which could cause GL
	  errors related to overrunning the size of the pbo.

2015-01-15 09:47:45 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixerpad.h:
	* ext/gl/gstglvideomixer.c:
	  glvideomixer: don't upload if alpha <= 0
	  Implemented using a upload_buffer vfunc within GstGLMixer allowing
	  NULL uploaded buffers.

2015-01-15 09:45:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: remove spurious gst_video_info_align
	  That will be taken care of by the calling code (typically a bufferpool).
	  The GstVideoAlignment is purely informational to compute plane data sizes.

2015-01-14 22:08:43 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* tests/check/libs/gstglcolorconvert.c:
	  gl: split glcolorconvert usage from glupload
	  the separation allows the transfer operation to occur in a separate
	  thread/time which may increase performance in specific circumstances.

2015-01-14 12:39:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: offset the data pointer for upload for GstVideoAlignment
	  otherwise we attempt to read from the padding data

2015-01-14 00:08:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: use pbo's for upload

2015-01-13 23:47:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: relax the GLMemory uploader check for input caps features
	  As there may be a sysmem caps features with GLMemory filled buffers.
	  e.g.
	  videotestsrc ! glimagesink

2014-12-25 23:10:19 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix memleak
	  https://bugzilla.gnome.org/show_bug.cgi?id=741943

2014-12-25 22:59:42 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fix some memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=741943

2014-12-31 17:45:53 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* tests/check/libs/gstglcontext.c:
	  glcontext: allow wrapped contexts to be utilised like non-wrapped contexts
	  Fill in the missing pieces like get_proc_address, the gl function vtable

2015-01-10 15:34:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: Disable hack for NSApp iteration with a special #define
	  The hack causes deadlocks and other interesting problems and it really
	  can only be fixed properly inside GLib. We will include a patch for
	  GLib in our builds for now that handles this, and hopefully at some
	  point GLib will also merge a proper solution.
	  A proper solution would first require to refactor the polling in
	  GMainContext to only provide a single fd, e.g. via epoll/kqueue
	  or a thread like the one added by our patch. Then this single
	  fd could be retrieved from the GMainContext and directly integrated
	  into a NSRunLoop.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741450
	  https://bugzilla.gnome.org/show_bug.cgi?id=704374

2015-01-08 09:35:23 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: Don't init and clear static GMutex / GCond
	  We would potentially use it from the main loop later in
	  gst_gl_window_cocoa_init_nsapp() if it timed out before.

2015-01-07 16:53:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: remove logically dead code
	  Soon after setting two variables to 1, the code checks if their values are
	  different from each other. This would never be true. Removing this.
	  CID 1226443

2014-12-30 19:43:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglvideomixer.c:
	  glmixer, glvideomixer: update for GstAggregatorPadForeachFunc change

2014-12-30 19:26:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: update for aggregator start/stop vfunc change

2014-12-27 15:50:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: Point to compositor for the pad properties documentation

2014-12-19 13:18:50 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/libs/gstglcolorconvert.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gltest: Port to new API
	  https://bugzilla.gnome.org/show_bug.cgi?id=740900

2014-12-19 12:22:12 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: Always recalculate buffer size
	  Actually we should always recalculate buffer size since our buffer size
	  even when not-padded is smaller for many sub-sampled formats. This is
	  because we don't add padding between the planes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740900

2014-12-19 12:12:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: No need for padding
	  A memory object cannot be put on stack, so no need for padding.

2014-12-19 12:11:08 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/gl/gstgloverlay.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: Add support for GstVideoAlignment
	  This allow saving a copy with libav video decoders or decoders with
	  similar padding requirement.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740900

2014-11-22 11:25:23 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  glmemory: Handle upload/download flags from map
	  Problem was that if buffer was mapped READWRITE (state of buffers from
	  libav right now), mapping it READ/GL will not upload. This is because the
	  flag is only set when the buffer is unmapped. We can fix this by setting
	  the flags in map. This result in already mapped buffer that get mapped
	  to be read in GL will be uploaded. The problem is that if the write
	  mapper makes modification afterward, the modification will never get
	  uploaded.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740900

2014-12-13 21:47:38 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Handle custom stride with OPENGL3
	  https://bugzilla.gnome.org/show_bug.cgi?id=740900

2014-12-08 11:02:51 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: fix position/texcoord attrib index usage
	  https://bugzilla.gnome.org/show_bug.cgi?id=741231

2014-12-11 18:17:02 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltercube.c:
	  glfiltercube: use a shader everywhere

2014-12-11 18:15:02 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: fixup vao and vbo usage for legacy GL

2014-12-11 14:57:18 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgleffects.c:
	  gleffects: don't abort when setting the effect to 0,1,2

2014-12-10 12:48:33 +1100  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/sdl/sdlshare.c:
	  gl/examples: fixup sdl example for gluPerspective removal

2014-12-04 20:37:51 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>

	* ext/gl/gstopengl.c:
	  gl: Rename gst-launch-0.10 to gst-launch-1.0 in docs

2014-12-03 15:30:43 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/gstglsyncmeta.h:
	  glsyncmeta: add G_END_DECLS

2014-12-03 08:02:58 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: try cgl before glx
	  It was already done by commit
	  f506e80686eedc66912583db11914ec3f713b478
	  but it has been broken by commit
	  45ec777cea0e69b2597d1ec02b18ec31d618c920

2014-12-01 10:59:32 +0100  Thijs Vermeir <thijs.vermeir@barco.com>

	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  gl/cocoa: Fix example on Mac OS X 10.10
	  Using NSApp directly seems to confuse something, as the compiler
	  was expecting an id<NSFileManagerDelegate>. Switched to using
	  [NSApplication sharedApplication], and specified the delegate
	  protocol on the window class as well.
	  Similar to https://bugzilla.gnome.org/show_bug.cgi?id=738740

2014-11-30 00:42:17 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: require GL_ARB_ES2_compatibility for opengl3
	  until we generate gl3 compliant shaders
	  https://bugzilla.gnome.org/show_bug.cgi?id=740012

2014-11-30 00:18:55 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: properly handle the !opengl3 case
	  https://bugzilla.gnome.org/show_bug.cgi?id=740012

2014-11-28 16:04:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglfilterapp.c:
	  glfilterapp: fix unused variable compiler warning
	  When GST_GL_HAVE_OPENGL is 0 or unset.

2014-11-28 14:08:40 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	  glfilterapp is now available on gles2 as well so build it

2014-11-28 13:04:21 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	  gl: fixup compat definition for GLuint64 for OS X

2014-11-28 11:56:10 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	  gl: add compat definition for GLuint64 for android
	  ../../../../gst-libs/gst/gl/glprototypes/sync.h:41:23: error: unknown type name 'GLuint64'
	  GLuint64 timeout))

2014-11-28 11:11:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglsyncmeta.c:
	  glsync: fix build with desktop gl

2014-11-28 11:04:22 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorscale.c:
	  gl: fix typo in #if
	  GST_GL_API_HAVE_OPENGL doesn't exist

2014-11-28 10:59:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectssources.h:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgleffects.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	  gl: fix various build errors without desktop gl

2014-11-28 10:03:18 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: fix build error
	  gstgldisplay.c:234:541: error: 'return' with no value, in function returning non-void [-Werror]
	  g_return_if_fail (GST_IS_GL_DISPLAY (display));

2014-11-27 21:05:45 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglbumper.c:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterblur.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterlaplacian.c:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltersobel.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gldisplay: implement runtime GL api filtering
	  Needed so that the pipeline/application can limit the choice of GL api
	  to what it supports

2014-11-27 16:17:50 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/sdl/sdlshare.c:
	  gl: remove the use of glu

2014-10-17 15:22:24 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	* gst-libs/gst/gl/glprototypes/sync.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglsyncmeta.c:
	* gst-libs/gst/gl/gstglsyncmeta.h:
	  gl: add a sync meta for synchronizing across GL contexts
	  A context can create a GLsync object that can be waited on in order
	  to ensure that GL resources created in one context are able to be
	  used in another shared context without any chance of reading invalid
	  data.
	  This meta would be placed on buffers that are known to cross from
	  one context to another.  The receiving element would then wait
	  on the sync object to ensure that the data to be used is complete.

2014-10-17 15:08:29 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/sync.h:
	  glprototypes: add sync function definitions

2014-11-17 18:06:20 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstopengl.c:
	  glfilterapp: port to gles2 and gl3

2014-11-14 23:24:48 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgloverlay.h:
	  gloverlay: support gl3

2014-11-14 00:20:10 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvideomixer: add support for gl3

2014-11-13 21:30:38 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfiltercube.h:
	  glfiltercube: add a gl3 code path

2014-11-13 15:09:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglfiltershader.c:
	  glfiltershader: support gl3

2014-11-13 12:12:46 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: support gl3

2014-11-12 23:48:32 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectssources.c:
	  gleffects: support gl3 whereever gles2 is supported

2014-11-12 23:47:13 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstglcolorscale.h:
	  glcolorscale: support gl3

2014-11-12 22:49:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: add a gl3 code path using vao's and vbo's

2014-11-12 22:48:04 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: add support for gl3

2014-10-23 22:35:20 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  glcolorconvert: add support for gl3

2014-10-21 22:18:51 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: use vbo's and vao's for gl3

2014-10-21 19:30:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  glshader add support for gl3

2014-10-19 08:09:37 +0400  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glx: ask for a GL3 core context

2014-11-26 18:24:05 +0100  Thibault Saunier <tsaunier@gnome.org>

	* ext/gl/gstglmixer.c:
	  videoaggregator: Expose vmethods to set converters and prepare/clean frames
	  This gives more flexibility to the subclasses and permits to remove the
	  GstVideoAggregatorClass->disable_frame_conversion ugly API.
	  WARNING: This breaks the API as it removes the disable_frame_conversion
	  field
	  API:
	  + GstVideoAggregatorClass->find_best_format
	  + GstVideoAggregatorPadClass->set_format
	  + GstVideoAggregatorPadClass->prepare_frame
	  + GstVideoAggregatorPadClass->clean_frame
	  - GstVideoAggregatorClass->disable_frame_conversion
	  https://bugzilla.gnome.org/show_bug.cgi?id=740768

2014-11-27 18:09:58 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Unref buffer with the correct function

2014-11-27 18:09:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Handle failure of memory allocation gracefully

2014-11-27 18:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Use g_try_malloc() in the appropriate places
	  g_malloc() aborts if allocation fails, it's pointless to check against NULL
	  afterwards. That's why g_try_malloc() exists.

2014-11-27 10:48:43 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: support RGB16/BGR16 video format download
	  https://bugzilla.gnome.org/show_bug.cgi?id=740801

2014-11-27 13:01:19 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: only attempt a resize when the window has already resized
	  fixes a black startup screen on wayland

2014-11-27 11:47:38 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  gl/wayland: implement resizing the window using the right mouse button

2014-11-27 01:27:19 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: support fixed dimensions on both sides of the element
	  Fixes:
	  width=320,height=240 ! glfilter ! width=800,height=600
	  width=230,height=240 ! glfilter ! width=600
	  ... ! glfilter ! width=800

2014-11-24 18:40:53 +0530  Ramprakash Jelari <ramprakash.jelari@e-consystems.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Fix unused variable warning by moving declaration where it is actually used

2014-11-24 11:32:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Fix valid compiler warning
	  gstglupload.c:442:32: error: if statement has empty body [-Werror,-Wempty-body]
	  if (upload->texture_ids[i]);
	  ^

2014-11-24 10:43:23 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/gl/egl/Makefile.am:
	  gl: ship the gstglcontext_egl.h header
	  It is required by gsteglimagememory.h.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740611

2014-11-23 21:43:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  gl: shadervariables: make parsing of floats locale-independent
	  Floating point numbers are written differently in different
	  locales, e.g. in many countries 1/2 = 0,5 instead of 0.5, and
	  strtod will not be able to parse "0.5" correctly in such a
	  locale.

2014-11-24 02:52:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  glshadervariables: also trim \r as well as \n

2014-11-05 20:18:06 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gsteglimagememory.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* tests/check/libs/gstglupload.c:
	  glupload: rearchitecture for non GLMemory inputs/outputs
	  Allows other memory types to be implemented/returned/used by the caller.

2014-11-20 09:13:58 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: critical error while seek playback-test(stop state)
	  If we seek when media is in stop state, playback-test gives
	  critical error, since context of glimagesink is destroyed during stop.
	  But since context is not present, we need not handle send_event in glimagesink
	  Hence adding a condition to check if context is valid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740305

2014-11-17 09:36:52 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: build errors when GST_GL_HAVE_OPENGL is 0
	  Moving variables within #if GST_GL_HAVE_OPENGL, which are not going to be used otherwise.
	  and which are needed only when OpenGl is present
	  https://bugzilla.gnome.org/show_bug.cgi?id=740235

2014-11-17 18:50:28 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: add read-only context property

2014-11-17 18:50:04 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: add read-only context property

2014-11-16 11:00:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Only use convertRectToBacking on OSX >= 10.7
	  It does not exist before and older versions also don't have
	  support for HiDPI displays anyway.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740201

2014-11-16 10:57:55 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl: Use numeric OSX version instead of the macro
	  The macro is not defined on older OSX versions and evaluates to 0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740201

2014-11-13 12:01:25 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Don't override the application delegate
	  Otherwise interesting things will happen in Cocoa applications, like
	  infinite event loops that block the NSApplication loop forever.
	  This was only needed for GNUStep and thus can safely be removed now.

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

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  gl/cocoa: Remove GNUStep support
	  Until gcc and GNUStep properly support Objective-C blocks and other
	  "new" features of Objective-C we can't properly support them without
	  making the code much more ugly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739152

2014-11-12 11:44:07 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: don't set the upload to NULL on the drain query
	  https://bugzilla.gnome.org/show_bug.cgi?id=732694

2014-11-11 17:04:48 +0900  Hyunjun Ko <zzoonis@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl: Correct invalid comment text

2014-11-11 23:54:44 +0000  Julien Isorce <j.isorce@samsung.com>

	* tests/check/elements/glimagesink.c:
	  gl: add unit test that checks for glimagesink drain query handling
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694

2014-11-11 23:49:59 +0000  Julien Isorce <j.isorce@samsung.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: release stored buffers on drain query
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732694

2014-11-11 23:43:42 +0000  Julien Isorce <j.isorce@samsung.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl: do not raise a critical msg if the backend does not handle window events
	  Fix "assertion 'window_class->handle_events != NULL' failed"
	  if not using a X11 window.

2014-11-11 14:23:55 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: remove the width/height fields from the caps to support frame resizing
	  It was previously only occuring with sysmem caps features
	  https://bugzilla.gnome.org/show_bug.cgi?id=739334

2014-11-07 11:41:01 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* pkgconfig/gstreamer-gl.pc.in:
	  gstglconfig: Put gstglconfig.h into $(libdir)/gstreamer-1.0/include
	  It's architecture dependent and should not be placed into the include
	  directory as the assumption is that all those headers are architecture
	  independent.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739767

2014-11-06 23:58:06 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: don't make gst_glimage_sink_handle_events call _ensure_gl_setup
	  gst_glimage_sink_handle_events can be called from the overlay interface and from
	  the main thread before GL is setup. Before this change, that would call
	  _ensure_gl_setup() and deadlock on OSX.
	  Change things so that it's always safe to call gst_glimage_sink_handle_events()
	  without stuff deadlocking.

2014-11-06 23:55:20 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: fix possible deadlock on osx
	  Remove gst_glimage_sink_handle_events call in gst_glimage_sink_init. It was
	  unnecessary and when the element was instantiated from the main thread, caused a
	  deadlock in OSX creating the context (thread).

2014-11-07 10:01:59 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: clamp the resize width/height to >= 1 to avoid a GL error

2014-11-06 18:43:01 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  glutils: only attempt getting the app context when we don't already have a display
	  avoids querying/messaging the world on each frame

2014-11-06 18:37:23 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fail context creation if glGetString returns NULL

2014-10-29 12:24:16 +0100  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glimagesink: implement gst_video_overlay_handle_events
	  https://bugzilla.gnome.org/show_bug.cgi?id=736035

2014-11-03 23:24:33 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: use NSAutoreleasePool to free resize data
	  Otherwise when resizing the window you will also get messages like:
	  class NSConcreteMapTable autoreleased with no pool in place - just leaking
	  class NSConcreteValue autoreleased with no pool in place - just leaking
	  class NSConcreteValue autoreleased with no pool in place - just leaking
	  class __NSCFDictionary autoreleased with no pool in place - just leaking

2014-11-03 23:08:09 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglapi.h:
	  gl/cocoa: include gl3.h to have GL_CONTEXT_PROFILE_MASK

2014-11-03 23:07:34 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: make sure to turn on frame rectangle changes notifications
	  Default value of property postsFrameChangedNotifications is YES
	  but it is worth to explicitly enable it.

2014-11-03 23:02:17 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: fix uncaught exception 'unrecognized selector sent to instance'
	  Need to set the ':' as the reshape method now takes one parameter.
	  For the story, the GstGLNSView was previously inheriting from
	  NSOpenGLView which has a reshape function without any parameter.
	  Now the GstGLNSView inherits from NSView and we re-use the reshape
	  function manually.

2014-11-03 22:59:41 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: fix compiler warning
	  Use the reshape function after being defined. The other way
	  would have been to declare the reshape function in the header.
	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)

2014-11-03 00:17:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl: fix Since marker for gst_gl_window_run_navigation()

2014-10-29 18:18:07 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  glshader: Fix memory leak
	  Memory is only freed in the TRUE clause of the if conditional. Free in the else
	  clause as well.
	  Also, consolidate g_malloc + sprintf into a g_strdup_printf().
	  CID #1212171
	  https://bugzilla.gnome.org/show_bug.cgi?id=739368

2014-10-31 10:45:19 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix comments that confuse gtk-doc
	  GTK-Doc uses a special syntax for code documentation. A multiline comment that
	  starts with an additional '*' marks a documentation block that will be processed
	  by the GTK-Doc tools. So GTK-Doc is confused if a comment block starts with that
	  additional '*' but isn't meant to be processed. Removing this additional '*'.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739444

2014-10-31 12:52:50 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: resize the viewport correctly on a caps change
	  with force-aspect-ratio=true, if the width or height changed, the
	  viewport wasn't being updated to respect the new video width and height
	  until a resize occured.

2014-10-31 12:52:07 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: advertise support for changing input caps mid-stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=739334

2014-10-31 12:30:53 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  gl: sprinkle some Since markers

2014-10-30 23:08:00 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: don't get the current caps from GstVideoInfo for the srcpad
	  It's missing the caps features needed.

2014-10-30 18:57:59 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/sdl/sdlshare.c:
	  gl/examples: update for other-context property removal

2014-10-30 16:48:00 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	  glcontext: add more functionality to wrapped contexts
	  Implements get_current_context() and get_proc_address() for wrapped
	  contexts.

2014-10-30 12:43:09 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  glshader: advertise the default vertex and fragment shaders on desktop GL

2014-10-29 12:22:14 +0100  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstglimagesink.c:
	  satisfy gst-indent

2014-10-29 22:23:13 +1000  Jan Schmidt <jan@centricular.com>

	* ext/gl/gstglfiltercube.c:
	  glfiltercube: Fix typo in property description

2014-10-29 08:27:57 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstglmixer.c:
	  glmixer:fix incorrect parameter passed to handle_set_context

2014-10-28 18:27:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: get the config from the correct pool

2014-10-28 18:01:27 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: avoid uninitialized variable size when chaining multiple glfilters
	  https://bugzilla.gnome.org/show_bug.cgi?id=739277

2014-10-28 18:01:01 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: gst-indent file

2014-10-28 17:31:37 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	* tests/check/libs/gstglcontext.c:
	  glcontext: add api for retreiving the current context and api
	  that is current in the calling thread.

2014-10-21 19:03:08 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/vao.h:
	  glprototypes: add vertex attribute array definitions

2014-10-24 00:35:22 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: override the caps query in order to 'convert' capsfeatures
	  Otherwise, it is only possible for the sink pads and the src pads to
	  have the exact same caps features.  We can convert from any feature
	  to another feature so support that.

2014-10-23 23:55:48 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: override the accept caps query in order to 'convert' capsfeatures
	  Otherwise, it is only possible for the sink pads and the src pads to
	  have the exact same caps features.  We can convert from any feature
	  to another feature so support that.

2014-08-14 23:29:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  gl: propogate other-context using GstContext

2014-10-21 16:21:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Fix compiler warning
	  gstglwindow_cocoa.m: In function '-[GstGLNSView drawRect:]':
	  gstglwindow_cocoa.m:555: warning: 'GstGLNSView' may not respond to '-reshape'
	  gstglwindow_cocoa.m:555: warning: (Messages without a matching method signature
	  gstglwindow_cocoa.m:555: warning: will be assumed to return 'id' and accept
	  gstglwindow_cocoa.m:555: warning: '...' as arguments.)

2014-10-21 06:04:10 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: fixup eglimage include path

2014-10-18 10:03:43 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  glbufferpool: add the GstVideoGLTextureUploadMeta buffer pool option

2014-10-20 10:34:27 +1100  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglvideomixer.c:
	  videoaggregator: operate on caps rather than video info
	  Otherwise the CapsFeatures will be lost along with the possibility
	  of multiple output types and formats.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738129

2014-10-20 15:02:28 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglmemory.c:
	  glcolorconvert: support RGB16/BGR16 video format upload
	  https://bugzilla.gnome.org/show_bug.cgi?id=738842

2014-10-17 21:26:52 -0700  Brion Vibber <brion@pobox.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Fix for building on Mac OS X 10.10
	  Using NSApp directly seems to confuse something, as the compiler
	  was expecting an id<NSFileManagerDelegate>. Switched to using
	  [NSApplication sharedApplication], and specified the delegate
	  protocol on the window class as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738740

2014-10-14 14:00:11 +0200  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldeinterlace.c:
	  gldeinterlace: ref the uploaded buffer
	  Instead of the possibly non-GL input buffer.

2014-10-14 16:41:51 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  glfilter: add uploaded_buffer field

2014-10-13 13:28:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Only finalize the other context in finalize()
	  Otherwise we change a value of a property when going to READY state,
	  which is unexpected behaviour.

2014-10-13 13:27:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglmixer.c:
	  glmixer: Call the pad's parent class finalize method

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

	* ext/gl/gstglmixer.c:
	  glmixer: Only finalize the other context in finalize()
	  Otherwise we change a value of a property when going to READY state,
	  which is unexpected behaviour.

2014-10-13 13:25:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	  gltestsrc: Add other-context property

2014-10-13 11:56:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Don't leak other-context

2014-10-13 11:53:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	  glmixer: Add other-context property

2014-10-09 10:54:35 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Add support for HiDPI displays
	  Without this our GL surface would be upscaled after rendering
	  by Cocoa, which would reduce image quality.

2014-10-09 12:28:11 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: output why we cannot convert a buffer

2014-10-09 12:25:55 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix planar YUV download
	  - sample the u and v planes properly
	  - output the correctly scaled u and v planes for different chroma block sizes

2014-10-08 21:51:12 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: And fix another unused variable compiler warning

2014-10-08 21:49:25 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: Fix unused variable compiler warning when compiling without desktop GL

2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gstgltestsrc.c:
	  gltestsrc: implement checkers pattern with GLSL
	  https://bugzilla.gnome.org/show_bug.cgi?id=737505

2014-10-07 23:04:30 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix UYVY download green screen

2014-10-07 22:50:22 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolrconvert: fix YUY2 download
	  - The shader was outputing the wrong values compared with raw
	  videotestsrc.
	  - deal with the texture edge properly.
	  - properly sample the 2x1 rectangle for the u and v values
	  - don't double sample the y value

2014-10-01 16:04:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Always update our viewport if Cocoa tells us something has changed
	  The visible rect and bounds might be the same as before, but Cocoa
	  might've changed our viewport without us nothing. This happens if
	  you hide the view and show it again.

2014-10-01 11:55:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Handle NSView::renewGState() properly
	  Don't update the screen until we redraw, this prevents flickering during
	  scrolling, clipping, resizing, etc

2014-09-25 17:01:31 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstgltransformation.c:
	  gltransformation: graphene multiplication order has changed
	  https://bugzilla.gnome.org/show_bug.cgi?id=733510

2014-09-30 20:39:36 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: update element documentation

2014-09-30 18:26:34 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglcolorconvert.c:
	  tests/glcolorconvert: do reorder checking for rgba formats

2014-09-30 14:46:14 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: convert xRGB into ARGB properly
	  The alpha channel might not be the last component so check which one
	  it is in and clobber that one instead.

2014-09-30 01:45:20 +1000  Matthew Waters <matthew@centricular.com>

	* tests/check/libs/gstglmemory.c:
	  tests/glmemory: add simple transfer test
	  tests transferring to/from the GL with a 1x1 RGBA pixel.

2014-09-30 01:38:05 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: unset the opposite corresponding transfer flags when mapped with write
	  fixes consistency with consecutive gst_memory_map()'s with
	  flags & GST_MAP_WRITE

2014-09-29 09:33:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Update viewport according to the current clipping
	  We have to update the GL viewport if the NSView is only partially
	  visible. Otherwise the content of the frame will be visibly offset.

2014-09-29 10:49:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: Improve the NSApplication initialization
	  This is only for non-Cocoa apps but previously caused a 2 second
	  waiting during startup for Cocoa apps. This is unacceptable.
	  Instead we now check a bit more extensive if something actually
	  runs on the GLib default main context, and if not don't even
	  bother waiting for something to happen from there.

2014-09-29 09:24:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: NSView::drawRect() should call into reshape too
	  We a) need to render again because part of the window was
	  obscured and b) might need to reshape because of clipping
	  changes.

2014-09-26 14:21:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Call UI related API from the application main thread

2014-09-26 13:05:27 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Switch to a plain NSView subclass instead of NSOpenGLView
	  We don't and can't use NSOpenGLView as it's supposed to be used and
	  it gets into our way by being to clever in various situations.

2014-09-29 08:54:29 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Initialize variable
	  Avoids the following warning:
	  gstglcontext.c:647:58: error: 'prev' may be used uninitialized in
	  this function [-Werror=maybe-uninitialized]

2014-09-29 00:23:57 +1000  Jan Schmidt <jan@centricular.com>

	* tests/examples/gl/qt/qglwtextureshare/README:
	* tests/examples/gl/qt/qglwtextureshare/gstthread.cpp:
	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
	  examples: Fix Qt/GL qglwtextureshare example for X11
	  We need to pass the X11 display to GstGL or else it will
	  use its own X11 Display pointer, and the GL Context won't get shared
	  correctly on newer X servers

2014-09-28 20:21:50 +1000  Jan Schmidt <jan@centricular.com>

	* tests/examples/gl/qt/.gitignore:
	* tests/examples/gl/qt/README:
	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
	* tests/examples/gl/qt/mousevideooverlay/qrenderer.cpp:
	* tests/examples/gl/qt/mousevideooverlay/qrenderer.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
	* tests/examples/gl/qt/videooverlay/Debug/videooverlay:
	* tests/examples/gl/qt/videooverlay/videooverlay.pro:
	  examples: port GL/Qt examples to Qt5
	  Update the GL Qt integration examples for Qt5 changes and for GstGL
	  signal signature changes.

2014-09-29 00:32:05 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fixup error in sharegroup comment

2014-09-29 00:27:30 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gstgltestsrc.c:
	  Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"
	  This reverts commit eae09179f0b4eb584c8fc7b6560d8fc8e86eed4c.

2014-09-29 00:24:28 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: detect the sharegroup case where the context are in different chains
	  In the end they will lead to the same root context in the tree so check that
	  for equality.

2014-09-28 10:51:09 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gstgltestsrc.c:
	  gltestsrc: implement checkers pattern with GLSL

2014-09-28 21:18:32 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: silence a warning with empty input caps
	  discovered with the doublecube example
	  gst_caps_get_features: assertion 'index < GST_CAPS_LEN (caps)' failed

2014-09-28 20:37:04 +1000  Matthew Waters <matthew@centricular.com>

	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	  examples/gl: update for signal signature change

2014-09-26 22:29:56 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: fix zero output frames with YUY2/UYVY
	  also, be nice and disable blending for other elements

2014-09-26 22:22:06 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: protect desktop gl specific tokens with #if

2014-09-26 12:28:10 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	  gloverlay: free the image memory every time the location changes
	  fixes a memory leak

2014-09-25 20:48:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/Makefile.am:
	  gloverlay: Include into the build with GLES2 only too

2014-09-26 01:45:22 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: free the shader on stop

2014-09-26 01:34:54 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: fix blending with low-alpha sources
	  We also need to apply the blend paramaters to the alpha channel otherwise
	  the output of the blend will appear black at low alpha values (< 0.2).

2014-09-26 01:14:35 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgloverlay.h:
	* ext/gl/gstopengl.c:
	  gloverlay: reimplement everything
	  - update for shaders
	  - add alpha property
	  - image placement properties shamelessly borrowed from gdkpixbufoverlay
	  - image placement properties are GstController able
	  - use GstGLMemory for the overlay image data
	  - add support for gles2

2014-09-25 16:13:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Switch from our custom main loop to a GMainLoop
	  Simplifies code a lot and makes it more similar to the other backends.

2014-09-25 16:12:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: Clear the current GL context when it should happen

2014-09-24 14:29:37 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: skip input frames with an alpha of 0

2014-09-24 13:13:19 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  gl: download whenever we have sysmem capsfeatures
	  Otherwise we could pass on a RGBA formatted buffer and downstream would
	  misinterpret that as some other video format.
	  Fixes pipelines of the form
	  gleffects ! tee ! xvimagesink

2014-08-21 02:14:40 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	  gltestsrc: add Mandelbrot fractal pattern.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735131

2014-08-21 02:13:58 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gltestsrc.c:
	* ext/gl/gltestsrc.h:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	  gltestsrc: implement snow pattern with GLSL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735131

2014-09-23 12:02:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: fallback to upload if contexts cannot share GL resources
	  Fixes pipelines of the form
	  gleffects ! tee ! glimagesink
	  as tee does not pass on the allocation query.

2014-09-23 12:01:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add gst_gl_context_can_share
	  Which determines whether two GstGLContext's can share sharable
	  OpenGL resources.

2014-09-22 20:01:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglupload.c:
	  gl/tests: update for upload API changes

2014-09-22 10:08:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: Let gst_gl_context_get_thread() return a new reference to the GThread
	  Otherwise it might go away in the meantime and the caller has some random pointer.

2014-09-22 11:10:42 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl: consecutive return, break statement
	  Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=736939

2014-09-22 12:21:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/debug.h:
	  gl/debug: desktop GL does not have the KHR suffixes

2014-09-22 11:59:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/gtk/fxtest/fxtest.c:
	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
	  examples/gl/gtk: use the sync bus callback to set the window handle
	  And output error messages.

2014-09-21 13:32:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: add since markers for new API

2014-09-21 21:42:41 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: add debug line for freeing textures

2014-09-21 21:36:49 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  glupload: provide the output buffer that is rendered into
	  Allows callers to properly reference count the buffers used for
	  rendering.
	  Fixes a redraw race in glimagesink where the previous buffer
	  (the one used for redraw operations) is freed as soon as the next
	  buffer is uploaded.
	  1. glimagesink uploads in _prepare() to texture n
	  1.1 glupload holds buffer n
	  2. glimagesink _render()s texture n
	  3. glimagesink uploads texture n+1
	  3.1 glupload free previous buffer which deletes texture n
	  3.2 glupload holds buffer n+1
	  4. glwindow resize/expose
	  5. glimagesink redraws with texture n
	  The race is that the buffer n (the one used for redrawing) is freed as soon as
	  the buffer n+1 arrives.  There could be any amount of time and number of
	  redraws between this event and when buffer n+1 is actually rendered and thus
	  replaces buffer n as the redraw source.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736740

2014-09-21 21:30:58 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add API to retreive the thread that context is active in

2014-09-19 15:32:33 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmixer.c:
	  gl: Removed unreachable break, unused variable
	  https://bugzilla.gnome.org/show_bug.cgi?id=736957

2014-09-16 11:42:34 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: do not leak pool in error cases
	  https://bugzilla.gnome.org/show_bug.cgi?id=736732

2014-09-16 11:41:43 +0200  Ognyan Tonchev <ognyan@axis.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: do not leak pool in error cases
	  https://bugzilla.gnome.org/show_bug.cgi?id=736730

2014-09-16 11:41:16 +0200  Ognyan Tonchev <ognyan@axis.com>

	* ext/gl/gstglmixer.c:
	  glmixer: do not leak pool in error cases
	  https://bugzilla.gnome.org/show_bug.cgi?id=736729

2014-09-09 12:01:47 +0200  Vasilis Liaskovitis <vliaskov@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  GstGLWindow: Introduce navigation thread
	  This thread dispatches navigation events. It is needed to avoid deadlocks
	  between window backend threads that emit navigation events (e.g. X11/GMainLoop
	  thread) and consumers of navigation events such as glimagesink, see
	  https://bugzilla.gnome.org/show_bug.cgi?id=733661
	  GstGlWindow_x11 thread is changed to invoke the navigation thread for navigation
	  dispatching, instead of emiting the event itself. Othe backends beside X11 do
	  not dispatch navigation events yet, but should use this thread when dispatching
	  these events in the future.
	  The navigation thread is currently part of GstGLWindow and not implemented in
	  separate subclasses / backends. This will be needed in the future.
	  gst_gl_window_x11_get_surface_dimensions is also changed to use a cached value
	  of the window's width, height. These values are now retrieved in the X11
	  thread, function gst_gl_window_x11_handle_event. This change is needed because
	  otherwise the XGetWindowAttributes gets called from the navigation thread,
	  leading to xlib aborting due to multithreaded access (if XInitThreads is not
	  called before, as is the case for gst-launch)

2014-07-07 10:52:57 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	  gltransformation: fix issues and expose mvp matrix
	  * aspect should not be 0 on init
	  * rename fovy to fov
	  * add mvp to properties as boxed graphene type
	  * fix transformation order. scale first
	  * clear color with 1.0 alpha
	  https://bugzilla.gnome.org/show_bug.cgi?id=734223

2014-08-28 16:42:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Add missing break to switch
	  CID 1232801

2014-08-26 16:21:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
	* tests/examples/gl/qt/qglwtextureshare/main.cpp:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
	  gl: qglwtextureshare demo fixes and cleanup
	  1. glcontextid function is replaced by gstreamer gst_gl_context_new_wrapped .
	  2. call gst_init before gst_gl_display_new , seems gst_gl_display_new depends
	  on gst_allocator_register , which only worked after gst_init called
	  3. flush gstreamer OpenGL context before using shared texture, fix
	  flicker problem.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735566

2014-08-27 13:40:42 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: Add GSTGLAPI macro to the debug callback function
	  Fixes the Windows build.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735565

2014-08-26 12:38:52 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  egl: Wrap KHR_create_context flags in an ifdef
	  EGL_CONTEXT_FLAGS_KHR and EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR
	  don't exist in the Android NDK. Wrap their usage in an #ifdef
	  EGL_KHR_create_context to fix the build there.

2014-08-22 16:49:10 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  egl: fallback to a non-debug context if a debug one fails
	  The text for EGL_KHR_create_context added the possiblity for ES
	  contexts to ask for a debug context however that has not been
	  fully realized by all implementations.  Fallback to a non-debug
	  context when the implementation errors.

2014-07-02 12:49:44 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gstopengl: add introspection support
	  https://bugzilla.gnome.org/show_bug.cgi?id=734482

2014-08-05 12:07:08 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
	  examples: fix gtk+ 3.14 deprecation error
	  https://developer.gnome.org/gtk3/3.13/GtkWidget.html#gtk-widget-set-double-buffered
	  https://bugzilla.gnome.org/show_bug.cgi?id=734482

2014-07-07 10:52:06 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: expose context
	  * expose context in draw / reshape callbacks
	  * add context property
	  https://bugzilla.gnome.org/show_bug.cgi?id=734482

2014-07-07 10:51:28 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  glshader: expose opengl handle in getter
	  https://bugzilla.gnome.org/show_bug.cgi?id=734482

2014-08-20 09:37:01 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: check null before unref GstGLDisplay

2014-08-21 10:03:07 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/debug.h:
	  gl: add prototype definition for KHR_debug

2014-08-20 23:24:12 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  glcontext: implement the debug callback
	  For both GL_KHR_debug and ARB_debug_output.  This allows us to
	  receive errors and other hints from the GL instead of querying after
	  every GL operation.

2014-08-20 23:23:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: add prototypes for KHR_debug/ARB_debug_output

2014-08-19 20:14:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: don't take an extra ref on the display on set_context
	  gst_context_get_gl_display() returns a ref.  Don't take another in
	  gst_object_replace().

2014-08-19 17:01:36 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglmixer.c:
	  glmixer: unref the GstGLUpload in the pad if freed while running
	  Dynamic pipelines that get and release the sink pads will finalize
	  the pad without going through gst_gl_mixer_stop() which is where the
	  upload object is usually freed.  Don't leak objects in such case.

2014-08-14 23:51:21 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstglmixer.c:
	  glvideomixer: avoid gl resource race condition between different thread
	  https://bugzilla.gnome.org/show_bug.cgi?id=734830

2014-08-19 14:44:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: don't clobber unnecessary GstVideoInfo fields
	  otherwise we might clobber other important fields such as the frame rate.

2014-08-19 14:43:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: get the attribute from the correct shader

2014-08-19 14:23:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: unref the window on navigation event
	  plugs a memory leak

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

	* gst-libs/gst/gl/gstglbufferpool.c:
	  glbufferpool: fix allocator leak in some cases
	  Spotted by Sebastian Rasmussen.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734523

2014-08-09 11:45:41 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/examples/gl/clutter/clutteractor.c:
	* tests/examples/gl/clutter/clutteractortee.c:
	* tests/examples/gl/gtk/fxtest/fxtest.c:
	  examples/gl: unref bus and element after usage
	  gst_pipeline_get_bus() and gst_bin_get_by_interface() both
	  return references that need to be unreferenced after usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734527

2014-08-10 18:07:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstglvideomixer.c:
	  opengl: update element docs for 1.x

2014-08-07 19:18:49 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvideomixer: add a background property
	  That's compatible with the compositor/videomixer property
	  https://bugzilla.gnome.org/show_bug.cgi?id=731954

2014-08-06 16:48:03 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  GstGLWindow, GstGLImagesink, x11: Scale navigation events on resized windows
	  If window is resized, GstStructure pointer values have to be rescaled to
	  original geometry. A get_surface_dimensions GLWindow class method is added for
	  this purpose and used in the navigation send_event function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703486

2014-08-06 08:15:38 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: don't determine if frame needs upload by pointer compare
	  https://bugzilla.gnome.org/show_bug.cgi?id=734269

2014-08-01 17:51:08 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl/docs: remove superflous 'the'

2014-08-01 16:41:13 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	  gl: document GST_GL_* environment variables
	  https://bugzilla.gnome.org/show_bug.cgi?id=733245

2014-08-01 10:01:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gl/tests: update for API changes

2014-07-31 18:46:33 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  glcontext: add a destroy function
	  that just calls the subclass

2014-07-31 18:36:58 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: silence runtime warning
	  g_main_loop_quit: assertion 'loop != NULL' failed

2014-07-31 15:18:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: use the plane offsets to compute the size of the data pointer
	  Certain elements expect that there be a certain number of lines
	  that they can write into.  e.g. for odd heights, I420, YV12, NV12,
	  NV21 (and others) Y lines are expected to have exactly twice the
	  number of U/UV lines.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733717

2014-07-31 14:07:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	  glmemory: use GstVideoInfo everywhere
	  Simplifies a lot of the calling code
	  https://bugzilla.gnome.org/show_bug.cgi?id=733717

2014-07-29 13:25:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: keep the uploaded buffer around on successful redisplay
	  We might need it later to perform a redisplay.  GstGLUpload will take
	  of releasing the previous buffer when it receives a new buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733726

2014-07-29 11:47:55 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: reenable the texture_rg support for !eagl
	  The GST_GL_HAVE_PLATFORM_EAGL is always defined we need to compare
	  against the value instead.

2014-07-27 13:26:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: silence gsignal warning
	  instance '0xblah' has no handler with id '13'

2014-07-24 12:25:36 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow/11: Emit signals for mouse and key navigation events
	  https://bugzilla.gnome.org/show_bug.cgi?id=703486

2014-07-24 12:23:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  glwindow: Constify string parameters to the send_*_event() functions

2014-07-24 13:05:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: remove extra argument from debug call

2014-07-07 00:20:01 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: Add navigation interface and callbacks for GstGLWindow mouse/key signals
	  https://bugzilla.gnome.org/show_bug.cgi?id=703486

2014-07-06 23:39:47 +0300  Vasilis Liaskovitis <vliaskov@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  GstGLWindow : Add mouse-event and key-event signals for navigation
	  https://bugzilla.gnome.org/show_bug.cgi?id=703486

2014-07-23 10:25:31 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* ext/gl/gstgleffects.c:
	* ext/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	  gl: fix multi gl object leaks
	  1. fix FBO leaks in decide_allocation
	  2. fix texture leaks in decide_allocation and reset
	  3. fix texture leaks in FBO incomplete error path

2014-07-21 11:07:28 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* tests/examples/gl/sdl/Makefile.am:
	  gl: Reorder CFLAGS to include in-source dirs first in examples
	  https://bugzilla.gnome.org/show_bug.cgi?id=733426

2014-07-17 10:05:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/gl/gtk/fxtest/pixbufdrop.c:
	  examples: fix compilation of gl fxtest example on win32 with Gtk+ 3.0
	  https://bugzilla.gnome.org/show_bug.cgi?id=733063

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

	* ext/gl/Makefile.am:
	  gl: Always build gstglmixer, not only when full OpenGL support is enabled

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

	* ext/gl/Makefile.am:
	* gst-libs/gst/gl/Makefile.am:
	  gl: Link to all required libraries but not more

2014-07-11 09:41:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglmixer.c:
	* ext/gl/gstglmixer.h:
	* ext/gl/gstglmixerpad.h:
	* ext/gl/gstglmosaic.h:
	* ext/gl/gstglvideomixer.h:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	  gl: Move GstGLMixer to the plugin for now
	  It depends on GstAggregator and we don't want to install headers
	  for that yet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732207

2014-07-09 15:03:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Keep aspect ratio by default
	  The expected default behaviour for video sink is to maintain the
	  aspect ratio. Fix the default value to reflect this. The property
	  default was already TRUE, but the value was not initially TRUE.

2014-07-03 09:00:32 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  glcocoa: initalize NSApp asap when using gst-launch
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732661

2014-07-02 17:38:13 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/qt/qglwtextureshare/.gitignore:
	* tests/examples/gl/qt/qglwtextureshare/moc_gstthread.cpp:
	* tests/examples/gl/qt/qglwtextureshare/moc_pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/moc_qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare:
	  gl/examples: gitignore generated files

2014-07-01 08:36:53 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	  gl : fix qglwtextureshare demo

2014-06-30 19:15:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  eagl: Disable usage of R and RG textures on iOS
	  They don't work currently and just render zeroes, while the
	  fallback code path with LUM and LUM_ALPHA textures still works.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732390

2014-06-29 22:26:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Chain up to the parent class' finalize function

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

	* ext/gl/gstglimagesink.c:
	  glimagesink: Make sure to always unref the display
	  Even if we didn't create a context yet.

2014-06-29 21:57:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/gstglupload.c:
	  glupload: Fix memory leak in unit test

2014-06-29 21:53:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/gstglcontext.c:
	  glcontext: Fix memory leaks in unit test

2014-06-26 11:25:37 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: free pixel swizzling information

2014-06-26 11:15:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  glmixer: remove redundant/unused lock
	  Use the GstObject lock instead

2014-06-26 11:12:49 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  glmixer: remove redundant creation and free of GPtrArrays
	  Also plugs a memory leak

2014-06-26 10:54:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  glmixer: plug a memory leak for the caps
	  gst_query_set_caps_result() takes a ref on the caps

2014-06-26 10:31:02 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  glmixer: intersect with the filtercaps if available

2014-06-26 10:30:41 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
	  gl: update gles2 compatability header

2014-06-25 22:05:37 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: pass through the allocation query when in passthrough mode
	  Otherwise two GL elements on either side will fail to use the same
	  GL context.

2014-06-25 21:50:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: prefer passthrough for non-sysmem caps

2014-06-25 18:23:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstopengl.c:
	  glshader: enable glshader on GLES2

2014-06-24 19:37:17 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglcolorscale.c:
	  glcolorscale: do passthrough on same caps
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732178

2014-06-24 19:35:01 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: handle NULL decide_query which means passthrough
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732178

2014-06-24 19:23:01 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: prepend intersection to src caps
	  Prefer to stay in the same memory space if possible.
	  Also it let a chance to do passthrough.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732178

2014-06-22 13:14:27 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/Makefile.am:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstopengl.c:
	  gl: enable glvideomixer on GLES2

2014-06-25 12:00:34 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: bas output width/height on the pad properties
	  Allows automatic negotiation of the size in the following case:
	  gst-launch-1.0 glvideomixer name=m sink_0::xpos=0 sink_1::xpos=320 ! glimagesink \
	  videotestsrc ! m. \
	  videotestsrc pattern=1 ! m.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731878

2014-06-25 10:18:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: don't clobber already allocated shader

2014-06-24 23:51:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstopengl.c:
	  gl: XInitThreads when env variable is set
	  This is too allow gst-launch debugging with multiple GL contexts as
	  well as avoiding segfaulting innocent gtk+ apps that have not called
	  XInitThreads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731525

2014-06-24 23:33:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl: add a scary note about initializing thread support for the winsys
	  We cannot do it as the winsys may crash if we initialize too late.
	  Example, GLX contexts with Intel drivers:
	  Intel requires the X Display to be the same in order to share GL
	  resources across GL contexts.  These GL contexts are generally
	  accessed from different threads.  Without winsys support it is
	  nearly impossible to guarentee that concurrent access will not
	  occur.  This concurrent access could result in crashes or abortion
	  by the winsys (xcb).
	  https://bugzilla.gnome.org/show_bug.cgi?id=731525

2014-06-23 21:43:10 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgluploadmeta.c:
	  gluploadmeta: reenable GLMemory upload path

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

	* ext/gl/Makefile.am:
	  gl: Need to link to new badvideo library for the video aggregator base class

2014-06-22 09:44:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: move gles2 compat header to glprototypes

2014-06-22 09:36:34 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  glbufferpool: provide a consistent API regardless of platform

2014-06-22 09:22:23 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gl.h:
	  gl: mark library as API unstable

2014-06-20 11:10:45 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/gl/gstglvideomixer.c:
	  gl:glvideomixer: Add the Compositor in the element metadata class
	  So it is possible to pick one compositing element from the registry

2014-06-10 11:26:53 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglvideomixer.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	  gl: Port glmixer to the GstVideoAggregator baseclass
	  https://bugzilla.gnome.org/show_bug.cgi?id=731921

2014-05-27 12:40:09 +0200  Lubosz Sarnecki <lubosz@gmail.com>

	* ext/gl/Makefile.am:
	* ext/gl/gstgltransformation.c:
	* ext/gl/gstgltransformation.h:
	* ext/gl/gstopengl.c:
	  opengl: add element for transforming video geometry
	  * add graphene as soft dependency for linear algebra

2014-06-17 23:20:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglframebuffer.c:
	  glframebuffer: don't segfault needlessly with GLES2
	  gst_gl_framebuffer_use_v2 was using a function that is not available
	  with GLES2

2014-06-16 20:36:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltershader.h:
	  glfiltershader: port to GLES2
	  Provide a time variable

2014-06-15 15:18:46 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: silence incorrect number of arguments in format warning

2014-06-15 15:17:07 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  gldownload: plug a memory leak

2014-06-15 13:59:07 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: wire up the alpha pad property

2014-06-15 13:44:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	  glvideomixer: support input frame scaling

2014-06-15 12:26:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	  glvideomixer: add positioning of input streams
	  https://bugzilla.gnome.org/show_bug.cgi?id=729798

2014-06-15 12:24:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  glmixer: allow the subclass to choose the sink pad type
	  Allows custom properties to be placed on the sink pads by subclasses

2014-06-12 23:14:45 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterapp.h:
	  glfilterapp: actually emit the client-draw signal

2014-06-12 23:13:11 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	  gl/examples: update for TEXTURE_2D change

2014-06-12 14:58:47 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  glmixer: send the stream-start event
	  and the caps event after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730944

2014-06-12 13:37:51 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	* tests/examples/gl/generic/recordgraphic/Makefile.am:
	* tests/examples/gl/sdl/Makefile.am:
	  gl/examples: add GST_PLUGINS_BASE_CFLAGS

2014-06-12 13:15:10 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/generic/doublecube/main.cpp:
	  gl/examples: remove spurious include for doublecube example

2014-06-12 13:06:31 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/clutter/Makefile.am:
	* tests/examples/gl/cocoa/Makefile.am:
	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	* tests/examples/gl/generic/recordgraphic/Makefile.am:
	* tests/examples/gl/gtk/Makefile.am:
	* tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
	* tests/examples/gl/gtk/fxtest/Makefile.am:
	* tests/examples/gl/gtk/gtkvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
	* tests/examples/gl/sdl/Makefile.am:
	  gl/examples: add the srcdir and builddir includes
	  And remove references to $(GST_PLUGINS_GL_*)

2014-06-12 12:49:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterapp.h:
	* gst-libs/gst/gl/gstglutils.h:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	  glfilterapp: remove the reshape/draw properties
	  The reshape property was never used.
	  Replace the draw property with a signal.
	  Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
	  https://bugzilla.gnome.org/show_bug.cgi?id=704507

2014-06-12 12:14:35 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  glmixer: lock the size of mix->frames to the number of pads
	  Fixes a segfault with decodebin ! glmixer where the request pads on
	  both sides were being requested after the state change to PAUSED.
	  Also fixes dynamically adding and removing pads while glmixer is
	  in a state >= PAUSED.

2014-06-12 12:09:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
	  gl/examples: Port to using signals instead of properties
	  Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
	  https://bugzilla.gnome.org/show_bug.cgi?id=704507

2014-06-01 15:02:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: replace pointer properties with signals
	  Based on patch by Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>
	  https://bugzilla.gnome.org/show_bug.cgi?id=704507

2014-06-05 18:43:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl/wayland: create a dummy display instead of an EGLDisplay
	  Currently, GstGLWindowWaylandEGL holds the wayland display connection
	  If we create the EGLDisplay at the GstDisplay creation time, then
	  libEGL will internally open another connection to the wayland server.
	  These two display connections are unable to communicate resulting in
	  no window output/display and hangs inside libEGL.
	  Eventually we will move the wl_display from GstGLWindow to GstGLDisplay.

2014-05-25 21:43:22 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: improve state change debug message

2014-06-03 13:59:51 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: always release the previous buffer
	  Fixes the case where _perform_with_buffer() is called without
	  intervening calls to _release_buffer() as is the case on start up
	  with glimagesink.
	  Also release the buffer when reseting the upload.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731107

2014-06-02 09:23:39 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Handle (unlikely) NULL return of gl->GetString (GL_VERSION) more gracefully
	  CID 1219858

2014-05-30 12:23:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: remove uneeded gl api ifdefs

2014-05-30 11:51:01 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  glwindow_x11: allow expose events to redraw our window
	  otherwise we will not update the window contents on low framerate
	  streams until the next buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=723529

2014-05-30 11:46:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: unref the old buffer outside the lock
	  it could very well deadlock
	  https://bugzilla.gnome.org/show_bug.cgi?id=723529

2014-05-30 11:35:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  Revert "[880/906] glimagesink: remove unused stored_buffer field"
	  This reverts commit af3a68db7dc473fb6903c18966b39e4c3f1464d7.
	  Conflicts:
	  ext/gl/gstglimagesink.c
	  https://bugzilla.gnome.org/show_bug.cgi?id=723529

2014-05-30 10:46:25 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: fix up assertion
	  error: 'return' with no value, in function returning non-void

2014-05-30 10:27:14 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/glprototypes/base.h:
	* gst-libs/gst/gl/glprototypes/blending.h:
	* gst-libs/gst/gl/glprototypes/eglimage.h:
	* gst-libs/gst/gl/glprototypes/fbo.h:
	* gst-libs/gst/gl/glprototypes/fixedfunction.h:
	* gst-libs/gst/gl/glprototypes/gles.h:
	* gst-libs/gst/gl/glprototypes/opengl.h:
	* gst-libs/gst/gl/glprototypes/shaders.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  glfeature: remove GST_GL_API_GLES3
	  instead check the gl version using gst_gl_context_check_gl_version()

2014-05-30 10:25:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: check for GLES versions

2014-05-29 20:35:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  gl/context: add check_gl_version

2014-05-29 17:09:26 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Try GLX support before EGL support
	  If available, glx has got a better chance of being the Gl platform
	  we want to use compared to EGL

2014-05-29 16:59:28 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Try to open lib{EGL|GL|GLESv2}.so.1 before lib{EGL|GL|GLESv2}
	  Fixes issues with .so (without numbering) being installed for development
	  (such as from mesa-dev) but actual driver (with numbering) coming from
	  some other place (like nvidia drivers)

2014-05-29 10:37:02 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Fix assertion after API changes

2014-05-29 18:33:10 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: keep our private pointer
	  again, avoid to much trigger

2014-05-29 18:32:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglupload.c:
	  tests: update for glupload changes

2014-05-29 17:29:41 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  gl/colorconvert: use GstObject's lock instead of our own

2014-05-29 17:12:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: remove unnecassary pointer inderection

2014-05-29 16:45:37 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: re add the upload meta to the private struct
	  try and avoid being to trigger happy

2014-05-29 16:29:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: small code cleanup and gst-indent

2014-05-29 16:22:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	  gl/download: use GstObject's lock instead of out own

2014-05-29 16:20:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gl/upload: use GstObject's lock instead of our own

2014-05-29 16:18:08 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl/filter: also remove the width/height in transform_caps
	  allows scaling in the filters

2014-05-29 16:11:20 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: optimise the same format case
	  simply return the input buffer unchanged

2014-05-29 16:07:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: fix YUY2/UYVY download for RG/LA textures

2014-05-29 15:50:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gl/colorconvert: allocate output buffers
	  Allows the nop optimisation by simply reffing the input buffer.

2014-05-28 23:21:07 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglupload.c:
	  tests: update for recent glupload changes
	  GstGLUploadMeta object is now the GstVideoGLTextureUploadMeta
	  provider.

2014-05-28 14:43:43 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.h:
	  gl/upload: fix incorrect type in macros

2014-05-28 14:40:10 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstgluploadmeta.c:
	* gst-libs/gst/gl/gstgluploadmeta.h:
	  gl/upload: add GstGLUploadMeta object
	  That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.

2014-05-28 00:56:05 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  gl/win32: make send_message reentrant
	  I could not find a comparable win32API function so keep the running
	  thread pointer to compare against.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730782

2014-05-27 13:56:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: fix compiler warning
	  gstglcolorconvert.c:1133:11: error: 'j' may be used uninitialized in this function
	  Was used uninitialized when jumping to out label
	  in error case.

2014-05-27 18:20:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/colorconvert: operate on buffers instead of memories

2014-05-27 11:28:27 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  glimagesink: make it actually honor show-preroll-frame property
	  https://bugzilla.gnome.org/show_bug.cgi?id=730802

2014-05-27 08:54:20 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcontext.h:
	  gl: add missing cgl and eagl context type
	  https://bugzilla.gnome.org/show_bug.cgi?id=729245

2014-05-27 08:46:16 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	  gl: rename platform cocoa to cgl
	  Before:
	  GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
	  gst-launch-1.0 videotestsrc ! glimagesink
	  After:
	  GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
	  gst-launch-1.0 videotestsrc ! glimagesink
	  but still pass --enable-cocoa to configure script
	  because currently it can only be used with cocoa API.
	  We could later have cgl/gstglcontext_cgl.h that manages
	  a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
	  would just wrap it.
	  So that it could be used with other Apple's window APIs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729245

2014-05-27 13:55:15 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  gl/mixer: don't segfault when we don't have a buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=729257

2014-05-27 13:04:39 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/window_x11: avoid BadDrawable error on shutdown

2014-05-27 10:47:25 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  gl/context_egl: pass the vars in the right order to DestroySurface
	  https://bugzilla.gnome.org/show_bug.cgi?id=728514

2014-05-25 09:03:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Remove format information to allow color convert again
	  We also need to remove the format information,  as glfilter can do
	  color convertion. This code was imported from videoconvert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729861

2014-05-25 11:44:57 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl/memory: allocate the correct memory size
	  and avoid wasting resources we will never need
	  https://bugzilla.gnome.org/show_bug.cgi?id=730703

2014-05-23 23:02:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix YUY2 and UYVY support with luminance_alpha
	  https://bugzilla.gnome.org/show_bug.cgi?id=730666

2014-05-23 12:07:50 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl/memory: provide compatability defines
	  fixes build on android/OS X

2014-05-23 11:01:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: remove scratch texture for YUY2/UYVY
	  We can get all our data from the one RG/LA texture with some shader magic.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728890

2014-05-23 10:59:05 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl/memory: RGBA/UNSIGNED_BYTE only format supported by ReadPixels GLES2
	  Error out in case we attempt to read with any other invalid format.

2014-05-23 10:57:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl/memory: generate textures with a sized internal format
	  Required in order to generate RG and RED textured with GLES3.

2014-05-21 21:47:45 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/memory: implement GL_EXT_texture_rg support
	  Which is used by default over the Luminance formats due to it
	  being color renderable with fbos (and deprecation/removal with
	  GL 3.x).
	  https://bugzilla.gnome.org/show_bug.cgi?id=729750
	  https://bugzilla.gnome.org/show_bug.cgi?id=704222
	  https://bugzilla.gnome.org/show_bug.cgi?id=728890

2014-05-21 21:44:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl/context: add gl extension checking to check_feature()
	  Useful for extensions that do not define any new GL API entrypoints
	  but can still modify behaviour when used.

2014-05-21 20:36:37 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  gl/download: fixup YUY2/UYVY download
	  Regression from 2da979831ec3b1a8d993eb6f2d3999c5810c4d67 as it did
	  not update the download code to reflect the change in texture format.

2014-05-21 19:47:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl/filter: fixup passthrough bufferpool
	  In a pipeline like so:
	  videotestsrc ! gleffects ! videoconvert ! sink
	  gleffects was simply passing the videoconvert bufferpool to videotestsrc
	  and not creating a glbufferpool. videobufferpool would then fail
	  to allocate from the glallocator.

2014-05-21 10:26:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: switch the 'master' texture for YUY2, UYVY
	  From d4bcef3204709159713ff1630978ecac0bd91dc9 on, using a RGBA
	  texture to hold the data causes the glmemory to have half width
	  and a scaling of [2, 1].  Using a LA texture solves this problem
	  however cannot be attached to the framebuffer for copying into
	  a RGBA texture.  Which will be solved by moving to EXT_texture_rg.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728890

2014-05-14 17:59:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl/eglimage: add eglimage context feature
	  Allows us to selectively use EGLImages only when available
	  https://bugzilla.gnome.org/show_bug.cgi?id=728234

2014-05-14 17:33:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  gl/context: add generic feature checking
	  At the moment it simply delegates to the subclass.

2014-05-19 12:25:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Check if context creation failed before trying to use it
	  Otherwise we will cause assertions everywhere by passing NULL to functions
	  and eventually crash when dereferencing a NULL pointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730069

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

	* gst-libs/gst/gl/gstglcontext.c:
	  glcontext: Add more assertions to make sure that everything sets the GError during context creation if something fails

2014-05-13 14:13:57 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  gl/download: update to be similar to the glupload semantics

2014-05-13 14:07:39 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: fix up alpha clobbering
	  Previously it would only work if the alpha value was in the last
	  component (RGBx, BGRx).  Now it works wherever the alpha value may
	  be (xRGB, xBGR, etc).

2014-05-13 13:16:34 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: Fix building without EGL support
	  This fixes the OSX build and any builds with --disable-egl. That issue
	  was introduced in "glfilter: rewrite transform_caps to preserve caps fields".
	  https://bugzilla.gnome.org/show_bug.cgi?id=729861

2014-05-13 13:30:47 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: rewrite transform_caps to preserve caps fields
	  https://bugzilla.gnome.org/show_bug.cgi?id=729861

2014-05-13 10:53:19 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	  gl/colorconvert: use the texture scaling from the gl memory
	  The colorconvert values were not being used at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729896

2014-05-12 19:29:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: Fix handling of stride with alignement larger then 8
	  Setting a scaled factor for X coordinate is not enough as the indexer
	  will still think stride is shorter and will not fully skip it. Instead,
	  update width, so the lines are as expected. Combined with the scale, it
	  will hide the cropped portion.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729896

2014-05-12 13:50:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Ensure we still have a texture after upload_set_format()
	  gst_gl_upload_set_format() resets the upload, hence the texture.
	  So we need to ensure we have a texture after this call when
	  uploading.

2014-05-12 12:59:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Correctly update the video info from video meta
	  Using gst_video_info_set_format() isn't complete when updating
	  a video info from video meta.

2014-05-12 12:57:18 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Correctly update video info in upload fallback
	  When the upload accelerated method fails, we fallback to an upload,
	  but the video info was not correctly updated.

2014-05-12 13:32:31 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: set out_tex after reset, not before
	  Fix a regression introduced recently with the lazy init.
	  It was happening when calling gst_video_gl_texture_upload_meta_upload
	  from an aplication. So not using gst_gl_upload_perform_with_buffer.

2014-05-11 12:48:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: update the video info on mapping a video frame
	  The buffer should contain the most specific data on how the data is
	  formatted.  We should use this information.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729896

2014-05-12 21:56:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/convert: clobber alpha channel when needed
	  Needed in the conversion from padded RGB formats to formats with an
	  alpha channel.  e.g. BGRx -> ABGR, etc
	  https://bugzilla.gnome.org/show_bug.cgi?id=729742

2014-05-12 21:51:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: avoid performing color conversion when there is no need
	  One such example is when the buffer contains GstGLMemory in the
	  RGBA format
	  https://bugzilla.gnome.org/show_bug.cgi?id=729278

2014-05-11 14:02:34 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: choose the right alpha component for AYUV -> RGBA

2014-05-11 10:27:02 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: update the respective state when we cache textures/data

2014-05-10 23:33:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: cache the textures that we are using

2014-05-10 22:48:05 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: avoid recreating the GLMemory struct for output textures

2014-05-09 18:59:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: Fix some of the error handling

2014-05-09 17:59:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglupload.c:
	  glupload: Update GstVideoInfo after the buffer is mapped
	  gst_video_frame_map() will store an updated video info base
	  on the video meta. In order to have the right stride and offset
	  we should update that video info accordingly.

2014-05-09 15:42:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  gl: Fix memory leak
	  CID #1212171

2014-05-09 22:22:43 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/colorconvert: preserve alpha in AYUV <-> RGBA conversions
	  https://bugzilla.gnome.org/show_bug.cgi?id=729743

2014-05-09 18:07:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/colorconvert: implement lazy init

2014-05-08 15:38:24 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: set initted to TRUE when _init_upload succeeded

2014-05-08 22:49:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gldisplay: Use GST_STR_NULL() for printing possibly NULL strings and print all variables we use
	  Fixes compiler warning about set but not used platform_choice variable
	  among other things.

2014-05-08 16:08:08 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstgleffects.c:
	  gleffects: use gl_vtable

2014-05-08 17:28:11 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: fix compilation on OS X

2014-05-08 15:40:33 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: fail propoerly if init fails

2014-05-08 15:30:49 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  gl: make all GObjects inherit from GstObject
	  Aids memory leak debugging with GST_TRACE=mem-live

2014-05-08 13:46:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* tests/check/libs/gstglupload.c:
	  gl/upload: implement lazy init
	  Rename init_format to set_format

2014-05-08 00:59:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gl/upload: add get_format method
	  Simply retreives the format set by init_format

2014-05-08 00:48:07 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl/filter: attempt to passthrough the pool if the caps are the same
	  Reduces the number of glbufferpool instances required for >=2
	  consecutive GL elements in a pipeline.

2014-05-08 00:43:14 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  gl/filter: always initialize the upload object

2014-05-07 21:45:53 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.c:
	  gl: advertise GstGLMemory usage in the caps as capsfeatures
	  https://bugzilla.gnome.org/show_bug.cgi?id=729658

2014-05-07 20:12:23 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/clutter/clutteractor.c:
	* tests/examples/gl/clutter/clutteractortee.c:
	  gl/examples: fix compilation for clutter examples
	  ClutterX11TexturePixmap is deprecated in Clutter 1.6 and we ask for
	  at least 1.8

2014-05-07 19:05:55 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl/display: avoid endless recursion for cocoa

2014-05-07 09:11:25 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	  gl/sink: make sure we always initialize the upload object
	  https://bugzilla.gnome.org/show_bug.cgi?id=729542

2014-05-06 11:59:24 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  gl: do not allocate the target texture of an EGLImage
	  The target texture of an EGLImage is the texture bind just
	  before calling glEGLImageTargetTexture2D.
	  As we currently only support a gl texture as the source of an EGLImage
	  the gl texture is actually already allocated when creating the eglimage.
	  I also see some cases where it fails to upload an eglimage when
	  glTexImage2D is called on the target.

2014-05-06 11:51:31 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: allow to avoid calling glTexImage2D(w, h, NULL) when generating a texture
	  Just pass 0 as width or height to gst_gl_context_gen_texture.

2014-05-06 11:27:47 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  gl: no need to initialize a frame buffer object to upload an eglimage
	  Fix https://bugzilla.gnome.org/show_bug.cgi?id=729588

2014-05-06 11:21:56 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  gl: use GST_CAT_ERROR instead of GST_ERROR_OBJECT
	  It fixes segault when GST_DEBUG is at least level 1 and eglCreateImage fails

2014-05-06 10:14:26 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  gl: delete texture used with GstVideoGLTextureUploadMeta

2014-05-06 14:23:34 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl: use gst_gl_context_gen_shader helper instead of duplicating code

2014-05-06 16:39:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gl/display: clean up pre gstglcontext api and struct fields
	  https://bugzilla.gnome.org/show_bug.cgi?id=729551

2014-05-06 17:27:15 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gl/display: add get_handle_type
	  https://bugzilla.gnome.org/show_bug.cgi?id=729551

2014-05-06 17:08:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl/display: avoid opening the X11 display on systems with Cocoa (OS X)
	  https://bugzilla.gnome.org/show_bug.cgi?id=729551

2014-05-06 16:39:55 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl/window: fix string length check for eagl

2014-05-06 16:31:28 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  gl/display: check the correct env variable for choosing an egl display
	  GST_GL_WINDOW is used for window system specific choices.
	  An EGLDisplay can be created from window systems with egl support by using
	  eglGetDisplay().
	  https://bugzilla.gnome.org/show_bug.cgi?id=729551

2014-05-06 12:56:25 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  gl/cocoa: Use OBJCFLAGS where needed
	  Should fix usage of c-compiler-only flags with an objective-c compiler

2014-05-03 21:38:42 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* tests/examples/gl/clutter/cluttershare.c:
	  gl/clutter: safer check for cogl version
	  Use COGL_VERSION_ENCODE to check for the minimum required and maximum allowed
	  cogl version. In certain situations just using the COGL_VERSION_* macro name can
	  give you the following error:
	  error "COGL_VERSION_MAX_ALLOWED must be >= COGL_VERSION_MIN_REQUIRED"

2014-05-03 21:05:19 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	  gl/examples/generic: remove trailing whitespaces

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

	* tests/examples/gl/clutter/Makefile.am:
	  examples: Fix CFLAGS in clutter GL examples

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

	* tests/examples/gl/Makefile.am:
	  examples: Add all gl subdirs to DIST_SUBDIRS to fix the build

2014-05-02 15:56:59 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: use the bufferpool's upload when available
	  Avoids duplicating GL resources
	  https://bugzilla.gnome.org/show_bug.cgi?id=728872

2014-05-02 05:57:00 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl: show internal cocoa window on top of others
	  Useful when your OSX terminal is fullscreen
	  https://bugzilla.gnome.org/show_bug.cgi?id=728127

2014-05-02 05:51:36 +0100  Julien Isorce <julien.isorce@gmail.com>

	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  gl: pass NSView instead of NSWindow in cocoa-videooverlay example
	  https://bugzilla.gnome.org/show_bug.cgi?id=728451

2014-05-02 05:50:18 +0100  Julien Isorce <julien.isorce@gmail.com>

	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	  gl: add copyright to cocoa example

2014-05-02 05:46:18 +0100  Julien Isorce <julien.isorce@gmail.com>

	* tests/examples/gl/cocoa/.gitignore:
	* tests/examples/gl/cocoa/Makefile.am:
	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
	* tests/examples/gl/cocoa/videooverlay/.gitignore:
	* tests/examples/gl/cocoa/videooverlay/Makefile.am:
	  gl: rename cocoa example and move it to its parent directory

2014-05-02 05:29:41 +0100  Julien Isorce <julien.isorce@gmail.com>

	* tests/examples/gl/cocoa/README:
	  gl: remove unuseful README for cocoa example

2014-05-01 16:07:05 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  gl/pool: init the upload object on start
	  Theoretically, set_config could be called multiple times

2014-05-01 14:36:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  gl: Try harder to load symbols from the correct place
	  This commit makes the loading of the GModules threadsafe, and
	  always first tries to load the symbol for the GL library that
	  is selected for the current context. Only then it falls back
	  to looking into the current module (NULL), and only as a last
	  resort the context specific function (e.g. eglGetProcAddress())
	  is called.
	  Also add configure parameters to select the names of the library
	  modules instead of using the defaults, and let the defaults be
	  independent of the G_MODULE_SUFFIX.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728753

2014-05-01 14:11:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglcolorscale.c:
	  glcolorscale: fix operation with dual GL, GLES2 libgstgl

2014-05-01 13:57:16 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/mem: implement texture copying between formats with strides properly
	  Previously, we used the width to determine the amount of data to be
	  copied using pbos.  This, makes it allocate enough data for the
	  the strides as well.

2014-05-01 12:51:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.h:
	  gl/mem: pad the public struct

2014-04-30 18:37:27 +0100  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: no need to provide full lib path to load symbols
	  - Make gstgl work on Mali
	  - Keep it work on RPI
	  - fallback to NULL name module if fails with usual lib name
	  https://bugzilla.gnome.org/show_bug.cgi?id=728753

2014-04-30 17:30:06 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstglcolorscale.h:
	  glcolorscale: use a shader on GLESv2
	  Otherwise you only see black frames
	  Fix https://bugzilla.gnome.org/show_bug.cgi?id=728947

2014-04-30 15:30:53 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  glimagesink: use new helper function to avoid duplicating default shader text

2014-04-30 15:28:35 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/effects/gstgleffectssources.h:
	  gleffects: use new helper functions to avoid duplicating the same vertex shader text
	  And also use the default fragment shader text for the identity effect

2014-04-30 15:20:23 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  gl: add convenient functions to setup default vertex and fragment shaders
	  Most of our 2D filters use the same simple vertex shader.
	  Also define the default fragment shader as the identity.
	  Avoid duplicating the same vertex and fragment shader text.

2014-04-29 19:24:08 +0100  Philippe Normand <pnormand@igalia.com>

	* gst-libs/gst/gl/gstglutils.h:
	  gl: add missing G_BEGIN/END_DECLS in utils header

2014-04-29 13:21:27 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/examples/gl/gtk/Makefile.am:
	  examples: gl: add missing entry to cflags to find gst/gl/gl.h
	  Otherwise build fails

2014-04-29 16:44:59 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/examples/gl/gtk/gstgtk.c:
	  tests: drop direct include
	  It is only allowed to include gdk/gdkx.h and that will bring all the x11 things.

2014-04-29 22:18:14 +1000  Jan Schmidt <jan@centricular.com>

	* tests/examples/gl/sdl/Makefile.am:
	  gl/sdl example: Fix uninstalled build

2014-04-23 20:29:47 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: Reduce noisy Info level output to LOG

2014-04-29 18:32:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/sdl/Makefile.am:
	* tests/examples/gl/sdl/sdlshare.c:
	  gl/examples/sdl: update for the latest gstgl changes

2014-04-29 16:38:55 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/examples/gl/Makefile.am:
	* tests/examples/gl/clutter/.gitignore:
	* tests/examples/gl/clutter/Makefile.am:
	* tests/examples/gl/clutter/clutteractor.c:
	* tests/examples/gl/clutter/clutteractortee.c:
	* tests/examples/gl/clutter/cluttershare.c:
	* tests/examples/gl/clutter/cluttershare.cbp:
	* tests/examples/gl/cocoa/Makefile.am:
	* tests/examples/gl/cocoa/README:
	* tests/examples/gl/cocoa/videooverlay/.gitignore:
	* tests/examples/gl/cocoa/videooverlay/Makefile.am:
	* tests/examples/gl/cocoa/videooverlay/main.m:
	* tests/examples/gl/generic/Makefile.am:
	* tests/examples/gl/generic/README:
	* tests/examples/gl/generic/cube/.gitignore:
	* tests/examples/gl/generic/cube/Makefile.am:
	* tests/examples/gl/generic/cube/cube.vcproj:
	* tests/examples/gl/generic/cube/main.cpp:
	* tests/examples/gl/generic/cubeyuv/.gitignore:
	* tests/examples/gl/generic/cubeyuv/Makefile.am:
	* tests/examples/gl/generic/cubeyuv/cubeyuv.vcproj:
	* tests/examples/gl/generic/cubeyuv/main.cpp:
	* tests/examples/gl/generic/doublecube/.gitignore:
	* tests/examples/gl/generic/doublecube/Makefile.am:
	* tests/examples/gl/generic/doublecube/doublecube.vcproj:
	* tests/examples/gl/generic/doublecube/main.cpp:
	* tests/examples/gl/generic/generic.sln:
	* tests/examples/gl/generic/recordgraphic/.gitignore:
	* tests/examples/gl/generic/recordgraphic/Makefile.am:
	* tests/examples/gl/generic/recordgraphic/main.cpp:
	* tests/examples/gl/generic/recordgraphic/recordgraphic.vcproj:
	* tests/examples/gl/gtk/Makefile.am:
	* tests/examples/gl/gtk/README:
	* tests/examples/gl/gtk/filternovideooverlay/.gitignore:
	* tests/examples/gl/gtk/filternovideooverlay/Makefile.am:
	* tests/examples/gl/gtk/filternovideooverlay/filternovideooverlay.vcproj:
	* tests/examples/gl/gtk/filternovideooverlay/main.cpp:
	* tests/examples/gl/gtk/filtervideooverlay/.gitignore:
	* tests/examples/gl/gtk/filtervideooverlay/Makefile.am:
	* tests/examples/gl/gtk/filtervideooverlay/filtervideooverlay.vcproj:
	* tests/examples/gl/gtk/filtervideooverlay/main.cpp:
	* tests/examples/gl/gtk/fxtest/.gitignore:
	* tests/examples/gl/gtk/fxtest/Makefile.am:
	* tests/examples/gl/gtk/fxtest/fxtest.c:
	* tests/examples/gl/gtk/fxtest/fxtest.vcproj:
	* tests/examples/gl/gtk/fxtest/pixbufdrop.c:
	* tests/examples/gl/gtk/gstgtk.c:
	* tests/examples/gl/gtk/gstgtk.h:
	* tests/examples/gl/gtk/gtk.sln:
	* tests/examples/gl/gtk/gtkvideooverlay/.gitignore:
	* tests/examples/gl/gtk/gtkvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/gtkvideooverlay/gtkvideooverlay.vcproj:
	* tests/examples/gl/gtk/gtkvideooverlay/main.cpp:
	* tests/examples/gl/gtk/pixbufdrop/pixbufdrop.vcproj:
	* tests/examples/gl/gtk/switchvideooverlay/.gitignore:
	* tests/examples/gl/gtk/switchvideooverlay/Makefile.am:
	* tests/examples/gl/gtk/switchvideooverlay/main.cpp:
	* tests/examples/gl/gtk/switchvideooverlay/switchvideooverlay.vcproj:
	* tests/examples/gl/qt/Makefile.am:
	* tests/examples/gl/qt/README:
	* tests/examples/gl/qt/mousevideooverlay/gstthread.cpp:
	* tests/examples/gl/qt/mousevideooverlay/gstthread.h:
	* tests/examples/gl/qt/mousevideooverlay/main.cpp:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pri:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.pro:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.sln:
	* tests/examples/gl/qt/mousevideooverlay/mousevideooverlay.vcproj:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/mousevideooverlay/pipeline.h:
	* tests/examples/gl/qt/mousevideooverlay/qrenderer.cpp:
	* tests/examples/gl/qt/mousevideooverlay/qrenderer.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/gstthread.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/gstthread.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/main.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/pipeline.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglrenderer.h:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pri:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.pro:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.sln:
	* tests/examples/gl/qt/qglwidgetvideooverlay/qglwidgetvideooverlay.vcproj:
	* tests/examples/gl/qt/qglwtextureshare/AsyncQueue.h:
	* tests/examples/gl/qt/qglwtextureshare/README:
	* tests/examples/gl/qt/qglwtextureshare/cocoa_utils.mm:
	* tests/examples/gl/qt/qglwtextureshare/glcontextid.h:
	* tests/examples/gl/qt/qglwtextureshare/gstthread.cpp:
	* tests/examples/gl/qt/qglwtextureshare/gstthread.h:
	* tests/examples/gl/qt/qglwtextureshare/main.cpp:
	* tests/examples/gl/qt/qglwtextureshare/moc_gstthread.cpp:
	* tests/examples/gl/qt/qglwtextureshare/moc_pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/moc_qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.cpp:
	* tests/examples/gl/qt/qglwtextureshare/pipeline.h:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.cpp:
	* tests/examples/gl/qt/qglwtextureshare/qglrenderer.h:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare:
	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
	* tests/examples/gl/qt/videooverlay/Debug/videooverlay:
	* tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_gstthread.cpp:
	* tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_pipeline.cpp:
	* tests/examples/gl/qt/videooverlay/GeneratedFiles/debug/moc_qrenderer.cpp:
	* tests/examples/gl/qt/videooverlay/videooverlay.cpp:
	* tests/examples/gl/qt/videooverlay/videooverlay.pri:
	* tests/examples/gl/qt/videooverlay/videooverlay.sln:
	* tests/examples/gl/qt/videooverlay/videooverlay.vcproj:
	* tests/examples/gl/qt/videooverlay/videovideooverlay.pro:
	* tests/examples/gl/sdl/.gitignore:
	* tests/examples/gl/sdl/Makefile.am:
	* tests/examples/gl/sdl/sdl.sln:
	* tests/examples/gl/sdl/sdlshare.c:
	* tests/examples/gl/sdl/sdlshare.vcproj:
	  gl/examples: move to -bad
	  - fix all the compiler errors
	  - give them their own gl directory

2014-04-28 15:52:41 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  gl: append GL_LIB and GL_CFLAGS in pc files

2014-04-28 15:15:20 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  gl: use gst_gl_platform_from_string because we support gl shareList on all platforms

2014-04-28 15:07:34 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglfilter.c:
	  glfilter: only warn when other_context attribute is set
	  Fix false positive

2014-04-28 14:54:21 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl: fix string literal warning
	  warning: format not a string literal, argument types not checked [-Wformat-nonliteral]

2014-04-25 16:18:07 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* tests/check/libs/gstglmemory.c:
	  gl: check the correct GstGLMemory in basic_test

2014-04-24 13:59:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: Removed unused variable

2014-04-24 18:33:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  gl/x11: Get rid of unneeded second display connection and do everything from the main loop

2014-04-24 18:28:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  gl/x11: Block rendering until swapbuffers is called and don't go via X11 events as unneeded indirection
	  This should fix QoS problems, where basesink believed it was rendering with
	  20FPS but actually we were just queueing up X11 Expose events and only once
	  in a while something was rendered.

2014-04-24 16:05:32 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  gl: fails glimagesink when shader compilation went wrong
	  Those shaders are fixed and very simple so it should not fail
	  but it's worth to handle a such case.

2014-04-24 15:36:47 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  gl: call glClearColor before glClear

2014-04-24 16:33:56 +0200  Josep Torra <n770galaxy@gmail.com>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	  pkgconfig: fix gstreamer-gl uninstalled
	  Ensure to provide libgstgl also in the uninstalled setup.
	  Fixes build of gst-omx for RPI in uninstalled setup.

2014-04-24 15:17:41 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/rpi: do not scale to full screen
	  Having a 640x360 movie being scaled to 1900x1200 does not look nice

2014-04-24 14:50:57 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/rpi: change dispmanx attributes of existing element instead of creating a new one
	  I was lucky that:
	  e1 = vc_dispmanx_element_add ()
	  eglCreateWindowSurface (e1)
	  vc_dispmanx_element_remove (e1)
	  e2 = vc_dispmanx_element_add ()
	  resulted in having e2 equal to e1. And also having the egl surface
	  that does not allocate its buffers before the first draw.

2014-04-24 14:38:40 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/rpi: ensure the dispmanx element to be opaque
	  So that we ensure it does not get alpha composited with other
	  dispmanx elements like the desktop.

2014-04-24 10:37:00 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: pass a NSView to set_window_handle instead of a NSWindow
	  Fix backwards compatibility
	  https://bugzilla.gnome.org/show_bug.cgi?id=728451

2014-04-24 09:03:32 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: only draw once the window has been resized
	  It avoids to draw the first frame with an incorrect view port.

2014-04-24 08:49:54 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: set the view to use for drawing by the context
	  It avoids to draw to an invalid buffer.
	  Withtout this the default frame buffer is undefined:
	  glBindFramebuffer (GL_FRAMEBUFFER, 0)
	  Visually you could see some white frames at the beginning
	  when lunching videotestsrc ! glimagesink
	  With OpenGL Profiler from XCode you could see some
	  GL_INVALID_FRAMEBUFFER_OPERATION for the first frames

2014-04-23 14:41:21 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglupload.c:
	  gl: fix declaration-definition mismatch for _init_upload

2014-04-23 13:34:12 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglbufferpool.c:
	  gl/bufferpool: do not reset upload when set_config does not change the caps
	  With videotestsrc ! glimagesink it was reset 3 times

2014-04-23 13:30:27 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglapi.h:
	  gl: use #ifdef instead of #if for __APPLE__
	  warning: "__APPLE__" is not defined [-Wundef]
	  with gcc version 4.7.2 20120731 (prerelease)
	  (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08)

2014-04-23 12:42:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  glmemory: User g_slice_new0 to ensure fully initilized structure
	  The pbo pointer not being initialized would trigger a use of unitilialized variable
	  in valgrind.

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

	* ext/gl/gstglimagesink.c:
	  glimagesink: Use the pixel-aspect-ratio adjusted width/height when centering the frame in the display area
	  Makes sure we actually keep the display aspect ratio

2014-04-23 10:55:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: By default keep the display aspect ratio
	  Also the default for the pixel-aspect-ratio should be 1/1, not 0/1.

2014-04-23 10:27:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstgltestsrc.c:
	  gltestsrc: Unref context when creation failed and guard against that in fill()

2014-04-23 10:24:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Call gst_object_unref() on the GstGL GObjects again
	  While they're plain GObjects it does not hurt to call gst_object_unref()
	  on them and potentially allows to debug reference leaks a bit easier.

2014-04-23 10:00:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: If creating a context or upload failed, destroy it
	  Fixes deadlocks in error cases when later code assumes the broken
	  context is actually usable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728761

2014-04-21 09:51:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  gl: a couple spelling/grammar fixes

2014-04-21 09:50:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	  gl: guard against using a NULL window pointer
	  Coverity 1195145

2014-04-21 09:47:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl: prevent division by 0 on unsupported texture type
	  Coverity 1199697

2014-04-21 22:01:47 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Fix bt709 conversion matrices.
	  Fix the sign on one entry in the bt.709 YUV->RGB conversion
	  matrix, and the corresponding inverse matrix. Fixes really
	  wrong colouring of some videos.

2014-03-24 12:08:43 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstgles2.h:
	  gl: allow to include GLES/gl.h
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-04-13 19:20:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/eagl: Fix compilation

2014-04-13 16:53:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	  gl/eagl: Notify the window's resize callback about surface dimension changes
	  https://bugzilla.gnome.org/show_bug.cgi?id=728107

2014-04-13 16:46:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	  gl/eagl: Remove spurious private struct pointer

2014-04-13 16:40:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	  gl/android: Notify the window's resize callback about surface dimension changes
	  https://bugzilla.gnome.org/show_bug.cgi?id=728107

2014-04-13 22:16:45 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: remove unused texture

2014-04-13 22:14:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	  glimagesink: move upload into _prepare()

2014-04-13 13:49:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl/context: output available extensions

2014-04-13 13:39:14 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  gl/context: provide get_gl_version

2014-04-13 00:21:00 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/color: restore viewport dimensions when fbo done
	  Regression introduced by 95abfda1399bcddbee345d4542e857d743965477.
	  It caused to display the wrong frame size when resizing the window.

2014-04-12 22:45:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	  gl: Import QuartzCore/QuartzCore.h for CAEAGLLayer on older iOS versions

2014-04-12 22:15:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstopengl.c:
	  gl: Set glimagesink rank to SECONDARY
	  This is a full-featured video sink now and especially should be
	  used instead of osxvideosink on OSX if available.

2014-04-12 21:43:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/eagl/Makefile.am:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.h:
	* gst-libs/gst/gl/eagl/gstglcontext_eagl.m:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.h:
	* gst-libs/gst/gl/eagl/gstglwindow_eagl.m:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglwindow.c:
	  gl: Add support for iOS EAGL platform
	  https://bugzilla.gnome.org/show_bug.cgi?id=703341

2014-04-12 17:33:44 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: make gst_gl_window_cocoa_send_message_async re-entrant
	  Backends that use g_main_context_invoke are re-entrant.
	  Il allows to call two nested gst_gl_context_thread_add.
	  ex: init_upload / init_colorconvert

2014-04-12 17:01:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: First handle GL window setup, then create the context and its thread

2014-04-12 15:51:47 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  gl/cocoa: fix NSAutoreleasePool initialization

2014-04-12 12:42:40 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: ensure to call NSApplication:sharedApplication in the main thread
	  "(NSApplication *)sharedApplication This method also makes a connection
	  to the window server and completes other initialization"
	  The implicit thing which is not mentioned is that it required
	  to be called in the main thread.
	  Fix a regression introduces by 82b7c915bb02a9790d256d599452e5a54afda633
	  When using with gst-launch, it was not possible to click on the close
	  cross of the window anymore which is a bit anoying and also because
	  it's was possible before.
	  Prior to this commit the GstGLContextCocoaClass was initialized
	  in the main thread because gst_gl_context_new was called in the
	  state change function from going from ready to paused.
	  From this commit this call is done from the streaming thread.
	  So that the call to [NSApplication sharedApplication];
	  was not done in the main thread anymore.
	  We now ensure that by assuming there is a GMainLoop running.
	  It's for debugging purpose so that's ok to do that. Also
	  note we already do this assumtion to run app itereations.
	  The regression had no consequence on the cocoa/videooverlay example
	  (that should be moved from gst-plugins-gl to -bad) because the
	  application is responsible for that necessary call.

2014-04-12 14:40:40 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/color: fix warning type qualifiers ignored
	  i686-apple-darwin11-llvm-gcc-4.2
	  "warning: type qualifiers ignored on function return type"

2014-04-12 18:24:43 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/color: remove if statement with no effect
	  Coverity 1199698

2014-04-12 18:16:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl/color: pass large value by reference
	  Coverity 1199700

2014-04-11 17:24:39 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  gl/mem: cache the stride/unpack length for upload

2014-04-11 17:23:32 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/color: explicitly map the buffers we are copying into
	  Otherwise it may not be downloaded at all.

2014-04-11 16:09:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl/color: cache the temporary textures

2014-04-11 11:04:43 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  gl/mem: provide defines for tokens not defined in GLES2/ancient platforms

2014-04-11 11:03:19 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl: fixup incorrect number of arguments

2014-04-11 10:55:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  gl: fix incorrect usage of g_return_if_fail

2014-04-02 17:43:52 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gl/mem: allocate the memory per plane
	  This patch provides the basic infrastructure required for this.
	  Upload and Download has been ported to this.
	  Has the nice effect of allowing GstGLMemory to be our
	  refcounted texture object for any texture type (not just RGBA).
	  Should not lose any features/video formats.

2014-04-01 15:10:05 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  gl/eglimage: #if 0 unused code

2014-04-01 13:30:51 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglcolorconvert.c:
	* gst-libs/gst/gl/gstglcolorconvert.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gl: add colorconvert object that converts between color spaces/formats
	  Currently used by both upload and download objects separately.

2014-04-09 10:28:46 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectlumatocurve.h:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectxray.c:
	  gl: pass large structure by const pointer, not value
	  Avoids large pointless memcpy.
	  Coverity 206236, 206237

2014-04-08 16:23:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglvideomixer.c:
	  gl: test for frame NULLness before dereferencing it
	  Coverity 1195172, 1195171

2014-04-08 15:54:01 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/gl/egl/gsteglimagememory.c:
	  gl: fix leaks
	  As the relevant variables are initialized to 0/NULL, we can loop
	  over the full range and make sure we free partial allocations
	  when an error happens partway through initialization.

2014-04-06 11:57:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglimagesink.c:
	  glimagesink: Create GL context and set up window from the streaming thread
	  gst_gl_context_create() might need to dispatch some operations to the
	  application's main thread, and calling this in the change_state function
	  can cause deadlocks.

2014-04-02 13:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  tests: fix gl unit tests for recent API changes

2014-04-02 23:05:47 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  gl: pass video info's by reference

2014-04-02 23:05:11 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglvideomixer.c:
	  gl: fix array initialization

2014-04-02 22:54:55 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglbumper.c:
	  glbumper: remove redundant check

2014-04-02 22:53:10 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  gl/glx: use the context's display rather than asking for the window's

2014-04-02 22:43:41 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglvideomixer.c:
	  gl: fix assignment of temporary variables

2014-04-02 22:42:50 +1100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  gl: avoid adding a NULL pool to propose allocation

2014-04-01 21:48:26 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: fix detection of extensions with GL versions < 3
	  Mesa, for example returns valid pointers for glGetIntegerv and
	  glGetStringi even if the gl version is less than that required for
	  both those functions to supposedly exist.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727324

2014-03-28 20:22:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/egl/Makefile.am:
	  gl: egl: fix distcheck and out of source build

2014-03-28 20:47:36 +0100  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/gl/Makefile.am:
	  build: Fix make dist

2014-03-25 15:40:14 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/dispmanx/Makefile.am:
	* gst-libs/gst/gl/win32/Makefile.am:
	  gl: fix out-of-source builds pt2
	  21b897de2f762bee504cbc007fd108148ee5ae24 did this for x11 and wayland.
	  Do it for the other backends as well.

2014-03-26 23:13:53 +0000  Julien Isorce <julien.isorce@gmail.com>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: only set CAPS_FEATURE_MEMORY_EGL_IMAGE on egl platform

2014-03-26 19:17:03 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstglimagesink.c:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstglfilter.c:
	  gl: let the user includes itself our egl headers if needed
	  Forgot to address this change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-03-22 22:01:49 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	  gl: add EGLImage support
	  * picked from old libgstegl:
	  - GstEGLImageMemory
	  - GstEGLImageAllocator
	  - last_buffer management from removed GstEGLImageBufferPool
	  * add-ons:
	  - GstEGLImageMemory now old a reference on GstGLContext
	  so that it can delete the EGLImage and its gltexture source
	  while having the associated gl context being current.
	  - add EGLImage support for GstVideoGLTextureUploadMeta which
	  mainly call EGLImageTargetTexture2D
	  - GstGLBufferPool now supports GstEGLImageAllocator
	  - glimagesink / glfilters / etc.. now propose GstEGLImageAllocator
	  to upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-03-24 12:12:42 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/Makefile.am:
	  gl: deploy egl headers in gst/gl/egl instead of gst/gl
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-03-24 12:10:00 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/x11/Makefile.am:
	  gl: remove commented and unsued code in x11 Makefile.am
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-03-24 12:04:08 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: fix crash if _build_extension_string is not called
	  On GLES2 then (gl->GetIntegerv && gl->GetStringi) is false
	  regression introduced by cc6df204e2f58fffda5cbe90f3450aeba95889c4
	  https://bugzilla.gnome.org/show_bug.cgi?id=703343

2014-03-24 17:33:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>

	* ext/gl/Makefile.am:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/x11/Makefile.am:
	  gl: fix out-of-source builds.
	  Always use the locally generated <gst/gl/gstglconfig.h> file.
	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

2014-03-25 00:50:30 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  gl/download: add support for the bt709 color matrix

2014-03-25 00:34:13 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: add support for the bt709 color matrix

2014-03-24 23:09:20 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/dispmanx/Makefile.am:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/x11/Makefile.am:
	  gl: remove explicit reference to X_CFLAGS
	  They are in GL_CFLAGS if required

2014-03-23 23:43:28 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  gl/upload: remove the legacy GL 1.x upload path
	  uploading requires shaders and fbos available in GL2.

2014-03-23 11:02:08 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: fallback to glGetString if GL_NUM_EXTENSIONS fails
	  Need it on MacOSX 10.7.5

2014-03-23 01:02:03 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	  gl: and update the Makefile

2014-03-23 00:38:16 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/base.h:
	* gst-libs/gst/gl/glprototypes/blending.h:
	* gst-libs/gst/gl/glprototypes/eglimage.h:
	* gst-libs/gst/gl/glprototypes/fbo.h:
	* gst-libs/gst/gl/glprototypes/fixedfunction.h:
	* gst-libs/gst/gl/glprototypes/gles.h:
	* gst-libs/gst/gl/glprototypes/gles1.h:
	* gst-libs/gst/gl/glprototypes/gles1_functions.h:
	* gst-libs/gst/gl/glprototypes/gles2_functions.h:
	* gst-libs/gst/gl/glprototypes/gles3opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl_functions.h:
	* gst-libs/gst/gl/glprototypes/shaders.h:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: reorganize the extension headers by function rather than api

2014-03-21 20:29:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  gl/win32: use the correct include and gst-indent

2014-03-18 09:16:25 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	  gl: use wglCreateContextAttribsARB to create share context
	  https://bugzilla.gnome.org/show_bug.cgi?id=726494

2014-03-17 20:43:35 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  gl/mixer: fix download check for failure

2014-03-17 20:40:51 +0100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/gstgltestsrc.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  gl: silence a critical if upstream does not provide us with meta params

2014-03-19 13:48:10 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglapi.h:
	  gl: silence warnings building for RPI related to 'vcos_*'
	  Similar than 1190a79b199584cfc4dd62c474531c32cfbba425

2014-03-19 13:45:35 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	  gl: keep only one occurence of '#include <EGL/egl.h>'
	  To simply maintainance if we need to put specific includes around it.

2014-03-18 00:08:50 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	  gl: fix the use of always-defined macros
	  After 2a0f0399ae226089c2ba07b1b904741b856f37af GST_GL_* macros are always
	  defined to 0 or 1. Don't use #ifdef ... or #if defined() on them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=726591

2014-03-17 15:16:13 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: add GModule libs for win32

2014-03-17 15:06:25 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: only link against gstegl if we are using egl
	  Assuming if we are building egl that the egl library is built

2014-03-17 14:37:13 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: add path of the gstegl library
	  Temporary until we merge the two libraries

2014-03-17 14:26:31 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  Revert "gl: add dep on gstegl"
	  It was already in _LIBADD
	  This reverts commit b10a3530804335fc3b9494603ef78ce9417c3bc8.

2014-03-17 14:11:14 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: add dep on gstegl
	  Temporary until we merge the two libraries

2014-03-17 14:06:22 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Fix debug statements and platform

2014-03-17 12:04:40 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	  gl: Fix static build with objective-C
	  --tag=CC is needed for static build

2014-03-17 10:56:39 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.c:
	* gst-libs/gst/gl/egl/gstgldisplay_egl.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  gl: Add EGLDisplay display subclass

2014-03-17 10:44:32 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  gl/window: add a dummy window class
	  Effective for the case where we have a platform that does not
	  require a native window.  We require a mainloop to run the GL
	  commands which is currently operated by GstGLWindow.

2014-03-17 08:10:50 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: fix undeclared symbol when building without GST_DEBUG

2014-03-16 18:55:03 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: fix a double unref of the query when building without X

2014-03-16 17:21:38 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl: silence a compiler warning about missing prototypes

2014-03-14 19:03:36 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  gl/utils: add x11 GstContext handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=726360

2014-03-16 15:34:11 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  gl: define GL_NUM_EXTENSIONS if not defined

2014-03-16 15:06:37 +0100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gstgldifferencematte.h:
	* ext/gl/gstglfilterapp.h:
	* ext/gl/gstglfilterblur.h:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglfilterglass.h:
	* ext/gl/gstglfilterlaplacian.h:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfilterreflectedscreen.h:
	* ext/gl/gstglfiltershader.h:
	* ext/gl/gstglfiltersobel.h:
	* ext/gl/gstgloverlay.h:
	* ext/gl/gstopengl.c:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  gl: silence all the compiler warnings

2014-03-16 11:23:16 +0100  Matthew Waters <ystreet00@gmail.com>

	* ext/gl/BUGS:
	* ext/gl/Makefile.am:
	* ext/gl/effects/gstgleffectbulge.c:
	* ext/gl/effects/gstgleffectfisheye.c:
	* ext/gl/effects/gstgleffectglow.c:
	* ext/gl/effects/gstgleffectidentity.c:
	* ext/gl/effects/gstgleffectlumatocurve.c:
	* ext/gl/effects/gstgleffectlumatocurve.h:
	* ext/gl/effects/gstgleffectmirror.c:
	* ext/gl/effects/gstgleffectrgbtocurve.c:
	* ext/gl/effects/gstgleffectscurves.h:
	* ext/gl/effects/gstgleffectsin.c:
	* ext/gl/effects/gstgleffectsquare.c:
	* ext/gl/effects/gstgleffectsqueeze.c:
	* ext/gl/effects/gstgleffectssources.c:
	* ext/gl/effects/gstgleffectssources.h:
	* ext/gl/effects/gstgleffectstretch.c:
	* ext/gl/effects/gstgleffecttunnel.c:
	* ext/gl/effects/gstgleffecttwirl.c:
	* ext/gl/effects/gstgleffectxray.c:
	* ext/gl/gltestsrc.c:
	* ext/gl/gltestsrc.h:
	* ext/gl/gstglbumper.c:
	* ext/gl/gstglbumper.h:
	* ext/gl/gstglcolorscale.c:
	* ext/gl/gstglcolorscale.h:
	* ext/gl/gstgldeinterlace.c:
	* ext/gl/gstgldeinterlace.h:
	* ext/gl/gstgldifferencematte.c:
	* ext/gl/gstgldifferencematte.h:
	* ext/gl/gstgleffects.c:
	* ext/gl/gstgleffects.h:
	* ext/gl/gstglfilterapp.c:
	* ext/gl/gstglfilterapp.h:
	* ext/gl/gstglfilterblur.c:
	* ext/gl/gstglfilterblur.h:
	* ext/gl/gstglfiltercube.c:
	* ext/gl/gstglfiltercube.h:
	* ext/gl/gstglfilterglass.c:
	* ext/gl/gstglfilterglass.h:
	* ext/gl/gstglfilterlaplacian.c:
	* ext/gl/gstglfilterlaplacian.h:
	* ext/gl/gstglfilterreflectedscreen.c:
	* ext/gl/gstglfilterreflectedscreen.h:
	* ext/gl/gstglfiltershader.c:
	* ext/gl/gstglfiltershader.h:
	* ext/gl/gstglfiltersobel.c:
	* ext/gl/gstglfiltersobel.h:
	* ext/gl/gstglimagesink.c:
	* ext/gl/gstglimagesink.h:
	* ext/gl/gstglmosaic.c:
	* ext/gl/gstglmosaic.h:
	* ext/gl/gstgloverlay.c:
	* ext/gl/gstgloverlay.h:
	* ext/gl/gstgltestsrc.c:
	* ext/gl/gstgltestsrc.h:
	* ext/gl/gstglvideomixer.c:
	* ext/gl/gstglvideomixer.h:
	* ext/gl/gstopengl.c:
	  move gl elements to ext subdirectory

2014-03-15 15:55:46 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [906/906] filter: warn about trying to share with multiple contexts at once

2014-03-15 14:06:40 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [905/906] Add GL context sharing support for non-gstgl elements

2014-03-15 13:55:39 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [904/906] mixer: ask for display handles on pad activation

2014-03-15 13:51:44 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	  [903/906] api: add GstGLPlatform to/from string

2014-03-15 11:25:43 +0100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	  [902/906] context: implement glGetStringi handling for GL core contexts/GLES3

2014-03-12 23:46:58 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  [901/906] glx: use the display handle from the global display
	  Intel drivers require the display handles be the same for context
	  sharing to occur.  Also solves some cases of use after free of the
	  display when integrating with gstreamer-vaapi.
	  See https://bugs.freedesktop.org/show_bug.cgi?id=41736 for the intel bug.

2014-03-12 23:44:28 +1100  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglcontext.c:
	  [900/906] tests/gstglcontext: reduce the number of frames displayed
	  Was causing timeouts on intel hardware due to vsync handling.

2014-03-12 23:43:12 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  [899/906] egl: warn if we resort to display handles from the window

2014-03-04 23:28:01 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglapi.c:
	  [897/906] api: plugin a small memory leak
	  Found by adrien.schwartzentruber@gmail.com

2014-03-02 11:48:54 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  [896/906] utils: use the vtable for deleting the texture

2014-02-28 17:42:51 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  [895/906] context: call window_class->close last
	  We should destroy resources before closing the display connection
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725048

2014-02-25 09:27:26 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglfeature.h:
	  [894/906] gl: add missing G_BEGIN_DECLS/G_END_DECLS
	  https://bugzilla.gnome.org/show_bug.cgi?id=725111

2014-02-24 23:55:58 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [893/906] x11: close both of the display's we use
	  (the comment doesn't seem to apply anymore)
	  https://bugzilla.gnome.org/show_bug.cgi?id=725048

2014-02-23 11:44:51 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  [892/906] silence a compiler warning on older gcc versions (4.6)

2014-02-11 08:57:29 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* tests/check/libs/gstglcontext.c:
	  [891/906] context: add support for wrapping external contexts

2013-11-27 17:52:46 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.c:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/x11_event_source.c:
	  [890/906] x11: add display subclass
	  GstGLDisplayX11 holds the display connection and name.  Each thread requires
	  it's own X11 Display connection (initialised from name) due to the fact that
	  we do not want to call XInitThreads().  Doing so would result in segfaults
	  when integrating with GUI toolkits Gtk, Qt, etc.
	  The Display connection is for OpenGL platforms where a constant display is
	  required in order to share contexts (egl).  In the case of a wrapped context
	  (added later), we do not have GstGLWindow to retreive the display from so a
	  'master' connection is used instead.

2014-01-15 10:21:56 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [889/906] display: add display type enum

2014-02-23 11:27:23 +1100  Adrien SCH <adrien.schwartzentruber@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  [888/906] correct error handling in gstgldownload.c

2014-02-23 10:36:57 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [887/906] mixer: fixup a memory leak of the context in the GLTextureUploadMeta path
	  gst_structure_get returns a reference to the object and we asked
	  for another with gst_object_replace.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724816

2014-02-23 01:32:23 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [886/906] fixup a memory leak of the context in the GLTextureUploadMeta path
	  gst_structure_get returns a reference to the object and we asked
	  for another with gst_object_replace.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724816

2014-02-21 15:25:22 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [885/906] filter: free our data
	  plugs some memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=724816

2014-02-21 13:28:16 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [884/906] filter: return the pad template caps in transform_caps
	  We can transform from any input in our caps to any output.
	  With the following pipeline snippet:
	  ... ! vaapidecode ! glcolorscale ! xvimagesink
	  GstVideoGLTextureUploadMeta was being used on both src and sink
	  pads causing linking to fail.  This allows the usage of the meta
	  on either pad without affecting whether the meta is chosen on the
	  other pad.

2014-02-11 08:23:39 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/gles1.h:
	* gst-libs/gst/gl/glprototypes/gles1gles2.h:
	* gst-libs/gst/gl/glprototypes/gles1gles2opengl.h:
	* gst-libs/gst/gl/glprototypes/gles1opengl.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglcontext.c:
	  [883/906] api: provide from_string()
	  Also s/gst_gl_api_string/gst_gl_api_to_string/g

2014-02-06 21:43:45 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [881/906] upload: restore default values for unpack_length
	  fixes elements that upload a supplementary texture (glbumber,
	  gldifferencematte, etc)

2014-02-20 22:40:05 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  [879/906] build: don't add X_CFLAGS to CFLAGS
	  It should already be included if needed inside GL_CFLAGS

2014-02-05 01:53:04 +1100  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	* tests/check/libs/gstglupload.c:
	  [878/906] tests: update for glmem api change

2014-02-04 13:49:35 +0100  Chris Paulson-Ellis <chris@edesix.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [877/906] x11: Use correct format string for guintptr
	  https://bugzilla.gnome.org/show_bug.cgi?id=723537

2014-02-01 03:14:48 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	  [876/906] glmem: use GstVideoInfo for format configuration
	  Allows use of strides

2014-01-31 06:53:54 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [875/906] upload: support for arbitrary strides
	  Using GL_UNPACK_ALIGNMENT for GLES2 and GL_UNPACK_ROW_LENGTH for everything else

2014-01-30 07:49:20 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [874/906] filter: implement draw_texture for GLES2
	  (taken from gleffects)

2014-01-29 19:14:54 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [873/906] upload: use GstVideoInfo for choosing the format

2014-01-29 06:42:40 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [872/906] upload: consolidate data _fill

2014-01-29 02:51:23 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [871/906] upload: fix texture scaling for YUY2/UYVY with GLES2
	  Another artifact from the transition to GL_TEXTURE_2D

2014-01-29 01:02:57 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [870/906] upload: remove superflous g_mutex_init

2014-01-30 08:28:52 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* tests/check/libs/gstglupload.c:
	  [869/906] tests: add some upload tests

2014-01-28 07:50:13 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [868/906] upload: fix compilation for GLES2

2014-01-17 08:46:02 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [867/906] glupload: Add GRAY8/GRAY16LE/BE upload support to glimagesink
	  the 16bit data is uploaded as LUMINANCE_ALPHA, then expanded, composed
	  in shader. value weight is a little complicate, high byte weight is
	  255*256/65535 (denormalize to [0~255] ,shift to high byte,then normalize
	  to [0~1]), low byte weight is 255/65535(similar)
	  https://bugzilla.gnome.org/show_bug.cgi?id=722670

2013-11-23 22:57:03 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [866/906] upload: update some docs

2013-11-23 22:19:18 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  [865/906] glmem: report successful copy to the caller

2013-11-26 09:32:32 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [863/906] window: hold a ref to our GstGLDisplay

2013-11-25 20:34:06 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [862/906] window: remove set_need_lock
	  No-one is using it.  The only code that did was the x11 one which
	  doesn't need it anymore.

2014-01-10 02:50:14 +0800  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	  [861/906] glprototypes: Add missing glScalef declare
	  https://bugzilla.gnome.org/show_bug.cgi?id=721903

2013-11-23 22:58:57 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  [860/906] docs: misc updates

2013-11-23 22:57:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [859/906] window: provide some documetation

2013-11-23 22:56:10 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  [858/906] glmem: update the docs

2013-11-23 22:54:46 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [857/906] display: document the new GstContext api

2013-11-23 22:53:48 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	  [856/906] context: document it

2013-11-14 15:27:52 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [855/906] upload: add support for GstVideoGLTextureUploadMeta

2013-11-13 00:41:01 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [854/906] use the allocation query to propogate GstGLContext
	  uses the GstVideoGLTextureUploadMeta api type for the query

2013-10-24 22:30:45 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	  [853/906] display: remove _{set,get}_context
	  A GstGLDisplay doesn't need a GstGLContext and its use
	  was cause a reference cycle

2013-11-13 10:43:16 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [852/906] use GstContext for GstGLDisplay propogation
	  implements the hooks required in GstElement::set_context and the context query

2013-11-15 18:28:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [850/906] glupload: Remove texture scaling artifacts from the TEXTURE_RECTANGLE -> TEXTURE_2D transition
	  fixes the funky colours in some of the yuv formats
	  https://bugzilla.gnome.org/show_bug.cgi?id=721155

2013-10-24 22:28:57 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [848/906] filter: a little code cleanup

2013-11-13 15:57:07 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [847/906] mixer: unmap the video frames we map
	  plugs a memory leak

2013-11-15 20:50:27 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [846/906] mixer: handle 0/1 framerate better in caps

2013-11-15 20:49:43 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [845/906] filter: handle capsfeatures properly

2013-11-14 15:08:47 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  [844/906] mixer: give access to the pads at render time
	  allows us to move the video frame mapping somewhere else

2013-11-13 23:24:00 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  [843/906] memory: provide copy_into_texture

2013-12-25 23:35:50 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  [842/906] Fix gstglconfig.h-related 'make distcheck' issues
	  Fix srcdir vs. builddir issue in docs and 'files left after
	  disclean' issue for gstglconfig.h

2013-11-30 09:51:49 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  [841/906] osx: allow x11/glx backend and set default runtime to cocoa/nsgl
	  https://bugzilla.gnome.org/show_bug.cgi?id=719757

2013-11-30 16:38:13 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  [839/906] cocoa: allow to call set_window_handle before to create glcontext
	  So that it actually make cocoa videooverlay example work again.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719758

2013-11-15 18:28:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* tests/check/libs/gstglcontext.c:
	  [838/906] gl: Use GL_TEXTURE_2D instead of GL_TEXTURE_RECTANGLE
	  We create our textures (in Desktop GL) with GL_TEXTURE_RECTANGLE,
	  vaapi attempts to bind our texture to GL_TEXTURE_2D which throws a
	  GL_INVALID_OPERATION error and as thus, no video.
	  Also, by moving exclusively to GL_TEXTURE_2D and the npot extension
	  we also remove a difference between the Desktop GL and GLES2 code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712287

2013-11-08 12:12:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  [837/906] cocoa: resize OpenGL view size each time the window is resized
	  Fixes glitches that can appear when the OpenGL view has not been resized
	  after a window resize.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711672

2013-11-01 16:35:46 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	  [836/906] cocoa: only use GSRegisterCurrentThread with GNUStep environment

2013-11-06 22:16:21 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow.c:
	  [835/906] gstglwindow: remove unused fields

2013-11-06 22:13:20 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow.c:
	  [834/906] gstglwindow: clear mutex

2013-11-06 22:12:02 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcontext.c:
	  [833/906] gstglcontext: initialize window to NULL

2013-11-06 21:59:27 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [832/906] x11: ignore Expose events not initiated by gst_gl_window_draw

2013-11-06 21:55:49 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [831/906] glimagesink: avoid to overload the drawer if already drawing
	  Especially if the application calls gst_video_overlay_expose a lot

2013-10-23 20:38:56 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [829/906] mixer: error out properly on flushing

2013-10-22 21:48:00 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  [828/906] context: refcount the display

2013-10-26 02:20:54 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [827/906] mixer: don't unref the query in the default case
	  The element/application performing the query is responsible for the
	  de/allocation

2013-10-24 21:24:03 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [826/906] upload: free our mutex

2013-10-11 16:00:23 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [825/906] glwindow_x11: check if the loop exists
	  It happens when calling set_window_handle before to reach GST_STATE_READY.
	  In this case the parent is set when creating the internal window.

2013-10-01 23:47:54 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	  [824/906] android: Build fixes
	  https://bugzilla.gnome.org/show_bug.cgi?id=709786

2013-10-01 11:46:46 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [823/906] wayland_egl: make the wayland backend actually work on Raspberry Pi
	  Fix resizing and can now move the window

2013-10-01 11:44:00 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  [822/906] gstglcontext_egl: avoid non working EGL confs on rpi/wayland

2013-10-01 11:42:21 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglframebuffer.c:
	* tests/check/libs/gstglcontext.c:
	  [821/906] tests: fix test_share on GLESv2

2013-10-01 11:27:07 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow.c:
	  [820/906] gstglwindow: if available use wayland instead dispmanx on rpi

2013-09-27 01:15:25 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [819/906] make gen_texture/del_texture threadsafe
	  Use stack allocated instead of static variables
	  Conflicts:
	  gst-libs/gst/gl/gstglutils.c

2013-09-25 12:26:57 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [818/906] window: add send_message_async vmethod
	  - provide a default synchronous send_message
	  - make context creation threadsafe again

2013-09-24 16:37:11 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [817/906] make the state change test pass

2013-09-24 14:07:58 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [816/906] x11: fix make check segfault

2013-09-20 11:55:36 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglcontext.c:
	  [815/906] fix some refcount errors

2013-09-20 11:54:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [814/906] mixer: timestamp buffers

2013-09-16 19:07:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [813/906] unref the pool on shutdown

2013-09-15 14:23:43 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* tests/check/libs/gstglcontext.c:
	* tests/check/libs/gstglmemory.c:
	  [812/906] move the GL vtable from GstGLDisplay to GstGLContext
	  Conflicts:
	  tests/check/libs/gstglcontext.c

2013-08-22 15:55:35 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglmemory.c:
	  [811/906] tests: update for GstGLContext addition

2013-09-26 14:46:16 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglutils.c:
	  [810/906] gstglutils: use gl_vtable for glDeleteTextures

2013-09-26 14:43:19 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* tests/check/libs/gstglcontext.c:
	  [809/906] tests: port test_share to GLES2
	  Also add a deinit function to release fbo, tex and shader.

2013-09-03 22:03:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [808/906] x11: remove dead code

2013-09-03 21:49:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  [807/906] context: Move some window error enums to context

2013-08-30 00:28:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	  [806/906] egl: doesn't require the EGLConfig from the other context
	  libEGL should give us the same or similar EGLConfig from the
	  EGLDisplay we have.

2013-08-30 00:22:31 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [805/906] glfilter: rename external-opengl-context prop to other-context
	  It now requires a GstGLContext instead of a handle

2013-08-30 15:53:41 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/gstglcontext.c:
	  [804/906] rpi: call bcm_host_init in plugin_init

2013-08-30 14:12:37 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/dispmanx/Makefile.am:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  [803/906] raspberrypi: add support for dispmanx
	  See https://bugzilla.gnome.org/show_bug.cgi?id=703342

2013-08-29 20:12:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* tests/check/libs/gstglcontext.c:
	  [802/906] add GstGLContext test that tests context sharing

2013-08-29 20:10:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	  [801/906] context: Reimplement GL context sharing
	  https://bugzilla.gnome.org/show_bug.cgi?id=704806

2013-08-22 00:29:36 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/Makefile.am:
	  [798/906] build: install needed header

2013-08-21 15:40:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [797/906] x11: fix build for clang

2013-08-21 14:05:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  [796/906] move egl into its own directory

2013-08-21 13:57:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	  [795/906] android: port to GstGLContext
	  not tested

2013-08-15 17:09:04 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstgl_cocoa_private.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglcontext_cocoa.m:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstglegl.c:
	* gst-libs/gst/gl/gstglegl.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.c:
	* gst-libs/gst/gl/win32/gstglcontext_wgl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstglcontext_glx.c:
	* gst-libs/gst/gl/x11/gstglcontext_glx.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [794/906] context: add subclasses for the different platforms (egl, glx, wgl, etc)
	  - most code taken from the Window subclasses
	  - tested combinations: xEGL, GLX, Wayland+EGL, Cocoa (under GNUStep), WGL (Wine)

2013-08-14 10:44:19 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglcontext.c:
	* gst-libs/gst/gl/gstglcontext.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	  [793/906] add a GstGLContext object that will be the basis of OpenGL contexts
	  At the moment it just sits in between GstGLDisplay and GstGLWindow
	  performing some of the stuff that GstGLWindow used to do.

2013-08-13 20:10:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/android/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/x11/Makefile.am:
	  [792/906] build: use our own in tree headers before system ones
	  allows us to develop against the tree rather than what may be installed

2013-08-16 16:29:12 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/x11_event_source.c:
	  [791/906] glwindow/x11: remove X11EventSource as soon as the window is deleted
	  gst_gl_window_x11_send_message do not use XSendEvent anymore

2013-08-07 17:11:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglegl.c:
	  [789/906] egl: Create a window surface if necessary

2013-08-07 11:46:49 +0200  Tonu Jaansoo <chain@bsd.ee>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  [788/906] osx: Fix compilation

2013-08-07 11:42:46 +0200  Tonu Jaansoo <chain@bsd.ee>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglupload.c:
	  [787/906] gl: The GLSL rectangle resampler does not always work with int tex coords
	  Use floats instead.

2013-07-24 13:35:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/glprototypes/gles3opengl.h:
	  [786/906] glprototypes: Add support for NV extensions for DrawBuffers and ReadBuffer

2013-07-24 13:34:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglegl.c:
	  [785/906] egl: Use EGL_KHR_surfaceless_context instead of creating a useless surface if available

2013-07-19 10:07:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	  [782/906] gldownload: Use strlen() instead of sizeof(char*)
	  gstgldownload.c:846:22: error: argument to 'sizeof' in 'memcpy' call is the same expression as the source; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]

2013-07-19 16:48:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  [781/906] download: propogate errors from the GL thread

2013-07-18 20:21:57 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [780/906] up/download: check return values
	  So we fail properly

2013-07-18 19:37:32 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	  [779/906] download: remove _thread variants of the API

2013-07-18 19:36:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [778/906] upload: remove _thread variants of the API

2013-07-18 19:17:18 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [777/906] upload: overhaul and addition of new video formats
	  use the shaders from eglglessink (adapted for Desktop GL)
	  error out properly

2013-07-17 21:17:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  [776/906] download: fix compiler warning about missing string format

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

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	* gst-libs/gst/gl/gstglapi.h:
	  [775/906] configure: Check for GLeglImageOES and others again
	  https://bugzilla.gnome.org/show_bug.cgi?id=704498

2013-07-18 20:26:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  [774/906] win32: Fix some compiler errors/warnings

2013-07-18 01:42:31 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/gl/gstglfilter.c:
	  [773/906] glfilters: Mark writable-only properties as readable as well
	  https://bugzilla.gnome.org/show_bug.cgi?id=704429

2013-07-17 11:22:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	  [771/906] gl: Some less long/ulong/gulong usage

2013-07-04 10:01:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglutils.c:
	  [766/906] utils: generate a RGBA texture in all cases

2013-07-03 21:01:25 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [765/906] wayland: remove fullscreen

2013-07-03 14:37:13 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [764/906] filter: fix pad template caps
	  upload is for the sink template
	  download is form the src template

2013-07-03 14:13:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  [763/906] memory: copy properly depending on where the most recent data is

2013-07-16 14:11:46 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [762/906] glimagesink: Fix some memory leaks and properly set up the buffer pool

2013-07-16 13:28:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  [761/906] x11: Protect event display connection with a mutex
	  We use it from different threads and need to serialize the
	  accesses to it.

2013-07-16 13:23:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [760/906] x11: Always use the same display connection from the GL thread
	  The other display connection might be used by async calls from elsewhere
	  at the same time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704247

2013-07-15 21:44:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	  [759/906] gldownload: #ifdef some GLES2 specific code to fix compilation

2013-07-15 18:07:12 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	  [758/906] android: Don't require a window to be set
	  This allows the filters to be usable without a GL sink downstream.

2013-07-15 18:01:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglegl.c:
	  [757/906] egl: Create an offscreen surface if no window was provided

2013-07-15 17:20:00 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	  [756/906] gldownload: Reset the viewport after download RGB via GLES2

2013-07-15 17:11:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	  [755/906] gldownload: Unbind framebuffer after downloading RGB with GLES2

2013-07-15 17:08:42 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	  [754/906] gldownload: Add support for RGB reordering when using GLES2

2013-07-15 17:08:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [753/906] gldisplay: Sending a message is synchronous, we can allocate the memory on the stack

2013-07-15 15:58:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [752/906] glwindow: Add destroy notifies for the data of the callbacks
	  And actually call the close callback when the window is closed.

2013-07-15 15:25:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [751/906] gldisplay: Don't hold lock while sending a message to the GL thread
	  https://bugzilla.gnome.org/show_bug.cgi?id=704247

2013-07-15 14:11:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [750/906] glupload: Add support for RGB reordering when using GLES2

2013-07-15 07:39:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglshader.c:
	  [749/906] glshader: Add some more debug output

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

	* gst-libs/gst/gl/gstgldownload.c:
	  [748/906] glupload: GL_STENCIL_ATTACHMENT is needed for desktop GL, not GLES

2013-07-12 14:26:58 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  [747/906] gl: Constify YUV conversion shaders

2013-07-12 14:20:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	  [746/906] android: Add comment to clarify the type of a variable

2013-07-12 14:20:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  [745/906] gl: Simplify and optimize YUV conversion shaders a bit

2013-07-12 11:35:52 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gl.h:
	  [744/906] gl: Use __GST_GL_H__ instead of __GL_H__ as a multi-include guard
	  GL/gl.h might use the latter already.

2013-07-11 21:30:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	  [743/906] win32: Allow setting window handle before creating the context

2013-07-11 21:22:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  [742/906] cocoa: Allow setting window handle before creating the context

2013-07-11 21:17:42 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [741/906] wayland: Don't leak main context and loop

2013-07-11 21:15:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [740/906] x11: Allow setting window handle before creating the context

2013-07-11 20:58:36 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [739/906] x11: Don't leak main context and main loop

2013-07-11 20:51:47 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglapi.h:
	  [738/906] gl: Include glu.h after gl.h

2013-07-10 11:31:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/android/Makefile.am:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.c:
	* gst-libs/gst/gl/android/gstglwindow_android_egl.h:
	* gst-libs/gst/gl/gstglegl.c:
	* gst-libs/gst/gl/gstglwindow.c:
	  [735/906] gl: Add support for Android
	  https://bugzilla.gnome.org/show_bug.cgi?id=703340

2013-07-11 11:37:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/win32/Makefile.am:
	  [734/906] win32: Make automake happy by using noinst_HEADERS

2013-07-11 11:03:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/glprototypes/Makefile.am:
	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglegl.h:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshadervariables.h:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/x11_event_source.c:
	  [733/906] gl: Major header and include cleanup

2013-07-10 16:03:04 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gl.h:
	* gst-libs/gst/gl/gstgl_fwd.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglegl.c:
	* gst-libs/gst/gl/gstglegl.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [732/906] build: fix repeated typedefs
	  Write forward declarations in another way to avoid
	  repeated typedefs "error: redefinition of typedef".
	  Raised when using i686-apple-darwin11-llvm-gcc-4.2
	  It seems that C apple compiler does not support
	  C11 feature.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703885

2013-07-10 15:47:23 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  [731/906] cocoa: fix build when GNUSTEP is not defined

2013-07-10 11:30:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	  [730/906] glcompat: Properly check for GLchar and other types
	  On Android for example these are no #defines but typedefs

2013-07-10 11:24:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglutils.c:
	  [729/906] gl: Include config.h everywhere

2013-07-03 09:12:39 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglegl.c:
	* gst-libs/gst/gl/gstglegl.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	  [727/906] egl: Refactor EGL logic into a helper object

2013-07-02 22:45:08 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	  [726/906] window: don't call a NULL destroy function

2013-07-02 22:06:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/x11_event_source.c:
	* gst-libs/gst/gl/x11/x11_event_source.h:
	  [725/906] x11: use GMainContext/GMainLoop
	  allows us to be reentrant
	  https://bugzilla.gnome.org/show_bug.cgi?id=703445

2013-07-02 18:33:42 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [724/906] wayland: make reentrant
	  https://bugzilla.gnome.org/show_bug.cgi?id=703445

2013-07-01 14:43:14 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  [723/906] gstglwindow: close has to be called in the glthread.
	  Indeed 'glXMakeCurrent (window_x11->device, None, NULL);'
	  has to be called in the thread where the glcontext is actually
	  current.
	  Otherwise glXDestroyContext may crash.

2013-07-01 01:36:35 +0400  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/gl/gstglapi.h:
	  [722/906] gl: Fix build on Win32
	  1) Need to include GL/glext.h on W32 to provide necessary macros
	  2) W32 macros that pre-processor has by default are different for different
	  toolchains. Borland uses __WIN32__, everyone else has _WIN32, so check both.
	  Side-note: glext.h is not supplied by mingw-w64 at the moment, but can be
	  downloaded from http://www.opengl.org/registry/
	  https://bugzilla.gnome.org/show_bug.cgi?id=703364

2013-06-28 11:10:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglfilter.c:
	  [721/906] glfilter: Use uint64 for the OpenGL context property
	  ulong/long properties are deprecated and should not be used anymore
	  for portability reasons.

2013-06-28 11:00:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/gl/gstglshader.c:
	  [719/906] gl: Fix compilation with GLES2

2013-06-28 00:34:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglutils.c:
	  [718/906] shader: make it possible to unref in the non-GL thread

2013-06-28 00:31:36 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [717/906] remove outdated cmake build files

2013-06-17 19:45:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	  [716/906] wayland: properly choose EGL_RENDERABLE_TYPE
	  based on the gl api we chose

2013-06-16 20:47:05 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.h:
	  [715/906] display: inherit from the right object class

2013-06-16 20:44:47 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglframebuffer.c:
	* gst-libs/gst/gl/gstglframebuffer.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [714/906] Add GstGLFramebuffer to replace _display_gen_fbo and friends
	  This version is simply API compatible with _display_gen_fbo.
	  The next version will likely revamp the API

2013-06-16 20:41:29 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [713/906] shader: make it possible to create the object in a non-GL thread

2013-06-16 20:38:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [712/906] wayland: shutdown properly
	  We cannot use _finalize as this will be called before GstGLWindow's
	  _finalize.  This causes us to try and perform operations with the
	  wayland server when the connection has been severed.

2013-06-16 20:37:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	  [711/906] wayland: support choosing Desktop GL as the api

2013-06-16 20:34:15 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	  [710/906] window: fail if the user specifies an GL api that we cannot work with
	  It would've been caught later in an g_assert anyway.

2013-06-13 18:33:47 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [709/906] display: some more cleanups

2013-06-13 17:57:35 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglwindow.c:
	  [708/906] display: a cleanup and removal of old code

2013-06-13 16:55:37 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [707/906] display: move error_message to utils

2013-06-13 16:31:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [706/906] display: move activate_context into utils

2013-06-13 16:04:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [705/906] x11: don't shutdown in _finalize
	  The window's loop could be still running when _finalize is called
	  and if we destroy the display connection it will never be closed.
	  Add _open and _close vfuncs to GstGLWindow so that subclasses can
	  start up and shutdown at the right time.

2013-06-13 14:36:41 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglwindow.c:
	* tests/check/libs/gstglmemory.c:
	  [704/906] Use gst_object_[un]ref so we can get refcounts in the log

2013-06-13 14:18:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [703/906] x11: don't segfault if destroy_cb is NULL

2013-06-12 23:21:16 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [702/906] x11: fix segfault if the x11 backend is instantiated but not used

2013-06-12 23:17:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [701/906] display: move context creation into window

2013-06-12 01:04:55 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglutils.c:
	* gst-libs/gst/gl/gstglutils.h:
	  [700/906] display: move most of the code into utils for sorting later
	  This contains a hack that essentially requires one GstGLDisplay
	  per process.

2013-06-11 18:50:12 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [699/906] display: remove list of upload and download objects
	  and only create an up/download object when needed.

2013-06-11 12:26:50 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [698/906] move sink-specific stuff from GstGLDisplay into glimagesink

2013-06-11 11:27:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [697/906] display: allow the user to try and choose the GL api we use via env variable
	  GST_GL_API=opengl,opengl3,gles2,gles3

2013-06-11 11:26:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglapi.c:
	  [696/906] glapi: fix memory leak from not freeing a string

2013-06-04 22:18:51 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/x11/Makefile.am:
	  [695/906] build: remove libtool warning about -version-info not used in convenience libraries

2013-06-04 22:16:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	  [693/906] x11_glx: ask for a 3.0 GL Context
	  (falling back if needed)

2013-06-03 18:15:45 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	  [692/906] window_x11: add XError trapping
	  some functions in GLX can fail if the implementation does not support
	  certain features we ask for (i.e. GL 3) bringing down the entire
	  application

2013-06-03 18:13:52 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfeature.h:
	  [691/906] feature: make gst_gl_check_extension public
	  prevents duplication of code of extension string parsing in GstGLWindow's

2013-06-02 21:47:17 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [690/906] windowx11glx: use fbconfigs if supported

2013-04-24 14:25:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [688/906] display: properly shutdown if we error after context creation
	  The _finalize() code checks to see if the context was created before
	  attempting to destroy it.  We never did say that we had created the context.

2013-04-24 14:22:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [685/906] filter: improve error handling

2013-04-24 12:18:14 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [684/906] display: lack of format-string causing a compiler warning

2013-04-24 12:17:36 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfeature.c:
	  [683/906] feature: remove double free

2013-06-02 07:52:30 +0000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglshader.c:
	  [681/906] win32: fix gl api calls on 32-bit
	  win has the bright idea of having 5 different calling conventions.
	  we should probably use the right one so we don't crash from stack
	  corruption.

2013-03-10 13:37:48 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	  [680/906] overlay: tentative port to new GstGLFuncs API

2013-03-09 23:36:36 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	  [678/906] window_win32_wgl: implement wglGetProcAddress for extension functions

2013-03-09 22:53:41 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  [677/906] memory: fix GSIZE printf format on win32

2013-03-09 22:53:09 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	  [676/906] windwo_win32: port to new API

2013-03-09 22:47:11 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [675/906] upload: provide nicer debugging

2013-03-09 22:45:23 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfeature.c:
	  [674/906] feature: try and catch more GL extension functions
	  if we don't find the extension in core GL, try the extension version anyway

2013-03-09 22:37:34 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfeature.h:
	  [673/906] feature: add gstreamer license

2013-03-09 22:05:28 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [672/906] display: constify GstGLFuncs *gl

2013-03-09 21:59:02 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/gstgl_compat.h:
	* gst-libs/gst/gl/gstglapi.h:
	  [671/906] win32: #include GL/glext.h on windows
	  also add some GL default variables if some GL types are not defined

2013-02-18 21:40:34 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [670/906] display: replace glib deprecated api

2013-02-12 23:48:36 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [669/906] window: seperate object creation and context creation

2013-02-04 21:30:51 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [668/906] shader: fix gles2 segfault

2013-01-31 23:32:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [658/906] mixer: fix eos timestamp check

2013-01-17 23:45:59 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  [655/906] download: remove erronous ReadBuffer call
	  - it was causing segfaults in mesa
	  - we didn't set the readbuffer so we shouldn't reset it

2013-01-17 23:14:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/opengl.h:
	  [652/906] bumper: port to non-GLEW + arrays

2013-01-17 23:12:35 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  [651/906] up/download: fix some typos when removing GLEW

2013-01-16 22:41:18 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [650/906] filter: fix _draw_texture()'s wrong vertices

2013-01-16 15:21:44 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/gles3opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl_functions.h:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglupload.c:
	  [647/906] remove dependecy on glew

2013-01-13 00:09:33 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/gles1.h:
	* gst-libs/gst/gl/glprototypes/gles1gles2opengl.h:
	* gst-libs/gst/gl/glprototypes/gles1opengl.h:
	* gst-libs/gst/gl/glprototypes/gles2opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl.h:
	  [646/906] some gl header fixes/additions

2013-01-10 13:32:16 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [645/906] fix gles2 compilation

2013-01-10 10:57:11 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/.gitignore:
	  [644/906] update .gitignore for some new files

2013-01-10 01:44:54 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [643/906] display: privatise most of the struct

2013-01-10 01:13:23 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [642/906] add gstglconfig.h for apps to find out what our capabilites are
	  ie libgstgl can be compiled with any combination of opengl/gles2

2013-01-10 00:30:03 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [641/906] display: feature check for GL extension functions

2013-01-10 00:25:06 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	  [640/906] build: add missing file to built sources

2013-01-10 00:23:32 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	  [639/906] add get_proc_address implementations for egl and glx

2013-01-08 17:40:39 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	  [638/906] window: add get_proc_address + stub for retrieving gl functions

2013-01-08 17:38:40 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	  [637/906] x11_egl: add prelim support for choosing opengl or gles

2013-01-08 17:36:18 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [636/906] window_x11: compact debug info

2013-01-07 14:08:39 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/opengl_functions.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	  [635/906] fixup compile errors

2012-12-19 14:54:21 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	  [634/906] wayland egl: deactivate context before we destroy it
	  avoids a segfault with dri drivers

2012-12-19 14:32:20 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [633/906] display: fail properly in context creation in order to minimize a race condition
	  previously, on context creation, when we failed to get a valid context
	  we would still atempt to run the window mainloop as well as setting an error
	  on the display. This would cause the calling element to finalize the display
	  and therefore attempt to quit the window mainloop.  However the mainloop
	  may not have started running.  Thus when the window mainloop ran it would
	  never a get a quit message and never end.

2012-12-18 18:29:11 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.h:
	  [631/906] remove redefinition warnings in compiling tests

2012-12-09 09:32:48 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglapi.c:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	  [630/906] display: add gl api checking
	  i.e. check for cases where the window wants a different API than
	  what the library was compiled with

2012-12-09 09:30:48 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [629/906] window: add GError for error handling of context creation

2012-12-07 13:32:28 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [627/906] shader: check for invalid objects

2012-12-07 00:16:04 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/glprototypes/README:
	* gst-libs/gst/gl/glprototypes/all_functions.h:
	* gst-libs/gst/gl/glprototypes/gles1.h:
	* gst-libs/gst/gl/glprototypes/gles1_functions.h:
	* gst-libs/gst/gl/glprototypes/gles1gles2.h:
	* gst-libs/gst/gl/glprototypes/gles1gles2opengl.h:
	* gst-libs/gst/gl/glprototypes/gles1opengl.h:
	* gst-libs/gst/gl/glprototypes/gles2.h:
	* gst-libs/gst/gl/glprototypes/gles2_functions.h:
	* gst-libs/gst/gl/glprototypes/gles2opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl.h:
	* gst-libs/gst/gl/glprototypes/opengl_functions.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglfeature.c:
	* gst-libs/gst/gl/gstglfeature.h:
	  [625/906] add vtable for opengl functions
	  The vtable provides the ability for one to compile (but not link)
	  against both OpenGL and GL|ES and starts the move away from GLEW

2012-12-06 18:40:26 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [624/906] OPENGL_ES2 => HAVE_GLES2 and add HAVE_OPENGL
	  use GstGLAPI to determine which code paths to execute.
	  perform some cleanups

2012-12-06 17:40:47 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [623/906] move GL includes into a single file

2012-12-05 17:23:21 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgles2.h:
	  [622/906] add missing GL_STENCIL_ATTACHMENT for gles2 compatability

2012-12-03 15:04:49 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglapi.h:
	* gst-libs/gst/gl/gstglrenderer.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [621/906] GstGLRendererAPI => GstGLAPI and get GstGLAPI from a window

2012-11-30 17:09:21 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	  [620/906] wayland_egl: attempt at resizing the video

2012-11-29 13:06:24 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	  [619/906] fix typo for win32 debug variables

2012-11-29 01:01:59 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/wayland/Makefile.am:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c:
	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
	* gst-libs/gst/gl/wayland/wayland_event_source.c:
	* gst-libs/gst/gl/wayland/wayland_event_source.h:
	  [618/906] add wayland-egl window backend

2012-11-20 00:15:05 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	  [617/906] fix 'set but not used' compiler warnings

2012-11-19 22:54:19 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/cocoa/Makefile.am:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/win32/Makefile.am:
	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_egl.h:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/win32/gstglwindow_win32_wgl.h:
	* gst-libs/gst/gl/x11/Makefile.am:
	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/x11/gstglwindow_x11_glx.h:
	  [616/906] move window-specific code into seperate subfolders

2012-11-19 21:52:22 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_win32_egl.c:
	* gst-libs/gst/gl/gstglwindow_win32_egl.h:
	  [615/906] preliminary support for Win32 EGL

2012-11-18 01:23:52 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [614/906] try GLX first when using ANY | OPENGL | OPENGL3

2012-11-18 01:16:44 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [613/906] window_cocoa: fix segfault with gst-launch-1.0 -e ... and sending SIGINT (Ctrl-C)
	  GNUstep has a signal handler for SIGINT which runs in the main thread.
	  However that thread has never been 'registered' with GNUstep so
	  the autorelease magic of objective-c causes a segfault from accessing
	  a null NSThread object somewhere deep in GNUstep.

2012-11-16 18:01:08 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/GNUmakefile.gnustep:
	  [612/906] remove GNUstep makefiles

2012-11-16 17:13:03 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow_cocoa.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [611/906] cocoa port of determining gl platform at runtime

2012-11-15 21:46:21 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11_egl.c:
	  [610/906] WindowX11EGL: remove get_platform call

2012-11-15 13:17:59 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_win32.h:
	* gst-libs/gst/gl/gstglwindow_win32_wgl.c:
	* gst-libs/gst/gl/gstglwindow_win32_wgl.h:
	  [609/906] win32 port of determining GL platform at runtime
	  - add GstGLWindowWin32 and GstGLWindowWin32WGL along the same lines as the
	  X11 variants

2012-11-14 20:39:38 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglrenderer.h:
	  [608/906] add GST_GL_PLATFORM_ANY for choosing any platform

2012-11-14 20:36:16 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11.h:
	* gst-libs/gst/gl/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/gstglwindow_x11_glx.c:
	  [607/906] remove get_platform and get_window_handle vfuncs
	  - rename choose_visual() to choose_format() for later incorporating
	  win32 changes and new GstGLPlatform for WGL, EGL, GLX, etc.

2012-11-13 22:12:20 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglrenderer.h:
	* gst-libs/gst/gl/gstglwindow.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11.h:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	* gst-libs/gst/gl/gstglwindow_x11_egl.c:
	* gst-libs/gst/gl/gstglwindow_x11_egl.h:
	* gst-libs/gst/gl/gstglwindow_x11_glx.c:
	* gst-libs/gst/gl/gstglwindow_x11_glx.h:
	  [606/906] determine the GL platform to use at runtime
	  - Make GstGLWindow subclassablerather than specified at compile time.
	  - Add GstGLWindowX11 for x11 windows and two subclasses, GstGLWindowX11GLX
	  and GstGLWindwX11EGL for GLX and EGL repectively. (win32 and cocoa
	  ports to come)
	  - Also cleanup GL library detection in configure.ac

2012-12-02 14:58:14 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [605/906] shader: move to gst debugging

2012-11-08 22:53:56 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglshadervariables.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	* tests/check/libs/gstglmemory.c:
	  [603/906] update FSF address

2012-10-11 00:24:51 +1100  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglupload.c:
	  [601/906] fix typo causing shader compilation failure for uploading I420

2012-09-27 15:53:46 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [600/906] docs: add docs for new objects and expand on some existing ones

2012-09-26 07:18:53 +0000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstglupload.c:
	  [599/906] GL|ES2: fix typos from recent changes and make downloading RGB formats work again

2012-09-25 17:59:27 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [594/906] filter: update for up/download API changes and scaling fixes

2012-09-25 16:01:54 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  [592/906] memory: update for up/download API changes

2012-09-25 16:00:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixerpad.h:
	  [591/906] mixer: save the upload object instead of querying for it every frame

2012-09-25 15:20:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [590/906] up/download: fix scaling on transfer
	  i.e. uploading from a 10x10 video frame to a 20x20 texture into another 30x30 videoframe

2012-09-20 23:27:00 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	  [587/906] mixer: mirror the changes done for filter

2012-09-20 23:21:19 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglmemory.c:
	  [586/906] fix up some debug statements to get them into the right categories

2012-09-20 23:06:49 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [583/906] deinterlace: change for new API
	  also allow elements to call the _filter_texture vfunc if they want

2012-09-19 00:32:30 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [581/906] filter: add seperate filter function for operating on textures instead of buffers

2012-09-19 00:29:57 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  [580/906] bufferpool: remove obselete gl meta buffer pool options

2012-09-18 21:42:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	  [579/906] download: fix YV12 format
	  same as I420 but plane 1+2 swapped

2012-09-18 21:39:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [578/906] {up,down}load: add variants that can be called in the gl thread

2012-09-17 10:30:01 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglmeta.c:
	* gst-libs/gst/gl/gstglmeta.h:
	* gst-libs/gst/gl/gstglupload.h:
	  [576/906] remove uneeded GstGLMeta (use GstVideoMeta)

2012-09-16 21:42:08 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [575/906] filter: port to new upload/download

2012-09-16 21:36:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	  [574/906] memory: implement transperent upload/download for data
	  (not async yet)

2012-09-16 21:23:09 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgldownload.c:
	* gst-libs/gst/gl/gstgldownload.h:
	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/gstglupload.h:
	  [573/906] add upload and download library objects
	  allows multiple upload pipelines that previously wasn't possible
	  (i.e. upload RGB and I420 and ... on the same GstGLDisplay)

2012-09-05 14:58:38 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [571/906] mixer: fix deadlock on shutdown
	  didn't reiterate over the sinkpad's displays and reactivate them causing a deadlock

2012-08-27 14:08:16 +0000  Matthew <matt@matt-bunt-lapt.(none)>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [568/906] window: fix public definitions

2012-08-27 14:07:31 +0000  Matthew <matt@matt-bunt-lapt.(none)>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglshadervariables.c:
	  [567/906] fix OpenGL|ES2 ifdef'ed code

2012-08-15 21:37:01 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.h:
	  [564/906] glmemory: remove unused typedef

2012-08-15 16:52:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [563/906] readd support for hanging GL pipelines e.g. ... ! gleffects ! fakesink

2012-08-15 15:35:46 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [562/906] gldisplay: fix download of YUV formats

2012-08-14 23:55:14 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [561/906] gldisplay: fix endianess issues on RGB download

2012-08-14 02:05:13 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [559/906] glmixer: pass the mixpad's display to the querying element

2012-08-10 15:31:20 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [555/906] Make the query for a GstGLDisplay a pad peer query
	  Allows the query to pass through bin boundaries and makes it possible for
	  arbitrary gl elements to be placed in bins.

2012-08-08 16:08:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* tests/check/libs/gstglmemory.c:
	  [554/906] GstGLMemory: update for GstAllocator API changes

2012-07-13 01:04:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [544/906] fix memory leaks from not g_free()ing string returned by gst_element_get_name

2012-07-12 18:22:01 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [543/906] GstGLDisplay: fix segfault from GST_PTR_FORMAT trying to expand the object

2012-07-12 18:19:44 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  [542/906] GstGLMixer: add allocation and bufferpool methods
	  based off GstBaseTransform

2012-07-09 22:27:48 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [532/906] GstGLFilter: implement allocation vfuncs

2012-07-09 16:13:39 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmeta.h:
	  [528/906] GstGLMeta: seperate upload/download/normal GL caps video formats
	  differentiate between upload, download and GL caps

2012-07-09 16:12:53 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [527/906] GstGLDisplay: add some trace debugging

2012-07-08 01:49:06 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [524/906] GstGLDisplay: rework the download code
	  data paramaters now take GstVideoFrame
	  remove redundant parameters

2012-07-08 01:10:40 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [522/906] GstGLDisplay: add forgotten function definition

2012-07-08 01:09:56 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmemory.c:
	  [521/906] GstGLMemory: update for GstAllocator changes

2012-07-07 22:56:33 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [520/906] GstGLMixer: fix for GstChildProxy changes

2012-07-06 19:05:03 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglbufferpool.c:
	* gst-libs/gst/gl/gstglbufferpool.h:
	  [517/906] add GstGLBufferPool
	  which adds GstGLMeta to buffers

2012-07-06 18:57:39 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglmeta.c:
	* gst-libs/gst/gl/gstglmeta.h:
	  [516/906] add skeleton GstGLMeta
	  the GstVideoMeta _map/unmap functions still need implementing

2012-07-06 18:51:02 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [515/906] GstGLDisplay: rework gen_texture and upload
	  rename functions so that other code can create textures in the GL thread
	  change upload functions to take a GstVideoFrame
	  default to GLSL for upload conversion

2012-07-06 18:22:22 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglmemory.h:
	* tests/check/libs/gstglmemory.c:
	  [514/906] add GstGLMemory and allocator
	  implement custom GstMemory for GL textures
	  currently map/unmap returns NULL although it might be favourable to upload/download/cache the image data

2012-06-19 18:40:28 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	  [513/906] Remove GstGLBuffer (to be replaced by GstGLMeta)

2012-06-19 15:54:24 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	  [512/906] GstGLMixer: update for 1.0 based on the videomixer2 element in -good

2012-06-05 19:10:19 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [509/906] GstGLDisplay: update for 1.0

2012-06-03 20:40:53 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [504/906] GstGLFilter: update for 1.0
	  -fix up function definitions
	  -remove _prepare_output_buffer (functionality taken over by GstBufferPool).

2012-05-30 13:46:21 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [503/906] Rename GST_BOILERPLATE_* to G_DEFINE_TYPE_* and move _base_init into _class_init

2012-05-29 17:55:44 +1000  Matthew Waters <ystreet00@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  [502/906] Update versioning for gstreamer 1.0
	  Renames GST_MAJORMINOR to GST_API_VERSION in build files
	  removes -lgstinterfaces from _LDADD flags

2012-05-20 18:45:06 +0300  Raimo Järvi <raimo.jarvi@gmail.com>

	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [501/906] Fix building on 64 bit mingw-w64
	  https://bugzilla.gnome.org/show_bug.cgi?id=676428

2012-04-20 12:33:38 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [500/906] gldisplay: do not call glCheckFramebufferStatus if 0 is bound
	  Indeed it may return GL_FRAMEBUFFER_UNDEFINED if there is no
	  default framebuffer.
	  It seems to be the case on MacOSX

2012-04-20 10:41:51 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [498/906] gldisplay: don't pass non-constant strings as printf format strings
	  Fixes 'format not a string literal and no format arguments' on darwin

2012-04-20 10:32:23 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  [497/906] filtershader: fix format compiler warnings

2012-04-18 15:44:05 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [495/906] glES2.0: properly use glDeleteShader

2012-04-17 18:25:55 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [494/906] cmake build: use config.h from win32/common and add some guidelines

2012-04-13 15:08:00 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [492/906] glwindow: properly fails if resource not found

2012-04-13 12:38:11 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [491/906] glES2.0: properly fails if driver/kernel inconsistency

2012-04-11 10:44:23 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [490/906] gldisplay: error out instead of g_assert

2012-04-04 16:22:40 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [488/906] libvisual-gl: full compatibility with projectM-libvisual if libprojectM >= 2.0.1
	  Fix bug #310775

2011-12-22 15:30:38 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [486/906] libvisual-gl: add minimal support to libvisual plugins that uses Framebuffer objects
	  Fix bug #310775
	  gst-launch audiotestsrc ! libvisual_gl_projectM ! glimagesink is working
	  but for now you cannot append any other opengl filters between
	  libvisual_gl_projectM and glimagesink because our FBO is turned OFF.
	  It would require that libvisual allows to split rendering between
	  pass1,2,3... and final rendering. In order to unbind our FBO before
	  the passN, and then rebind it just before the final libvisual rendering.

2011-12-15 18:13:00 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [485/906] gstgldisplay: turn off texture binding and read buffer when downloading rgb is done
	  It fixes: (black image before)
	  gst-launch-0.10 audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! ximagesink
	  and
	  gst-launch-0.10  audiotestsrc ! libvisual_gl_lv_gltest ! gldownload ! glimagesink

2011-12-15 16:18:36 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [483/906] glelements: do not leak parent when using gst_pad_get_parent

2011-11-24 16:02:32 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	* gst-libs/gst/gl/gstglmixer.c:
	  [481/906] feature checking: error out instead of doing nothing if an OpenGL feature is not present
	  Fix bug #572767

2011-11-21 16:46:51 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  [480/906] win32 builds: add glshader filter sources to vs9 and codeblocks
	  Also fix some warnings from msvc9 and mingw-3.4.5

2011-11-21 15:04:16 +0100  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/gl/gstglshadervariables.c:
	  [479/906] gstglshadervariables: strtok_r is not multiplatform
	  Fix bug #664367

2011-11-18 17:32:05 +0100  Wei Feng <wei.feng.wayne@gmail.com>

	* gst-libs/gst/gl/gstgles2.h:
	  [478/906] OpenGL ES 2.0: include glib.h to use G_BEGIN_DECLS in gstgles2.h
	  Fix bug #631019

2011-11-18 17:27:45 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  [477/906] OpenGL ES 2.0: fix build since glfiltershader changes

2011-11-18 17:26:35 +0100  Antoni Silvestre <antoni.silvestre@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [476/906] OpenGL ES 2.0: fix build and disable some examples
	  Fix bug #631019

2011-11-17 17:36:44 +0100  Luc Deschenaux <luc.deschenaux@freesurf.ch>

	* gst-libs/gst/gl/CMakeLists.txt:
	* gst-libs/gst/gl/GNUmakefile.gnustep:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglshadervariables.c:
	* gst-libs/gst/gl/gstglshadervariables.h:
	  [471/906] glshader: add dynamic fragment shader filter
	  Also add fragment shader parser
	  Fix bug #600195

2011-11-16 16:53:25 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [467/906] tests: various build fixes
	  - cmake could not find glib
	  - put gtk variables at the beginning to avoid GL conflicts
	  - update examples to clutter-1.8
	  - use const instead of deprecated G_CONST_RETURN
	  - set max pending events to 0 to make cube example works again

2010-12-14 23:56:55 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgles2.h:
	  [463/906] Add some more G_{BEGIN,END}_DECLS to public headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=637260

2010-10-19 18:00:33 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglshader.c:
	  [462/906] various: add missing G_PARAM_STATIC_STRINGS flags
	  Canonicalize property names as needed. Includes some gst-indent changes as well :/

2010-08-11 00:47:42 +1000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/gl/Makefile.am:
	  [459/906] Fix distcheck.

2010-05-05 11:21:31 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	  [456/906] glfilter/glmixer/gltestsrc/glupload: throw an element error if no parent bin
	  Fixes bug #602153

2010-05-04 11:37:38 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [455/906] glimagesink: handle pixel-aspect-ratio

2010-04-29 08:27:29 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [443/906] sobel: move some highly duplicated code into glfilter
	  Add a new convenience function in GstGLFilter that just draws an input
	  texture to a target texture using a simple shader with just a "tex"
	  uniform sampler.
	  Move draw_texture from glfiltersobel to glfilter. Still need to update
	  other plugins to this.

2010-04-26 14:11:28 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [432/906] GstGLDisplay: this is GL_DEPTH24_STENCIL8_EXT, not GL_DEPTH24_STENCIL8_EXT

2010-04-26 13:57:00 +0200  Pierre Pouzol <pierre.pouzol@hotmail.fr>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [431/906] GstGLDisplay: enable stencil buffer when using framebuffer objects.
	  Fixes Bug #612159

2010-03-09 01:35:42 +0100  Nicholas Panayis <nick@movency.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [415/906] gstglwindow_win32: share opengl context in correct order
	  Allow to use the opengl context sharing feature if the original
	  context has been used already.
	  This is only possible on win32 with wglShareLists because on other
	  backends, the sharing is made when a context is created.
	  This new feature is only usefull when using external context
	  because gst-gl internally makes sure that the orginal context is not
	  already used when sharing it.
	  Fix bug #611067

2010-01-06 00:13:46 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/GNUmakefile.gnustep:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [412/906] Cocoa backend: improve support on GNUStep

2009-12-18 00:34:13 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [411/906] gstglmixer: copy/past recent changes from gstvideomixer

2009-12-16 01:33:39 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [410/906] gstglmixer: inactivate shared gl context before to release ours
	  First, inactivate shared gl contexts known by each sink pad.
	  Then, destroy the gl context known by the glmixer.
	  Finally, re-activate shared gl contexts.
	  This is to satisfy the fact that no shared gl context must be current
	  when an opengl context is destroyed.
	  Moreover the application may hang or crash without those steps.

2009-11-21 13:32:59 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [407/906] winCE backend: fix build

2009-11-21 13:21:54 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [406/906] glimagesink: add a client-data property
	  Also add it to glfilterapp.
	  Fixes #559131

2009-11-17 23:47:24 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [405/906] glfilter: add external-opengl-context property
	  It repairs the cluttershare and sdlshare example

2009-11-17 02:16:01 +0000  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/gl/gstglmixer.c:
	  [403/906] gstglmixer: Initialise the debug category
	  Initialise the gstglmixer debug category before using it.

2009-11-05 14:53:35 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [400/906] gstgldisplay: no need the I420 work around if ATI Mobility
	  fix #588653

2009-11-04 23:44:46 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	  [399/906] glmixer: fix when no more gl elements after it
	  For example:
	  videotestsrc ! glupload ! ... ! glfiter ! ... ! glmosaic ! fakesink
	  Usefull when using glmixer inside cluttershare or sdlshare cases.

2009-10-27 17:02:23 +0100  Pratheesh Gangadhar <pratheesh.gangadhar@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [394/906] gstgldisplay: use of GL_DEPTH_COMPONENT16 if OpenGL ES 2.0
	  glRenderbufferStorage does not accept GL_DEPTH_COMPONENT in
	  OpenGL ES 2.0.
	  Fix bug #593786

2009-10-27 15:27:14 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	  [393/906] glmosaic: for now it's a cube mosaic
	  Also use GPtrArray instead of GArray in glmixer.
	  And add a pipeline to tests/pieplines

2009-10-26 11:44:35 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [391/906] Cocoa: fix backend since recent changes
	  Before, the window size was given at its creation. Now, it's done at
	  the drawing step because it's only relevant when there is a glimagesink
	  element in the pipeline.

2009-10-23 20:52:32 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [389/906] fix codeblocks build on win32

2009-10-23 10:52:39 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [388/906] just fix builds and indent

2009-10-23 01:11:27 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglmixer.c:
	* gst-libs/gst/gl/gstglmixer.h:
	* gst-libs/gst/gl/gstglmixerpad.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [387/906] glmixer: add a glmixer base element
	  glmixer can be seen as a glfilter except it handles N requested
	  sink pads.
	  Each sink pad and the src pad are video/x-raw-gl.
	  glmixer is responsible for managing different framerates from inputs.
	  It uses OpenGL context sharing. It means that each input is in its
	  own OpenGL context shared together and shared with the OpenGL context
	  of the ouput gl chain.
	  Also add a glmosaic which is an example of implementation of glmixer.
	  For now glmosaic is a cube but it will be fixed in the next commits.
	  For now the glmixer has some weird behaviours in some configurations
	  but it will be improved in the next commits.
	  The autotools builds is temporarly broken since those changes
	  have been made on win32.

2009-10-04 02:23:45 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [385/906] rewrite the way a gstgldisplay is transmited to the gl elements
	  Before, a gstgldisplay was instancied by the gl src in terms of gl chain.
	  And then the next element got it through the first gstglbuffer.
	  Now, this is done though queries.
	  All glelements get their ref on a gstgldisplay in READY state.
	  This rewrite is mainly a first step to be able to share OpenGL context hold
	  by the gstgldisplay using more complex glelements.
	  For example, with a glvideomixer. The associated gstgldisplay of each gl chain
	  of the sink pads will share their OpenGL context.

2009-10-16 18:08:11 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [384/906] build: use <stdio.h> / "stdio.h"

2009-10-16 17:29:08 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [383/906] build: include <stdio.h> when using printf & co.

2009-10-15 15:40:11 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgles2.h:
	  [382/906] ES2.0: remove warnings
	  Partially fix #593786

2009-10-15 14:59:08 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [381/906] EGL and GLX:: set a minimum depth size

2009-09-19 14:31:28 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [378/906] gldisplay: avoid to request gl thread when deleting a texture
	  A texture is not destroyed when when we are done with it.
	  This texture is just added to the texture pool in order to be
	  re-used. In this case no OpenGL code is executed so we do not need to
	  request gl thread.

2009-09-19 14:16:25 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [377/906] gldisplay: avoid to request gl thread when generating a texture
	  Thanks to the texture pool the gl textures are re-used.
	  When re-using one, no opengl code is executed so do not need
	  to request gl thread.

2009-09-01 15:21:39 +0300  Stefan Kost <ensonic@users.sf.net>

	* gst-libs/gst/gl/Makefile.am:
	  [376/906] build: support openGLES on linux via autofoo. Partialy fixes #593786
	  Add a pkg-config check for opengl and if not found assume opengl-es. If user has
	  none of both one still get build error later on (there is no pkg-config for
	  opengl-es).
	  Add more files to EXTRA dist and build the opengles variant if selected.
	  Simmilar changes could be done for the winCE backend.

2009-08-03 17:52:31 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [369/906] define missing glew macro on older versions

2009-08-03 10:13:02 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [368/906] Cocoa backend: fix crash when resizing
	  Default implementation of NSOpenglView::update is not safe because it
	  just calls update on the opengl context whereas we are not in the gl thread.
	  Also fix the white flickering when resizing, because now we need to call
	  the draw callback manually when resizing.

2009-07-27 09:58:20 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [365/906] Cocoa backend: make sure that nsapp is initialized
	  gst-launch-0.10 videotestsrc ! tee name=t ! queue ! glimagesink t. ! queue ! glimagesink
	  now works properly on MacOSX

2009-07-24 10:33:47 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [364/906] make the cmake build work on MacOSX
	  We can now generate a Xcode project (or Unix Makfiles),
	  see INSTALL file

2009-07-24 10:12:07 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [363/906] Cocoa backend: fix crash when closing
	  - All gstglwindow members are now modified only in the gl thread
	  to avoid thread concurrency
	  - OpenGL context is now properly clean
	  - fix a couple of things in implementation of xoverlay interface

2009-07-17 16:47:41 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [362/906] make cocoa backend work on MacOSX
	  It works with both gst-launch and a cocoa app (non-embedded and embedded)
	  But there is still some problems:
	  - sometimes crash when closing
	  - flickering when resizing
	  - embedded mode not perfect
	  I will first make the CMake build work with cocoa backend
	  in order to generate a XCode project.
	  Then it should be easier to fix those issues.

2009-07-13 12:53:17 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [358/906] gstgldisplay: Close a small race starting the display thread
	  Take the display lock before signalling the create-context cond
	  to ensure the caller has dropped the lock and is therefore listening
	  for the signal.

2009-07-13 12:52:31 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [357/906] x11: Don't crash when the X11 display is not available.
	  Error out cleanly instead of crashing when the X11 display can't
	  be contacted.

2009-06-12 11:33:02 +0100  Jan Schmidt <thaytan@noraisin.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [352/906] fix typo
	  Change GST_GL_DISPLAY_PROJECTION_PERSPECIVE to
	  GST_GL_DISPLAY_PROJECTION_PERSPECTIVE.
	  Re-indent a couple of files that needed it.

2009-06-07 20:19:03 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [350/906] fix window position when using xoverlay
	  x, y are the coordinates of the position inside
	  the new parent window.
	  Fixes #584877

2009-06-06 14:34:57 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [349/906] can switch xoverlays while playing
	  Fixes bug #584877
	  Before this commit calling "gst_x_overlay_set_xwindow_id" more
	  than one time, had no effect.
	  It mainly affects the glimagesink implementation.
	  But on win32 (and CE), some stuff has to be done to
	  release the old parent.
	  And add a switchxoverlay example where the user
	  can click on left/right part of the main window to
	  switch the xoverlay.

2009-06-04 00:27:44 +0200  LRN <lrn1986@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [347/906] fix miscast of a pointer in SetWindowLongPtr
	  GCC 4.4.0 complains error: cast from pointer to integer of different size
	  Fixes #584678.

2009-05-12 11:41:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/gl/Makefile.am:
	  [346/906] Fix linking by providing libtool the correct --tag parameter

2009-04-30 23:40:38 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [337/906] Improve cluttershare example
	  Use clutter_threads_API.
	  When just using glupload from rgb, we have to be sure that
	  the upload texture is not in use in our gst gl context.

2009-04-20 18:17:54 -0400  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [336/906] [x11/x11ES] fix some pointer cast warnings

2009-04-20 23:55:51 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [335/906] [cocoa] update since interface changed

2009-04-20 23:48:15 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [334/906] [win32/winCE] fix some pointer cast warnings with mingw
	  And turn off deprecated Wp64 msvc compiler option.

2009-04-20 00:52:41 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [333/906] add force-aspect-ratio support

2009-04-18 08:40:51 -0400  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [331/906] indent and fix some compiler warnings

2009-04-18 13:57:44 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [330/906] Can now share textures with an external gl context
	  The external opengl context must be specify when creating
	  our OpenGL context (glx) or just after (wgl).
	  When calling glXCreateContext or wglShareLists, the
	  external opengl context must not be current.
	  Then our gl context can be current in the gl thread while
	  the external gl context is current in an other thread.
	  See tests/examples/clutter/cluttershare.c

2009-04-12 22:24:06 -0700  David Schleef <ds@hutch-2.local>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [329/906] Build for Cocoa on darwin, with various fixes

2009-04-10 20:42:59 +0200  Julien <julien@Julien-Kubuntu.(none)>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [327/906] fix init FBO's texture attachment on ES 2.0

2009-04-10 20:30:46 +0200  Julien <julien@Julien-Kubuntu.(none)>

	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	* gst-libs/gst/gl/gstglwindow_x11ES2.c:
	  [326/906] add X backend for OpenGL ES 2.0

2009-03-18 22:46:56 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [322/906] [download YUY2/UYVY] fix a regression
	  The call to glLoadIdentity was removed by mistake during
	  OpenGL ES 2.0 integration.

2009-03-15 14:48:19 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstgles2.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_winCE.c:
	  [321/906] add OpenGL ES 2.x support.
	  In OpenGL 2.x for Embedded System, a lot of basic scene/draw functions
	  have been removed. It means that everything is made using vertex and
	  fragment shaders.
	  I have also added a gstglwindow backend for winCE that uses EGL
	  (Native Platform Graphics Intercace) (which is a full part of
	  OpenGL ES specification). It remove the use of wgl/glx functions.

2009-03-07 03:13:38 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [320/906] fix position and content rect

2009-03-06 22:43:41 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [319/906] [win32 backend] fix transmition message to the parent.
	  The Qt mouvexoverlay example shows how to rotate the cube
	  by moving (+click) the mouve over a qwidget using xoverlay
	  interface.

2009-02-26 17:45:21 -0500  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/GNUmakefile.gnustep:
	  [318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep

2009-02-26 01:06:58 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/GNUmakefile:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_cocoa.m:
	  [317/906] implement gstglwindow for Cocoa (MacOS and GNUstep)

2009-02-25 00:12:12 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/GNUmakefile:
	  [315/906] add GNUstep build

2009-02-23 11:07:22 -0800  David Schleef <ds@schleef.org>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	  [314/906] 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.

2009-02-10 22:39:14 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [310/906] Global reindent
	  Indent parameters:
	  INDENT_PARAMETERS="--braces-on-if-line \
	  --case-brace-indentation0 \
	  --case-indentation2 \
	  --braces-after-struct-decl-line \
	  --line-length80 \
	  --no-tabs \
	  --cuddle-else \
	  --dont-line-up-parentheses \
	  --honour-newlines \
	  --continuation-indentation4 \
	  --tab-size8 \
	  --indent-level2"

2009-02-03 18:58:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [309/906] Replay: Fix callbacks passed over XEvents on 64 bit architectures
	  Althought the XEvent's xclient.data.l array is an array of
	  longs they will be constrained to 32 bit by the X11 protocol.
	  On 64 bit architectures use two elements of the array to store
	  one pointer.
	  This fixes segfaults that happen at least for every example
	  on startup.

2009-02-08 01:50:10 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [306/906] fix CMake build and frozen CodeBlocks build

2009-02-05 19:59:27 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [304/906] only load RGBA files.png

2009-01-23 02:04:23 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [301/906] depends on libpng instead of gdk_pixbuf

2009-02-10 21:57:31 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [298/906] Revert "Fix indention"
	  This reverts commit 96e4ab18c2cf9876f6c031b9aba6282d0bd45a93.
	  You should have asked first.  And you would have been told "no",
	  because it causes people on development branches to do a huge
	  amount of extra work.

2009-02-10 21:57:08 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [297/906] Revert "Fix callbacks passed over XEvents on 64 bit architectures"
	  This reverts commit 280771d09b58617b27201027de0e1194da376e72.

2009-02-03 18:58:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [296/906] Fix callbacks passed over XEvents on 64 bit architectures
	  Althought the XEvent's xclient.data.l array is an array of
	  longs they will be constrained to 32 bit by the X11 protocol.
	  On 64 bit architectures use two elements of the array to store
	  one pointer.
	  This fixes segfaults that happen at least for every example
	  on startup.

2009-02-03 18:33:36 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [295/906] Fix indention

2009-02-03 11:23:06 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [294/906] Fix format string compiler warnings by using G_GUINT64_FORMAT

2009-01-09 17:20:25 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [291/906] Add check for GLEW_EXT_framebuffer_object

2009-01-08 19:18:47 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	  [290/906] Set GL_LIBS correctly in configure.ac
	  This doesn't detect the existence of libraries, which needs to
	  be fixed.

2009-01-07 19:11:01 -0800  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	  [289/906] build fixes for Windows libraries

2008-12-14 12:06:06 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [288/906] add more debug ouputs about GLSL and mesa

2008-12-13 19:36:32 -0500  julien <julien@julien-desktop.(none)>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [287/906] fix a regression about glXChooseVisual which failed when using mesa, so attributes must be less restrictives.

2008-12-13 00:50:16 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [286/906] [win32] Register window class in gst_gl_window_class_init

2008-12-07 03:25:59 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [285/906] fix gl framerate in gst caps. Consider position in xoverlay. Fix inversion bettween COLS and ROWS, and move windows.

2008-11-29 22:16:44 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [284/906] workaround about the ATI shader compiler on linux (setlocale)

2008-11-25 01:01:01 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [283/906] better result in cube and doublecube example. And some clean up debug and comments

2008-11-23 16:14:26 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [282/906] update CMake build

2008-11-23 16:04:27 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [281/906] Make cube example work on x11. Finish TODO task 9.

2008-11-22 16:43:24 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [280/906] Remove set_visible, because it's now automatically done when the first post redisplay comes.

2008-11-22 00:51:30 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [279/906] finish set_xwindow_id (gst_gl_window_set_external_win_id): child is resized at the same time as the parent is.

2008-11-21 20:51:48 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [278/906] Implement set_xwindow_id (gst_gl_window_set_external_window_id).

2008-11-21 19:37:21 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [277/906] open x client connection for sender only at start up

2008-11-21 19:11:11 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [276/906] better deal with last pending custom cb and destroy_context_cb

2008-11-21 01:31:19 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [275/906] Make sure the gl ressoures are destroyed before to destroy gl window

2008-11-20 01:24:10 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [274/906] add some other debug outputs and checks

2008-11-19 00:07:22 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [273/906] add some debug outputs about Visual and XVisualInfo

2008-11-17 01:04:32 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [272/906] add a visible member to deal better with the first expose events

2008-11-16 16:57:00 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [271/906] revert last commit because the crash comes from libselinux

2008-11-15 23:32:04 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [270/906] fix use of different Display structures which point on the same display name

2008-11-15 18:51:44 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [269/906] Better deal with XNextEvent and XSendEvent

2008-11-15 02:24:07 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [268/906] Better deal with Atoms

2008-11-14 01:00:33 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [267/906] Get ride of calling sleep in gl thread X loop

2008-11-13 02:05:33 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [266/906] secure close when clicking on the cross

2008-11-13 01:23:51 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [264/906] Rewrite gstglwindow_x11.c because X API is not thread safe.

2008-11-11 03:19:51 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [263/906] discard x custom messages which are of date

2008-11-09 23:23:30 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [262/906] Works on linux but still some bugs. Fix autotools  build.

2008-11-09 22:14:29 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [261/906] implement quit x message loop

2008-11-09 02:44:25 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [260/906] try to make XSendEvent blocker (as win32 SendMessage is)

2008-11-06 23:41:11 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [259/906] continue x implementation (but still not tested)

2008-11-06 01:28:26 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [258/906] setup x message loop

2008-11-05 02:06:33 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_x11.c:
	  [257/906] begin gstglwindow_x11.c implementation

2008-10-29 23:53:22 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [256/906] fix CMake an CodeBlocks builds

2008-10-28 21:44:09 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [255/906] fix window closure when using gst xoverlay interface

2008-10-28 01:38:45 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [254/906] Better handle when the parent window is resizing, and cleanup some code

2008-10-28 00:22:27 +0100  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [253/906] win32: re-implement supports for gst xoverlay interface, on this branch

2008-10-25 16:18:23 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [252/906] avoid a dead lock on window closure

2008-10-25 02:03:16 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [251/906] Properly clean OpenGL contexts

2008-10-24 01:39:00 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [250/906] win32: basic stuffs are working now on this branch with this new deep design (gstglwindow)

2008-10-23 01:40:52 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglwindow.h:
	* gst-libs/gst/gl/gstglwindow_win32.c:
	  [249/906] begin GstGLWindow in order to totally remove gstfreeglut

2008-10-15 12:42:29 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [243/906] Support for missing videoformats in glupload
	  Add support for missing alpha channeled videoformats (RGBA, BGRA,
	  ARGB, ABGR) in gst_gl_display_do_upload_fill.

2008-10-13 23:14:27 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [242/906] Fix crash in filters when going to NULL with no display

2008-09-21 10:58:13 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [233/906] no need to explicit set the debug category if default one is used

2008-09-21 16:40:38 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [230/906] explicit check g_getenv return value to be not NULL

2008-09-20 15:44:24 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [229/906] update authors from the CVS repository

2008-09-20 14:12:49 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstglshader.c:
	  [228/906] output shaders info log only if GST_GL_SHADER_DEBUG env variable is set. Should fix TODO task 18

2008-09-18 22:50:05 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [226/906] check on win32 that every tests/pipelines and tests/examples (generic, gtk, qt) still work

2008-09-18 21:13:37 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [225/906] fix a regression that made the gltestsrc element not working

2008-09-16 02:10:31 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [224/906] fix a regression about MESA YCbCr colorspace conversion

2008-09-14 23:22:58 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [223/906] fix a regression (sometimes a FBO is needed even if the video source is rgb)

2008-09-14 19:56:50 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [222/906] Finish TODO task 17

2008-09-13 19:47:44 +0200  Julien <julien@bowob.(none)>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [221/906] fix g_int_hash -> g_direct_hash

2008-09-13 18:17:42 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [220/906] Use a better key for the pool of textures

2008-09-13 03:32:04 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [219/906] Use a gst debug category for GstGLDisplay instead of g_print, gst-launch-0.10 --gst-debug=gldisplay:3 videotestsrc ! glimagesink

2008-09-12 01:13:50 +0200  Julien <julien@bowob.(none)>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [218/906] The CMake build now works on my Kubuntu-KDE4.1.1

2008-09-11 02:07:12 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/CMakeLists.txt:
	  [217/906] Add cmake build http://www.cmake.org. See CMake install instructions in the INSTALL file. (I have not correctly configured yet the CMake build for unix, BE patient)

2008-09-07 00:45:34 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  [212/906] add a glbumper (bump mapping filter through GLSL) that exposes how to use both vertex and fragment shaders

2008-08-25 10:34:54 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [211/906] Fix upload AYUV and YV12 (a regression in last commits)

2008-08-24 16:33:26 +0200  julien User <julien@ubuntu.ubuntu-domain>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [210/906] get ride of a wrong color on nvidia/linux when converting yv12 to rgb through GLSL

2008-08-24 15:39:14 +0200  julien User <julien@ubuntu.ubuntu-domain>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [209/906] fix warnings

2008-08-24 04:24:29 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [208/906] fix upload AYUV, regression during the 2 last commits

2008-08-24 03:38:40 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [207/906] oups, fix my mistake on last commit

2008-08-24 03:12:12 +0200  unknown <Luc@.(none)>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [206/906] Do not use frame buffer object when "input video is RGB" or when "GLSL is not available and YCbCr is available". So frame buffer object is not a plugin requirement anymore. So I decreased the OpengGL version from 1.4 to 1.2 (maybe less?)

2008-08-21 11:12:42 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [205/906] use a GHash  table instead of a GData for the texture pool

2008-08-20 15:47:51 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [204/906] get ride of a bug on ATI related to YV12 to rgb conversion through GLSL and add an example

2008-08-20 09:24:53 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [201/906] fix a signedness warning

2008-08-20 00:11:39 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [200/906] get ride of a ATI bug related to GLSL colorspace conversion for I420 and YV12 to rgb

2008-08-14 20:02:04 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [171/906] import fxtest (little gtk app to easily test effects) from cvs branch, fixed rgbtocurve.

2008-08-13 17:59:09 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [157/906] move thread_do_upload_make from thread_do_upload to thread_init_upload

2008-08-13 17:16:17 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [156/906] fix a crash that could happens when using at least 2 gl context and when closing a window on linux

2008-08-11 20:12:02 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [153/906] Try to genereate textures within gstglfilterblur to see if the new thread_use_fbo works both with textures from the pool and custom ones

2008-08-11 20:01:41 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [152/906] remove an unneeded (really?) glTexImage

2008-08-11 19:08:22 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [151/906] ISO C90

2008-08-11 19:01:33 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [150/906] glTexImage2D(w, h, NULL) is now called only one time (mem alloc)

2008-08-11 17:21:30 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [149/906] same as previous commit

2008-08-11 17:17:22 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [148/906] Fix rgb issue. Current program should always be set to 0 when a new texture is attached to a fbo.

2008-08-11 15:40:39 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [146/906] remove filteredge

2008-08-11 09:52:16 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [143/906] Add init and reset callbacks in GstGLFilter to run arbitrary gl code at start and stop. Useful to init and cleanup custom gl resources.

2008-08-11 09:00:40 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [142/906] Add a generic action to be able to execute arbitrary gl code within the gl thread with less pain

2008-08-10 11:22:34 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [141/906] some steps towards simplification. added a convenience function to gstglfilter and some comment here and there

2008-08-05 10:15:07 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [140/906] Fix GL_STACK_OVERFLOW

2008-08-04 12:13:29 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [139/906] fix warnings when compiling upload/download shaders

2008-08-04 09:56:59 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [138/906] is that videoformat pointer really needed?

2008-08-04 09:46:14 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [137/906] Don't reallocate texture memory every time in upload_* functions.

2008-08-01 11:00:49 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [136/906] reindent gstgldisplay with gstreamer-c-mode

2008-07-21 00:24:48 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [133/906] finish todo task 4

2008-07-20 16:38:48 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	  [132/906] make the plugin properly shutdown when one of the check requirements failed

2008-07-19 08:32:38 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [131/906] fix warnings (unused vars)

2008-07-19 03:00:26 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [130/906] use GstGLShader in the GLSL colorspace conversion

2008-07-18 21:55:00 +0200  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [128/906] add GstGLShader stuffs in the vs8 project, fix laplacian fragment code to make it compile on ATI, and fix check function about Opengl and Glew version

2008-07-18 10:49:34 +0200  Filippo Argiolas <filippo.argiolas@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglshader.c:
	* gst-libs/gst/gl/gstglshader.h:
	  [127/906] Imported GstGLShader from cvs branch. Added a demo laplacian convolution filter to demonstrate how this can be integrated with minimum effort.

2008-07-16 15:23:36 -0700  David Schleef <ds@hutch.local>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.h:
	  [126/906] Change some guints to GLuints because of warnings on OS/X.

2008-07-16 15:22:36 -0700  David Schleef <ds@hutch.local>

	* gst-libs/gst/gl/Makefile.am:
	  [125/906] Add libraries as appropriate to fix compilation

2008-07-12 14:18:47 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [123/906] X Specific: better implementation of the gst_gl_set_window_id

2008-07-12 13:24:30 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [122/906] better implementation of gst_gl_display_set_window_id for win32. (change the window of the current wglcontext instead of reinit everything, and so avoid some problems about opengl objects that could be init in the previous wglcontext and so no usable in the newer wglcontext, it what the case for the first texture) This newer implementation has not been made yet on linux

2008-07-12 01:13:08 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [121/906] avoid use of GLSL functions when fragment_shader is not available

2008-07-11 06:24:27 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [120/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@580 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-07-10 23:53:36 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [119/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@579 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-07-07 20:59:20 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [118/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@573 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-07-05 22:56:29 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [116/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@563 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-30 00:38:39 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [115/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@556 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-29 17:27:43 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	  [114/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@555 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-28 23:28:11 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [113/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@554 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-28 15:38:41 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [112/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@552 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-24 22:28:03 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [111/906] up

2008-06-23 18:56:29 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [109/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@543 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-21 21:38:42 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [108/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@540 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-06-19 23:38:36 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [107/906] fix opengl version checker

2008-06-15 18:31:12 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [105/906] up Sobel filter and gl/glew version checker

2008-06-13 00:01:26 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [104/906] start to add a glfilteredge that proceeds edge detection using GLSL

2008-06-11 23:31:53 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gltestsrc.c:
	* gst-libs/gst/gl/gltestsrc.h:
	  [096/906] up

2008-06-11 23:26:16 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gltestsrc.c:
	* gst-libs/gst/gl/gltestsrc.h:
	  [095/906] up

2008-06-11 23:23:12 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglfilter.c:
	  [094/906] up

2008-06-11 23:04:52 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [092/906] Finish to revive the gltestsrc. Next step is to do some refactoring.

2008-06-11 18:33:53 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gltestsrc.c:
	* gst-libs/gst/gl/gltestsrc.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [091/906] start to revive the gltestsrc

2008-06-10 22:08:11 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  [088/906] fix some caps negociations those pipelines works fine : gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glfiltercube ! glimagesink and gst-launch-0.10 -v videotestsrc ! video/x-raw-yuv, width=320, height=240 ! glgraphicmaker ! video/x-raw-gl, width=720 , height=576 ! glimagesink

2008-06-10 19:07:43 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [087/906] glfilter can accept to have an input size different than the out put size : video/x-raw-gl, width=w1, height=w1 ! glfilter ! video/x-raw-gl, width=w2, height=w2 ! (fix every examples)

2008-06-08 22:11:36 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [086/906] up

2008-06-08 13:15:12 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [085/906] fix regressions about glvideomaker.

2008-06-08 02:19:43 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [084/906] add a glfilterapp which holds the client draw and reshape callbacks (some "wanted" regressions about the glvideomaker, have been done with this version. Will be fix in next commits)

2008-06-07 21:56:00 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [083/906] finish to implement the glfilter: example : gst-launch-0.10 videotestsrc num_buffers = 100 ! glgraphicmaker ! glfiltercube ! glimagesink

2008-06-07 15:27:12 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [082/906] glfilter can request, use and reject a FBO (step 1)

2008-06-07 00:01:18 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [081/906] start to add a glfilter

2008-05-24 12:35:34 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [080/906] fix gstfreeglut linux implementation to correctly handle the gstxoverlay interface

2008-05-22 20:10:31 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [079/906] up

2008-05-21 21:17:49 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [077/906] up

2008-05-21 21:15:47 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [076/906] check OpenGL and Glew versions

2008-05-20 17:40:20 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [075/906] indent

2008-05-19 23:06:07 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [074/906] up

2008-05-19 23:03:22 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [073/906] up

2008-05-19 21:36:59 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [072/906] up

2008-05-19 21:28:28 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [071/906] remove all warnings

2008-05-19 18:45:46 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [070/906] implement and fix onClose: when a user click on the cross of an internal window (there is not this issue when using the gstxoverlay interface)

2008-05-19 16:57:39 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [069/906] add gstreamer license

2008-05-18 19:18:04 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [066/906] up

2008-05-18 17:55:56 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [065/906] up

2008-05-18 14:47:01 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstgldisplay.h:
	  [063/906] up

2008-05-18 11:12:46 +0000  Julien Isorce <julien.isorce@gmail.com>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [062/906] git-svn-id: svn://svn.wobow.com/GStreamer_playground/gst-plugins-gl@421 93df14bb-0f41-7a43-8087-d3e2a2f0e464

2008-07-15 14:16:53 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [061/906] First SVN commit.  This commit is a hack to make git-rebase work

2008-02-23 15:10:49 +0000  Tim-Philipp Müller <tim at centricular dot net>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstgldisplay.c:
	  [060/906] 	* gst-libs/gst/gl/gstglbuffer.c: (gst_gl_buffer_format_from_video_format): 	  Fix compiler warning if there are video format 	  enums gstglbuffer doesn't know about yet. * gst-libs/gst/gl/gstgldisplay.c: (gst_gl_display_upload_texture_rectangle), (gst_gl_display_draw_texture): 	  Fix printf format for 64-bit integers.

2008-01-31 23:40:13 +0000  David Schleef <ds@schleef.org>

	* pkgconfig/gstreamer-gl-uninstalled.pc.in:
	* pkgconfig/gstreamer-gl.pc.in:
	  [059/906] * configure.ac: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-gl-uninstalled.pc.in: * pkgconfig/gstreamer-gl.pc.in: * pkgconfig/gstreamer-plugins-gl-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-gl.pc.in: Rename pkgconfig files.  And install them. * tests/check/Makefile.am: * tests/check/generic/states.c: * tests/check/pipelines/simple-launch-lines.c: Add some tests copied from -good.

2008-01-31 21:35:56 +0000  Tim-Philipp Müller <tim at centricular dot net>

	* gst-libs/gst/gl/Makefile.am:
	  [058/906] 	* gst-libs/gst/gl/Makefile.am: 	  The library needs to link against libgstvideo-0.10. 	* gst/gl/Makefile.am: 	  The plugin does not (I think) need to link against GL or libgstvideo, 	  since our new gstreamer GL library already does that, but it does 	  need to link against our brand-new libgstgl-0.10.

2008-01-31 20:21:26 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/gstglfilter.c:
	* gst-libs/gst/gl/gstglfilter.h:
	  [056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.

2008-01-18 15:13:16 +0000  Tim-Philipp Müller <tim at centricular dot net>

	* gst-libs/gst/gl/Makefile.am:
	  [055/906] 	* configure.ac: 	* docs/Makefile.am: 	* gst-libs/Makefile.am: 	* gst-libs/gst/gl/Makefile.am: 	* gst/gl/Makefile.am: * tests/Makefile.am: 	  Fix compilation in uninstalled setup and some   distcheck-y bits (not all though).

2008-01-17 23:23:31 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	  [054/906] Fixes to make project compile.  Probably still doesn't work. * configure.ac: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst/Makefile.am: * gst/gl/Makefile.am: * gst/gl/gstgltestsrc.c: * po/LINGUAS: * win32/MANIFEST:

2008-01-17 19:40:36 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/Makefile.am:
	  [053/906] Add project infrastructure.  Not complete, doesn't work. * .cvsignore: * AUTHORS: * COPYING: * COPYING.LIB: * INSTALL: * Makefile.am: * NEWS: * README: * RELEASE: * REQUIREMENTS: * autogen.sh: * configure.ac: * docs/.cvsignore: * docs/Makefile.am: * docs/libs/Makefile.am: * docs/plugins/Makefile.am: * docs/version.entities.in: * ext/Makefile.am: * gst-libs/Makefile.am: * gst-libs/gst/Makefile.am: * gst-libs/gst/gl/Makefile.am: * gst-plugins-gl.doap: * gst-plugins-gl.spec.in: * gst/Makefile.am: * m4/.cvsignore: * m4/Makefile.am: * pkgconfig/.cvsignore: * pkgconfig/Makefile.am: * pkgconfig/gstreamer-plugins-gl-uninstalled.pc.in: * pkgconfig/gstreamer-plugins-gl.pc.in: * sys/Makefile.am: * tests/Makefile.am: * tests/check/Makefile.am: * tests/examples/Makefile.am: * tests/icles/Makefile.am: * tools/Makefile.am: * win32/common/config.h.in:

2008-01-06 03:01:39 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [052/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstglupload.c: Handle xoverlay exposes correctly.  This means glimagesink works correctly most of the time in totem (fullscreening being an execption).  Doesn't handle expose events directly to the GL window.

2008-01-06 01:19:48 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [051/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstopengl.c: Reenable video/x-raw-rgb and x-raw-yuv for glimagesink.  Enable vblank synchronization.  Remove unused code.

2007-12-29 00:37:40 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [049/906] * configure.ac: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Major cleanup of code.  Convert glupload to BaseTransform. Handle caps negotiation mostly correctly.  Reenable in build.

2007-12-27 04:15:26 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  [047/906] * sys/glsink/gltestsrc.c: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: Convert gldownload to BaseTransform.  Make glfilterexample visually interesting.  Add support for various formats to downloading.  Fix a few places where we leak GL state to other elements (bad, but hard to prevent).

2007-12-27 00:52:22 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	  [046/906] * sys/glsink/BUGS: * sys/glsink/Makefile.am: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstglconvert.c: * sys/glsink/gstgldisplay.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglfilter.h: * sys/glsink/gstglfilterexample.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Remove code that handles non-texture buffers.  Add a GstGLBufferFormat type that corresponds to how to use the texture, not the original video format.  Convert gstflfilter.c into a base class, add glfilterexample and glconvert elements. * sys/glsink/color_matrix.c: Minor ramblings about color conversion matrices.

2007-12-25 00:34:13 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstgldisplay.c:
	  [045/906] * sys/glsink/Makefile.am: * sys/glsink/gltestsrc.c: * sys/glsink/gltestsrc.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstgltestsrc.c: * sys/glsink/gstgltestsrc.h: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Add gltestsrc element, a duplicate of videotestsrc that uses GL rendering to create images.  More cleanup.

2007-12-24 21:26:38 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	  [044/906] * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: Clean up code.  Fix a few leaks.

2007-12-24 21:04:45 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstgldisplay.h:
	  [043/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].

2007-12-24 20:53:55 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  [042/906] * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: Rewrite a bunch of code to use textures as the intermediate instead of renderbuffers.  upload, download, filtering all work.

2007-12-22 05:01:57 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	  [041/906] * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstgldownload.c: * sys/glsink/gstglupload.c: A careful read of the documentation reveals that I can't use renderbuffers as textures.  Duh. Checkpoint because I'm about to rewrite a bunch of code.

2007-12-21 00:03:10 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	* gst-libs/gst/gl/gstglbuffer.c:
	* gst-libs/gst/gl/gstglbuffer.h:
	  [040/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glimagesink.c: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldownload.c: * sys/glsink/gstglfilter.c: * sys/glsink/gstglupload.c: * sys/glsink/gstopengl.c: Switch to using framebuffer_objects instead of GLXPixmaps, because that's what my driver supports.  Remove GLDrawable, since GstGLDisplay now has a default drawable and context.

2007-12-16 00:16:46 +0000  David Schleef <ds@schleef.org>

	* gst-libs/gst/gl/glextensions.c:
	* gst-libs/gst/gl/glextensions.h:
	  [037/906] * sys/glsink/Makefile.am: * sys/glsink/glextensions.c: * sys/glsink/glextensions.h: * sys/glsink/glvideo.c: Add vblank synchronization.  Isn't really working on my driver. :(

2017-08-31 11:12:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* tests/check/elements/appsrc.c:
	  appsrc: add support for pushing buffer lists
	  And samples that carry buffer lists.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752363

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

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsamidisrc.h:
	  alsamidisrc: unlock create function on shutdown
	  Fixes occasional hang in generic/states unit test or
	  GST_CHECKS=test_state_changes_up_and_down_seq make forever

2017-12-08 10:33:10 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Check encoder name is valid
	  Encoder names should be valid utf-8, if not just ignore them

2017-12-08 08:00:07 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Avoid overflow calculation (image/quicktime)
	  The qt typefinder uses guint64 values for offset and size calculation
	  but the typefinder system only supports gint64 values.
	  Make sure we don't end up using potentially overflowing values.

2017-12-08 08:00:07 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Avoid overflow calculation
	  The qt typefinder uses guint64 values for offset and size calculation
	  but the typefinder system only supports gint64 values.
	  Make sure we don't end up using potentially overflowing values.

2017-12-03 02:10:40 +0900  Akinobu Mita <akinobu.mita@gmail.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink, xvimagesink: fix incorrect type conversion of pointer position
	  I'm currently playing with modified ximagesink that does XGrabPointer()
	  in order to receive the mouse events occurred outside of the window and
	  send them to the navigation interface.
	  The pointer positions usually have positive coordinates, but it could
	  be negative with that change.
	  When the ximagesink handles XEvent that contains a negative pointer
	  coordinate, it incorrectly generates the GstEvent that contains an
	  extremely large positive pointer coordinate.
	  This is because the negative pointer position in XEvent is incorrectly
	  converted from signed to unsigned and passed as an argument to
	  gst_navigation_send_mouse_event() which causes implicit conversion from
	  integer to double.  So the pointer position in the received XEvent and
	  generated GstEvent are completely different.
	  This potential problem does not seem to be a real problem with unmodified
	  ximagesink but there is no reason to leave it as is.  This also fixes
	  xvimagesink that has the same potential problem.
	  https://bugzilla.gnome.org/show_bug.cgi?id=791140

2017-12-07 16:09:55 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix previous commit
	  We need to make sure we have *enough* data to read (including the
	  next 4 bytes)

2017-12-07 15:02:41 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Optimize qt/3gp typefinding
	  Request the whole 'ftyp' atom data and scan within it. Avoids doing
	  a lot of small 4 byte pull from upstream if it's invalid.

2017-12-07 14:52:36 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: wavpack: limit search in blocksize
	  The maximum blocksize is 131072 bytes, anything bigger is a corrupted
	  file.

2017-12-07 11:03:20 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix ico out-of-bound read
	  The furthest we go to verify the data is reading a guint32 at offset
	  18, therefore make sure we can read as much.

2017-11-14 23:07:26 +0900  Seungha Yang <pudding8757@gmail.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimageallocator: Fix build warning error
	  Fix unused variable build error if HAVE_XSHM is undefined
	  https://bugzilla.gnome.org/show_bug.cgi?id=790329

2017-12-06 14:22:49 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstogmparse.c:
	  ogmparse: Make sure we set valid string on caps
	  the fourcc might not contain printable characters, use the convenience
	  macro to turn it into a printable fourcc, like it's done in
	  gstogmparse

2017-10-31 16:10:19 -0600  Matt Staples <staples255@gmail.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: Register GstRTSPMessage as a boxed type
	  Registering GstRTSPMessage as a boxed type allows it to be conveniently
	  used as an argument to signals, a-la GstSDPMessage, and general usage
	  from bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=762884

2017-06-06 10:39:15 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix buffer leak in error code path

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

	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/meson.build:
	  Remove GstAggregator from -bad, moved to core
	  https://bugzilla.gnome.org/show_bug.cgi?id=739010

2017-12-01 10:14:30 -0300  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/audio/audio-converter.h:
	  audio: Add missing G_BEGIN/END_DECLS

2017-12-01 16:25:32 +0800  Jun Xie <jun.xie@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix typo in docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=791058

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

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Don't assume a clock has been set
	  Can happen in testing scenarios for example

2017-11-28 09:33:11 -0800  Thiago Santos <thiagossantos@gmail.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: add some missing gi annotations
	  Missing some array and out parameters annotations
	  https://bugzilla.gnome.org/show_bug.cgi?id=790950

2017-10-05 12:10:50 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsamidisrc.h:
	  alsamidisrc: Improve buffer timestamping
	  Make buffer timestamps more accurate and, more importantly, actually
	  representative of the MIDI events timing.
	  Previously, buffers were only sent with timetamps aligned at a 10ms
	  boundary which was just wrong, now the buffer timestamp represents the
	  real time of the MIDI event.
	  Conveniently, the ALSA sequencer API supports scheduling events in the
	  future so the sequencer infrastructure can be used to have the tick
	  delivered at the right time, avoiding any custom scheduling mechanism.
	  The ticks scheduling starts on the first transition to PLAYING, and the
	  delay is also calculated when the pipeline goes into PLAYING.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-10-04 22:31:23 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsamidisrc.h:
	  alsamidisrc: Expand snd_seq_create_simple_port() and use a queue for timestamps
	  Events are timestamped with a real-time value representing the time
	  passed since the queue timer was started.
	  The timestamp is not used just yet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-10-04 20:43:50 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Merge prepare_buffer() and push_buffer()
	  The separation is not very useful since push_buffer() is the only user
	  of prepare_buffer().
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-10-04 19:46:55 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Don't set buffer offset and duration
	  They are not relly needed for a live source.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-10-04 19:41:58 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Fix a memory leak when setting the "ports" property
	  When setting the "ports" property the value is duplicated but it's not
	  freed when the elements stops.
	  Reported by Valgrind (example run with "alsamidisrc ports=128:0"):
	  6 bytes in 1 blocks are definitely lost in loss record 30 of 1,911
	  at 0x4C2BBEF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
	  by 0x5411528: g_malloc (gmem.c:94)
	  by 0x542A9FE: g_strdup (gstrfuncs.c:363)
	  by 0x775211E: gst_alsa_midi_src_set_property (gstalsamidisrc.c:284)
	  by 0x5184A4D: object_set_property (gobject.c:1439)
	  by 0x5184A4D: g_object_setv (gobject.c:2245)
	  by 0x51859DD: g_object_set_property (gobject.c:2529)
	  by 0x4F0474C: ??? (in /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.1203.0)
	  by 0x4F065C8: ??? (in /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.1203.0)
	  by 0x4F07557: ??? (in /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.1203.0)
	  by 0x4EFE3EE: gst_parse_launch_full (in /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.1203.0)
	  by 0x4EFE673: gst_parse_launchv_full (in /usr/lib/x86_64-linux-gnu/libgstreamer-1.0.so.0.1203.0)
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-09-25 15:14:45 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Prevent Valgrind from reporting cached config as memory leaks
	  See http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=MEMORY-LEAK;hb=HEAD
	  This allows to have cleaner Valgrind reports about alsamidisrc and make
	  it easier to spot actual problems.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-10-09 18:50:23 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: Improve a comment and remove one trailing space
	  https://bugzilla.gnome.org/show_bug.cgi?id=787683

2017-11-29 14:53:57 +0000  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: fix end condition of query drain handler
	  The while loop should end when all buffers "and" the preroll
	  buffer are consumed but this means to continue waiting if there
	  are still some pending buffers "or" preroll buffer.
	  The unit test was correct but racy because of this mistake.
	  I.e. because of the wrong "and" the while could finish too early.
	  cd tests/check && GST_CHECKS=test_query_drain make elements/appsink.forever
	  https://bugzilla.gnome.org/show_bug.cgi?id=789763

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

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

2017-11-26 18:36:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* win32/MANIFEST:
	* win32/common/libgstallocators.def:
	* win32/common/libgstapp.def:
	* win32/common/libgstaudio.def:
	* win32/common/libgstfft.def:
	* win32/common/libgstpbutils.def:
	* win32/common/libgstriff.def:
	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	* win32/common/libgstsdp.def:
	* win32/common/libgsttag.def:
	* win32/common/libgstvideo.def:
	  win32: remove .def file with exports
	  They're no longer needed, symbol exporting is now explicit
	  via GST_EXPORT in all cases (autotools, meson, incl. MSVC).

2017-11-26 18:30:57 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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

	* gst-libs/gst/video/video-color.h:
	  video: add missing GST_EXPORT

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

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Don't leak mutexes

2017-11-06 21:07:51 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Remove klass->sinkpads_type
	  This posed problems for the python bindings (and possibly others).
	  Instead, subclasses now use add_pad_template_with_gtype.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789986

2017-11-21 10:15:02 +0100  Edward Hervey <edward@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Avoid overflow calculation
	  n_frames could end up being quite big (potentially up to G_MAXINT64). Which
	  would result in overflowing 64bits when multiplying it by GST_SECOND.
	  Instead move GST_SECOND to the num argument

2017-11-17 14:07:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* 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: Require gconstpointer instead of gpointer for gst_rt[c]p_buffer_new_copy_data()

2017-11-16 18:22:20 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't spawn threads on shutdown
	  If we are shutting down, don't spawn a cleanup thread to cleanup old
	  groups and instead queue them to be cleaned up in the state change
	  thread.
	  This avoids (hopefully for good) having a race between the state change
	  thread and other threads trying to deactivate elements/pads.

2017-11-16 06:39:41 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Avoid deactivation races
	  Deactivating pads from two threads isn't 100% MT-safe. There is a
	  slim chance that the GstPadActivateFunc might be called twice with
	  the same values (in this case from the cleanup thread *and* from
	  the GstElement change_state function when going from PAUSED to READY).
	  In order to avoid that, call any existing cleanup function *before*
	  calling the parent change_state implementation on downwards state
	  changes.

2017-11-15 10:51:33 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Don't remove element when switching to PLAYING
	  There is a race going on somewhere when we attempt to remove elements
	  *while* the parent container is switching to PLAYING.
	  In order to avoid this issue with discoverer, make sure we never
	  remove elements while switching to PLAYING.

2017-11-15 10:49:05 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Don't add pads/elements when cleaning up
	  There is no need to add more pads/elements since we are already done.

2017-11-15 10:45:39 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Remove probe when done

2017-11-15 08:29:17 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstogmparse.c:
	  ogmparse: Set caps after sending pending events
	  Avoids sending STREAM_START before CAPS

2017-11-15 08:28:47 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: Demote error to warning

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Move mutex/cond initialization/release
	  We only need to initialize the mutex/cond once when creating the
	  element and then release them when we are done with the element.
	  Avoids weird "mutex_clear called when still locked" issues

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

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't try to add pads when shutting down
	  Be even more agressive than before and just hold the DYN lock when/if
	  adding pads and return if we are shutting down.

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

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't take locks when deactivating pads
	  When deactivating pads, we need to ensure that the streaming threads
	  going through the pads we wish to deactivate can cleanly return.
	  Failure to do that would result in the streaming locks of those
	  pads never being released. The end result would be a deadlock
	  when stopping decodebin2.
	  In order to avoid that situation, release the "dyn" lock around
	  the deactivation code. And refactor the code to cope with the
	  list of blocked pads having potentially changed when re-acquiring
	  the lock.

2017-11-11 07:45:42 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/gsttheoradec.c:
	  theoradec: Handle negotiation failure
	  Avoids a trove of random issues afterwards (due to decoder not
	  *actually* being initialized/negotiated).

2017-09-22 17:07:44 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove unneeded blacklisting
	  Blacklisted mimetypes have been empty in almost 10 years ...

2017-09-22 17:04:54 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove context caching
	  This is now handled by the GstBin baseclass

2017-09-22 16:58:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove source property
	  And instead use the "setup-source" signal. This opens the way to deal
	  with more than one 'source' for a given playlist entry

2017-11-10 14:54:12 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Don't let thread run after unref
	  We have a dedicated one-shot thread to handle cleanup of old groups.
	  While this is a good idea. It's an even better idea to make sure
	  that thread is *completed* before the parsebin element to which
	  it is related isn't freed/gone.
	  * There can only be one cleanup thread happening at any point in time.
	  If there is already one, we wait for the previous one to finish.
	  * When shutting down (NULL=>READY) make sure the thread is finished
	  https://bugzilla.gnome.org/show_bug.cgi?id=790007

2017-11-10 14:54:12 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Don't let thread run after unref
	  We have a dedicated one-shot thread to handle cleanup of old groups.
	  While this is a good idea. It's an even better idea to make sure
	  that thread is *completed* before the decodebin2 element to which
	  it is related isn't freed/gone.
	  * There can only be one cleanup thread happening at any point in time.
	  If there is already one, we wait for the previous one to finish.
	  * When shutting down (NULL=>READY) make sure the thread is finished
	  https://bugzilla.gnome.org/show_bug.cgi?id=790007

2017-11-10 14:22:38 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Check for shutdown before exposing pads
	  We already checked previously, but we need to do it before adding
	  pads.

2017-09-06 16:50:31 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Emit 'drained' only for the top-level chain
	  Instead of emitting 'drained' whenever every single chain is drained
	  (which would result in plenty of signal emission, and would also
	  occur when switching groups), only emit it when the top-level chain
	  is drained.
	  Furthermore, mark unknown (and therefore unexposed) pads as drained
	  since we'll never get EOS on them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787367

2017-11-08 19:24:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Print signed time offset as a signed number

2017-11-08 19:24:02 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiostreamalign.h:
	  audiostreamalign: Add G_BEGIN_DECLS/G_END_DECLS

2017-11-08 17:15:09 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Solidify gst_ogg_demux_loop_push() some more
	  There were still some races going on where seeking events wouldn't
	  be properly intercepted/executed by this thread.
	  * Instead of always waiting for the GCond to be emitted, first just
	  check if there is an event available
	  * Take ownership of the event *while* the lock is taken and not
	  after releasing/reacquiring it
	  * Finally acquire lock at the very top and release it at the end
	  to make it a bit more streamlined
	  This removes the remaining issues with seeks not being executed

2017-11-08 17:08:49 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't double-unlock
	  The previous branch will release the lock in the call to
	  gst_ogg_demux_seek_back_after_push_duration_check_unlock()
	  Only unlock it if we didn't call that function

2017-11-07 15:09:40 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Drop data before new segment
	  When calculating duration in push-mode we seek to a certain position
	  and discard any data until we get data from that requested position.
	  The problem is that basing ourselves solely on offset to determine
	  whether we reached the target offset is wrong since the source might
	  be fast enough  to send us that target position *before* it processed
	  the requested seek.
	  This would end up in a situation where:
	  * We think we're done with duration estimate
	  * We fire a seek back to "0" in the loop thread
	  * We resume normal processing
	  * ... except that we're still getting data from too far ahead which
	  we decide to process.
	  * And we start doing totally wrong granule/time/duration calculation
	  and pushing wrong data.
	  Instead of this confusion, wait until we receive data from the requested
	  seek. We do that by using the fact that the seqnum in
	  seek_event_drop_til will be non-zero until the SEGMENT corresponding
	  to the requested SEEK has been received.
	  Bonus: makes startup slightly faster

2017-11-07 15:05:19 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: Wait for push loop to be started
	  Code using the push_loop_thread (using for sending seeks) assumes
	  that the thread was properly started, except that this isn't always
	  true and the thread might not have completely started.
	  Instead wait for the thread to properly start before doing anything
	  else.

2017-11-03 11:39:54 +0800  shakin chou <shakin@outlook.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't ref_sink() the sinks twice
	  Since we're already sunk floating reference, we shouldn't call ref_sink
	  again, which increases the ref_count and cause leaks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789547

2017-11-06 14:28:52 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: Ensure enough bytes for fishead header parsing

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

	* ext/ogg/gstoggstream.c:
	  oggstream: Use proper type for sample calculation
	  If we are going to return a (potentially) 64bit integer, don't use
	  a 32bit one for calculation, otherwise we could end up exceeding
	  the maximum size of a 32bit int.

2017-11-05 12:15:33 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: More fixes for invalid granuleshift
	  Don't use granuleshift if it wasn't set

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

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Don't switch to PLAYING if we saw an error
	  If we saw an error on the bus, we can't be guaranteed that element will
	  function properly anyway. Avoids weird state change races also

2017-11-04 19:08:40 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  Revert "discoverer: Avoid race of adding elements while stopping"
	  This reverts commit 9a8cb299702c6e8c01b5f4a366f7cffc6b13f97a.
	  The problem is deeper down the stack

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

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: fix left shift override
	  Needs to be cast to the target type

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

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Avoid race of adding elements while stopping
	  This would result in a lot of warnings regarding elements not being
	  in NULL state when removed, or even leaked elements.
	  Instead make sure we take the lock and check whether we are processing
	  or not before allocating or adding anything to the pipeline

2017-11-04 12:19:46 +0100  Edward Hervey <edward@centricular.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: Fix undefined left shift
	  Cast value to target type

2017-11-04 12:18:39 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix undefined left shift
	  Cast value to target type

2017-11-04 11:29:52 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: Fix default granuleshift usage
	  For stream mappers that don't set a specific granuleshift, it will
	  have the default value of -1.
	  Protect the code for that and return the granule value as-is

2017-11-04 11:28:47 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Protect against invalid granule positions
	  Only valid values are -1, 0 or positive values. Anything else is
	  most likely corrupted data streams

2017-11-03 17:20:44 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codecutils: improve input validation in opus header parsing
	  Invalid input files do not warrant assertions. Instead
	  output error messages and let the error bubble up.

2017-11-01 11:23:17 +0900  Justin Kim <justin.kim@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* tests/check/libs/sdp.c:
	  sdpmessage: add_attribute accepts NULL value
	  The attribute can be defined without value regardless session-level
	  or media-level.
	  Although `gst_sdp_message_insert_attribute` can be used to set NULL,
	  it would be easier if `gst_sdp_message_add_attribute` accepts NULL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789841

2017-11-02 15:14:49 +0100  Edward Hervey <edward@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix out-of-bound read in PNM typefinder

2017-11-02 12:46:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: use new gst_element_foreach_sink_pad()
	  Instead of gst_aggregator_iterate_sinkpads() which will
	  soon be removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=785679

2017-10-23 22:03:22 +0200  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.h:
	  audioaggregator: make class padding larger

2017-11-02 10:40:37 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Fix previous comment
	  We already NULL-ended the string, don't use the bogus cur_size

2017-11-02 09:05:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix off-by-one in webvtt typefinder
	  We're also checking the byte after the WEBVTT magic.

2017-11-02 09:19:21 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Handle strf_data being NULL
	  Instead of trying to get the size of a NULL buffer :)

2017-11-02 08:18:26 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Check whether tag name is valid
	  In the same way we check before whether the content of the tag
	  is UTF-8

2017-11-02 08:04:27 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Check return values
	  The target pad of a ghostpad could have gone (due to shutdown taking
	  place for example). Check for it's existence before doing anything
	  with it.

2017-11-02 07:55:16 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Recheck shutdown behaviour in error case
	  If we can expose the main chain, recheck whether we are shutting
	  down or not.
	  decodebin2 might have been set to READY/NULL during the attempt
	  to expose, which would cause it to fail ... but it is not a fatal
	  issue.

2017-11-02 07:18:17 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Uniquely name elements
	  Helps identifying actual queue/fakesink usage. There seems to be
	  a race in discoverer, this should help track it down.

2017-11-01 18:26:20 +0100  Edward Hervey <bilboed@bilboed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Only track time for initialized streams
	  in push-mode we only can track time (or most operations on streams
	  for that matter) if the underlying GstOggMap was properly initialized.

2017-11-01 18:24:11 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: Add a default GstOggMap
	  Since the default value of a GstOggPad.map.map was 0 ... we would
	  end up using wrong functions from mappers() if the stream wasn't
	  initialized yet.
	  Instead of that, use a default blank/empty first entry.

2017-07-17 17:07:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtspconnection: Allow setting a custom accept-certificate function for manually checking a TLS certificate for validity
	  https://bugzilla.gnome.org/show_bug.cgi?id=785024

2017-11-01 11:19:58 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstogmparse.c:
	  ogmparse: Ensure we don't create bogus fractions
	  The clamping of the fraction denominator was bogus (it needs to
	  be >0)

2017-11-01 11:18:12 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix chain leak in push mode
	  In some corner cases we end up with the building chain not being
	  properly tracked (and therefore not properly freed).
	  Add a FIXME so it can later be fixed, but for now just fix the leak

2017-11-01 10:53:54 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Fix leak in error case
	  Don't leak the vendor_string on error cases

2017-11-01 10:31:28 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstogmparse.c:
	  ogmparse: Error out if we can't figure out the format
	  In some cases we might not be able to figure out the fixed format
	  from the header.
	  Properly error out in those cases.

2017-11-01 13:52:50 +0900  Justin Kim <justin.kim@collabora.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtcpbuffer: Add XR type
	  RTCP XR provides supplements information of the report blocks
	  from SR and RR. This patch is for downgrading warnings when
	  XR is detected before implementing entire block types of RFC3611.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789743

2017-11-01 12:44:59 +0900  Justin Kim <justin.kim@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* tests/check/libs/sdp.c:
	  sdpmessage: do not append NULL value for session-level attr
	  If an attribute is defined without value, the generated text
	  should be 'a=key' rather than 'a=key:'. For media-level, it
	  has already been done.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789742

2017-10-31 11:56:22 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst/adder/gstadderorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	  Update disted orc file
	  For latest orc fixes

2017-10-31 10:34:26 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  ogg: Don't add tags to empty taglist

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Use GST_READ_UINT32 macros
	  Avoids undefined behaviour with shifting

2017-10-30 08:55:48 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix out-of-bound memory access
	  We were not checking the proper amount of available data in several
	  places

2017-10-27 18:29:40 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Fix empty mix matrix documentation typo

2017-03-16 20:55:44 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Allow configure output stream without reassign slot
	  By select-streams event, current implementation of decodebin3
	  supports deactivate output stream (i.e., decoder element)
	  in reassign slot(), but cannot activate any slot without track change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=778015

2017-03-16 19:53:11 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Use STREAMS_SELECTED message to update selected stream types
	  Application might choose only specific type among all available types
	  using select-streams event. In this case, it is desired that reconfigure
	  of playsink to clear unused stream path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=778015

2017-10-27 09:51:29 +0200  Edward Hervey <edward@centricular.com>

	* tools/gst-play.c:
	  gst-play: Prevent disabling all streams
	  This would have bad effects :)

2017-03-16 17:52:04 +0900  Seungha Yang <sh.yang@lge.com>

	* tools/gst-play.c:
	  gst-play: Support track change on playbin3
	  * playbin3 does not support {current,n}-{audio,video,text}
	  properties, and they were replaced by GstStreams API.
	  So, GstStreams API and select-stream event should be used
	  for track change in case of playbin3.
	  see also https://bugzilla.gnome.org/show_bug.cgi?id=769079
	  * By using commend line option "--use-playbin3", gst-play will
	  use playbin3 regardless of "USE_PLAYBIN" env variable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=775469

2017-10-26 18:05:31 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: document passing an empty mix-matrix

2017-10-26 15:55:32 +0200  Edward Hervey <edward@centricular.com>

	* tests/check/libs/audio.c:
	  check: Fix minor leak

2017-10-26 10:07:15 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't forget to reacquire lock when needed
	  Fixup to ef93130cf04143fcf675b05ce0d19eddfbac4e75
	  I overlooked the issue. There is a case when the lock is released
	  and we need to reacquire it

2017-10-25 17:45:44 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* win32/common/libgstvideo.def:
	  libgstvideo.def: add new definitions

2017-10-25 11:41:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* tests/check/libs/videoencoder.c:
	  videoencoder: add qos property
	  This new property control if the encoder base class should gather QoS
	  stats and if subclasses should use them by dropping late frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=789467

2017-10-25 12:47:40 +0530  Ashish Kumar <kr.ashish@samsung.com>

	* gst-libs/gst/audio/audio-channels.c:
	  gst-plugins-base: gstaudiochannels: Handled buffer mapping failure
	  https://bugzilla.gnome.org/show_bug.cgi?id=789458

2017-10-24 11:05:20 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't drop sticky events
	  Previous commit was wrong. We should still send all events to the
	  pad (so that sticky events get attached to it and sent when pad
	  gets added).

2017-10-24 10:56:00 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Improve handling of EOS without source pads
	  We might have a chain to use, but it might not have any active pads
	  Properly detect that and send an error message on EOS

2017-10-23 11:52:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  tests: comment and logging cleanups for audiomixer and aggregator
	  Remove some references to 'collectpads'. Logs pads through the object variants.
	  Add some more comments. Remove a left over comment.

2017-10-22 19:43:17 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: fix type for latency property (int64 -> GStClockTime)
	  The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode
	  in live-adder.

2017-10-22 01:00:10 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  Revert "videoencoder: flush encoder in transition PAUSED->READY"
	  This reverts commit 877664a414a466cfcc71c79d28c470722408c9a7.

2017-10-22 01:00:08 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: flush decoder in transition PAUSED->READY"
	  This reverts commit 6e9edc3031935ce8d6640d9774a7c093d20d4366.

2017-10-22 01:00:06 +1100  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  Revert "audioencoder: flush encoder in transition PAUSED->READY"
	  This reverts commit 2dcdd13512e788797d03f9990994eecdd339ca0e.

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  Revert "audiodecoder: flush decoder in transition PAUSED->READY"
	  This reverts commit e7cf4c058ddd466a797623b5ddf162c263d07059.

2017-07-13 19:09:43 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Accept buffer with no data, but duration and gap flag
	  These are produced from GAP events by the base class.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784846

2017-10-21 10:37:48 +0200  Edward Hervey <edward@centricular.com>

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

2017-10-20 18:40:42 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Error out on EOS if we have no chains to use
	  There are not active and pending chains, if we get EOS we need to
	  inform the user via an error message

2017-10-20 18:40:02 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't double lock
	  The lock was already taken just before this block and is released after

2017-09-28 13:17:05 +0200  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: flush encoder in transition PAUSED->READY
	  https://bugzilla.gnome.org/show_bug.cgi?id=787311

2017-09-28 13:12:58 +0200  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: remove the lock from gst_video_encoder_flush
	  The lock is already taken before calling the flush method and can lead to
	  deadlock for some encoders that need to take the same lock from another
	  thread while flushing
	  https://bugzilla.gnome.org/show_bug.cgi?id=787311

2017-09-27 16:08:10 +0200  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: flush decoder in transition PAUSED->READY
	  https://bugzilla.gnome.org/show_bug.cgi?id=787311

2017-09-27 16:32:13 +0200  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: flush encoder in transition PAUSED->READY
	  https://bugzilla.gnome.org/show_bug.cgi?id=787311

2017-09-27 16:41:51 +0200  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: flush decoder in transition PAUSED->READY
	  https://bugzilla.gnome.org/show_bug.cgi?id=787311

2017-09-21 15:18:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* tests/check/libs/videoencoder.c:
	  videoencoder: implement QoS
	  It allows encoders to detect and drop input frames which are already
	  late to increase the chance of the pipeline to catch up.
	  The QoS logic and code is directly copied from gstvideodecoder.c.
	  https://bugzilla.gnome.org/show_bug.cgi?id=582166

2017-09-21 16:52:29 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/libs/videoencoder.c:
	  videoencoder test: properly name the encoder variable
	  The element is an encoder so calling it 'dec' makes things confusing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=582166

2017-10-16 14:16:31 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  doc: Add some missing/malformed Since markers

2017-10-15 10:29:20 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: improve readability in offset calculation
	  Don't reuse the offset variables will contain a sample offset for an
	  intermediate time value. Instead add a segment_pos variable of type
	  GstClockTime for this. Use The clock-time macros to check if we got
	  a valid time.

2017-10-05 20:48:59 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: move comment to the place it is meant to be
	  This probably got shifted after some changes.

2017-10-11 18:03:20 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	* gst-libs/gst/audio/audio-converter.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	  audioconvert: allow empty mix matrix
	  When an empty mix matrix is passed, audio-channel-mixer
	  will now generate a (potentially truncated) identity matrix,
	  this replicates the behaviour of audiomixmatrix in first-channels
	  mode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=788833

2017-10-11 22:14:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* win32/common/libgstpbutils.def:
	  Reorder win32 defs

2017-06-13 02:18:19 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* tools/gst-discoverer.c:
	  discoverer: output channel positions
	  https://bugzilla.gnome.org/show_bug.cgi?id=783722

2017-06-13 02:32:09 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* tools/gst-discoverer.c:
	  discoverer: output whether the uri is live
	  https://bugzilla.gnome.org/show_bug.cgi?id=783722

2017-06-13 02:25:31 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.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:
	* win32/common/libgstpbutils.def:
	  API: gst_discoverer_info_get_live
	  https://bugzilla.gnome.org/show_bug.cgi?id=783722

2017-06-13 01:40:44 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.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:
	* win32/common/libgstpbutils.def:
	  API: gst_discoverer_audio_info_get_channel_mask
	  https://bugzilla.gnome.org/show_bug.cgi?id=783722

2017-10-09 18:13:27 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Allow unpositioned channels.
	  The input will be treated as a set of mono channels,
	  and the channel-mapping-family will be set to 255
	  (no defined channel meaning)
	  https://bugzilla.gnome.org/show_bug.cgi?id=788720

2017-10-11 16:57:28 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: remove unused mix_matrix private field

2017-10-07 14:20:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsink.c:
	  tests: appsink: fix compiler warning and typo in struct name
	  elements/appsink.c:624:3: warning: missing braces around initializer
	  with gcc 4.8.4

2017-04-20 17:42:17 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	* gst-libs/gst/rtsp/gstrtspextension.h:
	  rtsp: Start implementing support for RTSP 2.0
	  Properly handle protocol version in the connection
	  Add the following headers types:
	  * Pipelined-Request
	  * Media-Properties
	  * Seek-Style
	  * Accept-Ranges
	  https://bugzilla.gnome.org/show_bug.cgi?id=781446

2017-10-05 17:54:34 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: remove buffer!=NULL check
	  Acording to the logic this cannot happen (we already check this before). So
	  add a assert like we do above and remove the check. This make it clearer that
	  we check for the offset range.
	  Also remove a dead assignment since we reassign this a few lines below.

2017-10-05 17:52:37 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggreator: update docs
	  Remove wrote references to collectpads. Document the units.

2017-10-04 14:17:59 +0200  Havard Graff <havard.graff@gmail.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: remove vs_module_defs
	  GST_EXPORT should handle it.

2017-10-05 14:28:42 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/video/meson.build:
	  meson: Add some missing args and dependencies in the gir generation

2017-10-05 08:11:29 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: pass blocksize to mix_buffer()
	  No need to recalc the value twice per run. Establishes that it is the same
	  value.

2017-10-05 08:12:45 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: rename _fill_buffer() to _queue_new_buffer()
	  It does not fill a buffer. Rename it and add a short comment.

2017-10-03 14:31:18 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/gstvideosink.c:
	* gst-libs/gst/video/video-color.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	  Use proper GtkDoc notation for NULL/FALSE/TRUE

2017-10-02 16:57:21 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: reduce variable scope
	  This is a non-functional change that makes the code more alike to the previous
	  check. I should be more obvious when we drop a buffer.

2017-10-02 09:40:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: update comment for aggregate
	  Replace collect-pads left-over. Remove first paragraph, we're not doing this.
	  Remove 3), 4) since this is not per pad.

2017-09-28 21:56:22 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst-libs/gst/audio/meson.build:
	  meson: Add mssing GstBase-1.0 include in the gir generation

2017-09-28 14:29:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audio.c:
	  audio: Fix unit test after changed GstAudioStreamAlign constructor signature

2017-09-13 16:23:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiostreamalign.c:
	* gst-libs/gst/audio/gstaudiostreamalign.h:
	* win32/common/libgstaudio.def:
	  audio: Add stream align API for getting timestamp at discont and number of samples since discont
	  https://bugzilla.gnome.org/show_bug.cgi?id=787560

2017-09-12 16:03:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiostreamalign.c:
	* tests/check/libs/audio.c:
	  audio: Add reverse playback support to GstAudioStreamAlign
	  https://bugzilla.gnome.org/show_bug.cgi?id=787560

2017-09-11 22:49:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiostreamalign.c:
	* gst-libs/gst/audio/gstaudiostreamalign.h:
	* gst-libs/gst/audio/meson.build:
	* tests/check/libs/audio.c:
	* win32/common/libgstaudio.def:
	  audio: Add helper object for audio discontinuity detection and sample alignment
	  This is the same code that is in decklinkaudiosrc, audioringbuffer,
	  audiomixer and various other places. Have it once instead of copying it
	  everywhere.
	  https://bugzilla.gnome.org/show_bug.cgi?id=787560

2017-09-25 10:42:33 +0530  Ponnam Srinivas <p.srinivas@samsung.com>

	* ext/alsa/gstalsasink.c:
	  alsasink: Fix Memory leak in payload not succuss case
	  https://bugzilla.gnome.org/show_bug.cgi?id=788114

2017-08-15 02:39:54 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	  audioconvert: [API]: expose mix-matrix property.
	  This obsoletes audiomixmatrix
	  https://bugzilla.gnome.org/show_bug.cgi?id=785471

2017-07-27 19:31:48 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  [API]: GST_AUDIO_CONVERTER_OPT_MIX_MATRIX
	  Taken from audiomixmatrix, credits to Vivia Nikolaidou
	  https://bugzilla.gnome.org/show_bug.cgi?id=785471

2017-08-15 01:29:57 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-channel-mixer.c:
	* gst-libs/gst/audio/audio-channel-mixer.h:
	* win32/common/libgstaudio.def:
	  [API]: gst_audio_channel_mixer_new_with_matrix
	  + Refactor previous constructor to call on that new constructor
	  + Reimplement is_passthrough to strictly check whether the matrix
	  is an identity matrix, comparing channel-masks was incorrect:
	  the mixer may be remixing from a list of positions to the same
	  list of positions, but ordered differently, and reciprocally,
	  the mixer may be remixing from a list of positions to another
	  list of positions identically ordered
	  + Remove unused tmp field, must have been a refactoring leftover
	  https://bugzilla.gnome.org/show_bug.cgi?id=785471

2017-08-15 00:20:40 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: refactor format removal.
	  remove_format_info was a bit confusing to read, this removes
	  it in favor of standard gst_caps_map_in_place calls.
	  This no longer simplifies the resulting caps, but I
	  consider this should be the job of basetransform.
	  https://bugzilla.gnome.org/show_bug.cgi?id=785471

2017-08-24 10:02:31 +0100  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/app/gstappsink.c:
	* tests/check/elements/appsink.c:
	  appsink: on drain wait for buffers to be consumed
	  So that an upstream element can claim all buffers to return to its buffer pool.
	  Added unit test 'test_query_drain'
	  make elements/appsink.check
	  https://bugzilla.gnome.org/show_bug.cgi?id=786739

2017-09-18 17:06:32 +0100  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/app/gstappsink.c:
	* tests/check/elements/appsink.c:
	  appsink: also clear preroll buffer in _pull_sample
	  If someone calls gst_app_sink_try_pull_sample they are
	  probably no longer interested in any preroll samples.
	  Useful if the user has not registered a preroll appsink callback.
	  Also added unit test 'test_do_not_care_preroll'
	  make elements/appsink.check
	  that fails without this patch.
	  https://bugzilla.gnome.org/show_bug.cgi?id=786740

2017-09-17 21:05:03 -0700  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix typo in comment

2017-09-10 20:55:07 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  tests: simplify audiomixer test
	  Use _link_many() and reuse a helper to reduce the test code.

2017-08-29 09:47:51 +0100  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/app/gstappsink.c:
	* tests/check/elements/appsink.c:
	  appsink: unref preroll buffer upon pull
	  There is no reason for appsink to hang onto the preroll buffer.
	  If needed, the application can just keep a ref on this buffer
	  after calling gst_app_sink_try_pull_preroll.
	  Also added unit test 'test_pull_preroll'
	  make elements/appsink.check
	  https://bugzilla.gnome.org/show_bug.cgi?id=786740

2017-09-13 14:06:43 +0100  Julien Isorce <jisorce@oblong.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: rename GstBuffer *preroll to preroll_buffer
	  priv->preroll can be confused with basesink_class->preroll
	  https://bugzilla.gnome.org/show_bug.cgi?id=786740

2017-09-10 16:32:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/playbin-complex.c:
	  tests: playbin-complex: skip test that needs oggdemux if it's not available
	  https://bugzilla.gnome.org/show_bug.cgi?id=773145

2017-09-06 13:55:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  Request minimum buffer even if need_pool is FALSE
	  When tee is used, it will not request a pool, but still it wants to
	  know how many buffers are required.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730758

2017-09-06 13:53:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  video-filter: Support allocation pool with pool object
	  This is used to indicate upstream the requirement in buffers
	  while no buffer pool can be provided. In this case, only
	  configure the pool with caps/size/min/max if we have caps,
	  which we only parsed when there was no allocation pool.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730758

2017-08-24 19:11:29 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	  video/affinetransformationmeta: use the provided doc comment for the struct

2017-08-20 12:09:52 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/playback/gstplaybin2.c:
	  playbin: ref_sink() sink rather than pointer to sink

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

	* README:
	* common:
	  Automatic update of common submodule
	  From 29046b8 to 3f4aa96

2017-08-11 20:53:21 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutilsprivate: fill more video fields.
	  __gst_video_element_proxy_caps is called by
	  __gst_video_element_proxy_getcaps with caps set to the caps
	  allowed downstream. As we didn't set colorimetry or
	  chroma-site on the resulting caps, upstream considered it
	  possible to use whatever values it wanted, leading to
	  not negotiated errors later on.
	  As the description for that function is:
	  "Takes caps and copies its video fields to tmpl_caps",
	  it seems legitimate to set these fields there.
	  https://bugzilla.gnome.org/show_bug.cgi?id=786172

2017-08-12 15:46:28 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: handle duration query only if the property was set
	  https://bugzilla.gnome.org/show_bug.cgi?id=786200

2017-08-09 16:23:03 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	* gst/playback/gsturisourcebin.c:
	  decodebin3/urisourcebin: Switch to actual EOS events internally
	  Use the intended sequence for re-using elements:
	  * EOS
	  * STREAM_START if element is to be re-used
	  This avoids having elements (such as queue/multiqueue/queue2) not
	  properly resetting themselves.
	  When delaying EOS propagation (because we want to wait until all
	  streams of a group are done for example), we re-trigger them by
	  first sending the cached STREAM_START and then EOS (which will
	  cause elements to re-set themselves if needed and accept new
	  buffers/events).
	  https://bugzilla.gnome.org/show_bug.cgi?id=785951

2017-08-10 14:00:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: hide symbols by default unless explicitly exported

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

	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	  pbutils: sprinkle more GST_EXPORT

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

	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/video/colorbalance.h:
	  libs: add some more missing GST_EXPORT

2017-08-09 12:26:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* tests/examples/meson.build:
	* tests/examples/snapshot/Makefile.am:
	* tests/examples/snapshot/meson.build:
	* tests/examples/snapshot/snapshot.c:
	  examples/snapshot: Does not need GTK but only gdk-pixbuf

2017-08-08 20:35:25 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: also adjust sample count upon discont to avoid ts overflow
	  Only adjusting the base_ts might lead to a negative ts and as such integer
	  overflow into a huge timestamp which then propagates into the granulepos
	  and so on.  Instead, resync to incoming buffer timestamp using both base_ts
	  and sample count rather than only base_ts.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=785948

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

	* docs/meson.build:
	* pkgconfig/meson.build:
	  meson: fix a few meson warnings

2017-07-24 13:56:16 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsink-src2.c:
	  examples: fix memory leaks in appsrc and appsrc2 examples
	  https://bugzilla.gnome.org/show_bug.cgi?id=785336

2017-08-07 15:27:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Make sure to ref_sink() any sinks before calling activate_sink()
	  It is forwarding messages to the playbin bus, thus forwarding messages
	  that contain a floating reference to the application. This generally
	  makes bindings unhappy, we must not leak floating references to them.

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

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: Stop parsing GPS coordinate if sscanf() fails
	  CID 1139610

2017-08-01 17:07:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: fix doc typos

2017-08-01 17:53:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Add out annotations to gst_app_src_get_latency()

2017-07-25 12:37:19 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Consider channel=1, channel-mask=0x0 as mono
	  channels=1 is always mono, having it 'unpositioned' does not make
	  sense.
	  This fixes pipeline such as:
	  gst-validate-1.0 audiotestsrc ! audio/x-raw,channels=2,rate=44100,layout=interleaved ! audioconvert ! audioresample ! audio/x-raw, rate=44100, channels=1 ! avenc_mp2 ! fakesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=785407

2017-07-23 13:26:23 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: use local var
	  Instead of the self->priv-> deref use the local var we created already.

2017-07-25 10:03:41 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideotimecode.h:
	  videotimecode: Add GST_VIDEO_TIME_CODE_INIT macro

2017-07-24 19:18:49 +0530  Satya Prakash Gupta <sp.gupta@samsung.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Unmap input frame if mapping output frame failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=785341

2017-07-24 16:48:17 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure we have an actually writable buffer when modifying metadata
	  avviddec keeps references to the buffers internally for example, in
	  which case we need to do a shallow copy of the buffer.

2017-07-24 16:29:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Don't crash if adding the timecode meta to a buffer failed

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

	* gst/subparse/gstssaparse.c:
	  ssaparse: Fix buffer leak in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=785331

2017-07-23 13:13:14 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: comment and formatting cleanups
	  Log a few more details. Update method comments. Remove some extra blank lines.

2017-04-07 20:41:57 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/videorate/gstvideorate.c:
	  videorate: flush remaining buffers on SEGMENT_DONE
	  Just as we do on EOS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784666

2017-07-19 23:05:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/fft/meson.build:
	  fft: don't generate g-i files for bindings
	  The g-i stuff for this helper lib was never usable from bindings
	  anyway and there are problems with the latest gobject-introspection,
	  so we might just as well remove the g-i integration entirely for
	  this lib.

2017-07-19 19:58:28 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: Remove FIXME and do remove_input_stream() only for the corresponding parsebin
	  Do not remove other parsebin's input streams. It will cause unexpected
	  removal of any input streams in multi-parsebin use case.
	  Basically, the purpose of blocking buffers is similar to checking
	  no-more-pads of chain/group. That is, it gives hint to know the timing
	  to remove old (EOSed) streams of the parsebin and to add/reuse slots
	  for new input streams. But, that doesn't mean that we need to remove
	  other parsebin's EOSed stream. Each parsebin has most likely its
	  own streaming thread and therefore EOSed time can be much different.
	  (i.e., much early EOS of subtitle only parsebin)
	  https://bugzilla.gnome.org/show_bug.cgi?id=785120

2017-07-19 18:47:29 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Ensure StreamType and Caps of GstStream object before exposing it
	  The final StreamType and Caps might not be set yet on GstStream at exposing the pads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=785120

2017-07-19 13:39:52 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Delay linking text output until video stream is shown
	  We are not sure that which stream's collection arrives first
	  when there are multiple parsebins such as adaptive streaming.
	  https://bugzilla.gnome.org/show_bug.cgi?id=785120

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

	* tests/check/elements/appsrc.c:
	  tests: appsrc: fix leaks in new unit test

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

	* gst/encoding/gstencodebin.c:
	  encodebin: fix possible pad ref leak in error code path
	  https://bugzilla.gnome.org/show_bug.cgi?id=785065

2017-07-18 00:29:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.h:
	  audio: mark symbols explicitly for export with GST_EXPORT

2017-07-18 13:04:09 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: We only care about source pads going away

2017-07-18 11:34:22 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3-parse.c:
	  decodebin3: use lock macro where applicable

2017-06-15 12:48:42 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Protect fields related to streams handling with the SELECTION_LOCK
	  Fields related to stream handling (input_streams,
	  output_streams, slots, guint slot_id) where used totally unprotected
	  until know.
	  This lead to several races, especially playing back RTSP streams.
	  To protect those fields, the OBJECT_LOCK can not be used as we sometimes
	  need to be able to post message on the bus while holding it.
	  decodebin3 already has a lock to manage stream selection, and in the end
	  it makes sense to protect all the stream management fields with the same
	  lock which is why we reuse the SELECTION_LOCK here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784012

2017-07-13 17:39:58 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Protect dbin->collection usage
	  Use the selection lock to protect dbin->collection access
	  https://bugzilla.gnome.org/show_bug.cgi?id=784012

2017-07-15 21:28:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  tests: audiomixer: set all properties at once

2017-07-15 21:27:29 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  tests: adder: set all properties at once

2017-07-15 19:43:52 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/adder.c:
	  tests: adder: add helper to create buffers
	  Keeps repeated code out of the test and syncs it with the audiomixer test.

2017-07-15 19:33:21 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  tests: audiomixer: use the buffer helper for other tests too

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

	* meson.build:
	* po/meson.build:
	  meson: add translations

2017-07-14 13:54:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: document caps negotiation raciness
	  Until we land conversion support in audioaggregator (#773762).
	  https://bugzilla.gnome.org/show_bug.cgi?id=777915

2017-07-14 13:48:53 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/adder/gstadder.c:
	  adder: fix docs typo

2017-07-14 13:40:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/adder/gstadder.c:
	  adder: document caps negotiation raciness and workaround
	  https://bugzilla.gnome.org/show_bug.cgi?id=777915

2017-07-14 08:09:25 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  audiomixer: add a helper for buffer creation
	  This makes the test setup easier to read.

2017-07-13 21:55:55 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  aggregator: code cleanups
	  Fix comment typos, some copy'n'paste in logging. Add more doc comments.

2017-07-13 21:54:55 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  audiomixer: use test helper once more

2017-06-06 07:45:08 +0200  Edward Hervey <edward@centricular.com>

	  playback example: Prettify time reporting for big values
	  When dealing with streams/contents which have large duration, it is
	  more user-friendly to show more details in the high values (hours or days)
	  than in the microseconds.
	  This patch will use the following formatting schemes:
	  * Below 1hour   : MM:SS.SSS
	  * Below 24hours : HHhMMmSSs
	  * Above         : DDdHHhMMm

2017-01-25 19:51:17 +0900  Seungha Yang <sh.yang@lge.com>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Push EOS to output stream if they are all drained
	  decodebin3 checks input streams and pushes EOS if all input streams
	  are EOSed. If not, fake EOS is pushed to the corresponding slot.
	  When adaptivedemux is used with multi-track configuration,
	  adaptivedemux never ever push EOS to non-selected track
	  because streaming thread for the slot stops with not-linked flow return.
	  So, decodebin3 should generate EOS itself to finish playback.
	  https://bugzilla.gnome.org/show_bug.cgi?id=777735

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

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Push EOS if slot is still eos state
	  linked input of slot can be old input, so urisourcebin should check
	  eos state to figure out whether it's new one or not.
	  If not, urisourcebin never ever forwards EOS to downstream at the end
	  of presentation, because the old input is still there without removal
	  https://bugzilla.gnome.org/show_bug.cgi?id=777735

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

	* gst/playback/gstdecodebin3.c:
	  decodebin3: Don't send duplicated stream-start event
	  group-id in stream-start event might be updated in
	  parse_chain_output_probe (). This cause duplicated stream-start
	  twice with identical stream-id and seq-num, but only group-id is
	  different. Although there is no change, stream-start event will
	  be followed by the first buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771088

2017-07-10 21:08:09 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  audiomixer: more test cleanups
	  Port over the test helpers from the adder tests.

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

	* tests/check/elements/adder.c:
	  adder: sync some fixes from the audiomixer test

2017-07-10 20:16:10 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audiomixer.c:
	  audiomixer: refactor test
	  Apply cleanups from the adder tests. Use a fixture for common code.

2017-06-12 22:57:26 -0400  Aaron Boxer <boxerab@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Detect JPEG2000 codestreams
	  https://bugzilla.gnome.org/show_bug.cgi?id=783625

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

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

2017-07-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-03 21:08:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/elements/appsrc.c:
	  test-appsrc: Test state when blocked in caps Event
	  In GStreamer 1.12 and older, the GstBaseSrc live lock used to be held while
	  create() virtual function was called. As appsrc pushes serialized event in
	  that virtual function, we ended up with some deadlock while setting the
	  state to NULL. This test simulates this situation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783301

2017-06-27 02:21:22 +0200  Mathieu Duponchelle <mathieu.duponchelle@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: aggregate topology messages
	  This makes it possible for GstDiscoverer to work with sources that
	  have multiple source pads and hence will trigger the creation of multiple
	  decodebin instances such as rtspsrc.
	  Based on the work of Vineeth TM <vineeth.tm@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=754178

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

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

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: adjust a valid text buffer duration to fall within segment
	  ... as expected later on when end time is used to determine end running time.
	  Otherwise the latter is determined as NONE and the resulting text buffer is
	  then used indefinitely.

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

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: make debug statement more informative

2017-06-29 09:02:20 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Simplify the are_raw_caps function
	  Remove unnecessary if statement in are_raw_caps function.
	  we can use result returned by gst_caps_can_intersect quite simple.
	  https://bugzilla.gnome.org/show_bug.cgi?id=784312

2017-06-23 16:18:43 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	  meson: Allow using glib as a subproject

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

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

2017-06-24 22:03:21 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst/subparse/gstsubparse.c:
	  subparse: ensure serialized sending of segment event at proper time

2017-06-15 11:21:13 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Handle newly added GstStateChange values
	  https://bugzilla.gnome.org/show_bug.cgi?id=783798

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-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-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-08 12:35:23 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst/encoding/gstencodebin.c:
	  encodebin: Don't try rate adjustment before the first buffer
	  With both audiorate and videorate, it seems more sensible to apply rate
	  adjustments after the first buffer appears. For example, with v4l2src,
	  there is often a small delay before the first video buffer turns up, and
	  this can cause a stuttery start because of videorate trying to ensure a
	  perfect stream.

2017-06-08 12:34:24 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst/encoding/gstencodebin.c:
	  encodebin: Don't set audiorate property before NULL check

2017-06-07 11:41:05 -0400  Thibault Saunier <thibault.saunier@osg.samsung.com>

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

2017-06-06 11:08:00 +0530  Arun Raghavan <arun@arunraghavan.net>

	* gst-libs/gst/video/navigation.c:
	  navigation: Add some validation while sending key/mouse events
	  https://bugzilla.gnome.org/show_bug.cgi?id=783330

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-05 23:57:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/libvisual/meson.build:
	* meson.build:
	  meson: use dep.get_pkgconfig_variable()
	  instead of calling pkg-config ourselves.

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: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-06-01 17:02:24 +0200  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstallocators.def:
	* win32/common/libgstapp.def:
	* win32/common/libgstaudio.def:
	* win32/common/libgstpbutils.def:
	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	* win32/common/libgstvideo.def:
	  Revert "update def files"
	  This reverts commit 2e6dba811437e31af7e6071efe03b6e3751b2289.

2017-06-01 16:40:40 +0200  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstallocators.def:
	* win32/common/libgstapp.def:
	* win32/common/libgstaudio.def:
	* win32/common/libgstpbutils.def:
	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	* win32/common/libgstvideo.def:
	  update def files

2017-05-31 12:30:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: Set a time limit on "upstream" multiqueues"
	  This reverts commit 07dc9ba0712c26be86f031fb6f77bee177cbb828. It causes
	  timeouts in validate because queues run full before prerolling.

2017-01-17 13:52:20 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Set a time limit on "upstream" multiqueues
	  Those multiqueue are the ones dealing with adaptive demuxers. They should
	  have a time limit set so that they don't end up buffering too much data.
	  They would previously be set with no limits at all, which would cause them
	  to grow indefinitely until downstream blocks.

2017-05-31 00:15:46 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  gst-discoverer: use state changes instead of ASYNC_DONE.
	  And monitor no_more_pads.
	  With live sources such as rtsp, uridecodebin only creates its
	  child decodebins between PAUSED and PLAYING.
	  This means that the ASYNC_DONE it posts when getting NO_PREROLL
	  in its change_state method gets immediately propagated by the
	  GstBin parent class, as opposed to a situation where a
	  decodebin has been added to it already, and has posted ASYNC_START.
	  The proposed solution, instead of simply waiting for ASYNC_DONE,
	  and finishing prematurely in that case, waits for three conditions
	  to be true:
	  * the uridecodebin needs to have emitted no_more_pads
	  * its current state must be PAUSED if not live, PLAYING otherwise
	  * There must be no "pending subtitle pads", ie pads where we haven't
	  received tags yet.
	  All these conditions are checked in the message handler, as we
	  post custom messages on it when we get subtitle tags or no_more_pads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=783257

2017-05-29 13:44:01 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  oggdemux: fix artifacts at chain boundaries
	  https://bugzilla.gnome.org/show_bug.cgi?id=782132

2017-05-26 18:02:12 +0200  Edward Hervey <edward@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Handle failure to multiply fractions
	  And set PAR back to the default value of 1:1
	  CID #1409851

2017-05-05 12:48:41 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	  oggdemux: fix clipping more samples than exist in the first packet
	  This can happen in Opus (and maybe other codecs ?), and would cause
	  failure to play.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782157

2017-05-22 23:06:01 +0200  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiomixer.c:
	  tests: Make audiomixer test_clip verify the resulting timestamps too

2017-05-23 00:52:27 +0200  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiointerleave.c:
	  tests: audiointerleave: Remove drain with manual clock
	  Now that the queries go onto the queue, you may need to pull the crank
	  in order for them to be processed, making this test difficult.

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-20 19:00:23 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	  audioaggregate: Don't hold object locks across calls to aggregate_one
	  https://bugzilla.gnome.org/show_bug.cgi?id=782878

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

	* gst-libs/gst/pbutils/gstpluginsbaseversion.h.in:
	  pbutils: fix stand-alone version header include
	  Include gst headers for GST_EXPORT.

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

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

2017-05-20 17:59:19 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Use downstream allocator and params if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=746529

2017-05-21 12:34:08 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  textoverlay: optionally scale text to ensure proper display text aspect ratio
	  ... by prescaling with an inverse aspect scaling as applied by video scaling

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

	* tests/check/meson.build:
	  meson: only check for c++ compiler once

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

	* meson.build:
	* tests/check/meson.build:
	* tests/examples/overlay/meson.build:
	  meson: make C++ compiler optional
	  It's only used to check our headers are C++ clean and
	  for the Qt example.

2017-05-20 17:47:04 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiointerleave.h:
	  audiointerleave: Take object lock while modifying channel count

2017-01-10 15:59:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't queue frames in TRICKMODE_KEY_UNITS
	  When the input is TRICKMODE_KEY_UNITS, we expect to only receive keyframes
	  which we want to decode/push immediately. Therefore don't queue them.
	  If upstream didn't send just keyframes (which is the ideal situation), two
	  different things can happen:
	  1) Either the subclass checks the segment flags and properly configures
	  the decoder implementation to only decode/output keyframes,
	  2) Or the subclass really decodes and outputs everything, in which case
	  the reverse frames will end up arriving "late" downstream (and will
	  be dropped). If upstream did properly send GOP in reverse order, we
	  still end up just showing keyframes (but at the overhead of decoding
	  everything).
	  https://bugzilla.gnome.org/show_bug.cgi?id=777094

2017-04-04 13:19:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: stop copying buffers in drop-only mode
	  gst_video_rate_flush_prev() ensures that the pushed buffer is writable
	  by calling gst_buffer_make_writable() on videorate->prevbuf.
	  In drop-only mode we always push buffers directly when they are received
	  from GstBaseTransform (gst_video_rate_transform_ip()) and do not keep them
	  around. GstBaseTransform already ensures that those buffers are
	  writable so there is no need to do it twice.
	  This change saves us from copying buffers in drop-only mode as we no longer
	  calls gst_buffer_make_writable() with a buffer having a refcount of 2
	  (one ref owned by GstBaseTransform and one in videorate->prevbuf).
	  https://bugzilla.gnome.org/show_bug.cgi?id=780767

2017-04-04 13:16:42 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: factor out gst_video_rate_push_buffer()
	  No semantic change, just factor out this function from
	  gst_video_rate_flush_prev().
	  I'm about to use it to change the 'drop-only' code path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=780767

2017-05-20 15:56:16 +0200  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.h:
	  aggregator: Remove unused GST_FLOW_NOT_HANDLED

2017-05-20 14:24:57 +0200  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiointerleave.h:
	* gst/audiomixer/gstaudiomixer.c:
	* tests/check/elements/audiointerleave.c:
	  aggregator: add simple support for caps handling
	  Modelled off the videoaggregator caps handling as that seems the most
	  mature aggregtor-using implementation that has caps handling there is.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776931

2016-07-06 16:39:17 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  aggregator: Delay clipping to output thread
	  This is required because the synchronized events like caps or segments
	  may only be processed on the output thread.
	  https://bugzilla.gnome.org/show_bug.cgi?id=781673

2016-07-06 16:41:44 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  aggregator: Simplify clip function
	  The return value was ignored anyway
	  https://bugzilla.gnome.org/show_bug.cgi?id=781673

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

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

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

	* tests/check/libs/videodecoder.c:
	  Fix unit test for videodecoder now outputting mono multiview by default

2017-03-24 11:43:06 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Output mono multiview caps if none specified
	  Always put multiview-caps onto the output caps, assuming
	  mono if we've got no other information. It's still easy for
	  downstream elements to override using a capssetter or event
	  probe if desired.
	  https://bugzilla.gnome.org/show_bug.cgi?id=776172

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-18 13:13:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  Revert "discoverer: Consider parent/child streams the same if they have caps with the same name"
	  This reverts commit 478b7a8eb49d285c3ff0b73e1fe2929b9418be91.
	  video/mpeg,systemstream=true / false distinguishes between container and
	  elementary stream.

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

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Consider parent/child streams the same if they have caps with the same name
	  Child streams could have more accurate width/height or various other
	  information added. If they have the same name, they are likely to be the
	  same streams.
	  https://bugzilla.gnome.org/show_bug.cgi?id=782697

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().

2017-05-17 14:44:59 +0530  vijay <vijay.palaniswamy@in.bosch.com>

	* ext/alsa/gstalsa.c:
	  alsa: Add mapping for PCM F32/F64 formats
	  Fix enables float pcm formats for both the alsasrc and alsasink
	  https://bugzilla.gnome.org/show_bug.cgi?id=782695

2017-05-15 19:47:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimagepool.c:
	  gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
	  https://bugzilla.gnome.org/show_bug.cgi?id=743062

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

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: Sink the reference in the constructor
	  This is now needed as GstClock does not do that internally anymore,
	  because that broke bindings.
	  And mark the function correctly as (transfer full), which it already was
	  before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743062

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

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	  allocators: Annotate constructors with (transfer floating)
	  GstAllocator is a GstObject and as such uses floating references.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702960

2017-04-28 23:03:22 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/alsa/gstalsa.h:
	  alsasink: Accept MPEG 1 layer 3 version 2.5
	  https://bugzilla.gnome.org/show_bug.cgi?id=781929

2017-04-28 23:02:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Accept MPEG 1 layer 3 version 2.5
	  https://bugzilla.gnome.org/show_bug.cgi?id=781929

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

	* gst/audiomixer/Makefile.am:
	  Remove plugin specific static build option
	  Static and dynamic plugins now have the same interface. The standard
	  --enable-static/--enable-shared toggle are sufficient.

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

	* configure.ac:
	* ext/alsa/Makefile.am:
	* ext/cdparanoia/Makefile.am:
	* ext/libvisual/Makefile.am:
	* ext/ogg/Makefile.am:
	* ext/opus/Makefile.am:
	* ext/pango/Makefile.am:
	* ext/theora/Makefile.am:
	* ext/vorbis/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/pbtypes/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/rawparse/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:
	  Remove plugin specific static build option
	  Static and dynamic plugins now have the same interface. The standard
	  --enable-static/--enable-shared toggle are sufficient.

2017-05-16 01:09:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/colorbalancechannel.h:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/gstvideotimecode.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/navigation.h:
	* gst-libs/gst/video/video-blend.h:
	* gst-libs/gst/video/video-chroma.h:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-dither.h:
	* gst-libs/gst/video/video-event.h:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-multiview.h:
	* gst-libs/gst/video/video-overlay-composition.h:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.h:
	* gst-libs/gst/video/video-tile.h:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/video_mkenum.py:
	* gst-libs/gst/video/videodirection.h:
	* gst-libs/gst/video/videoorientation.h:
	* gst-libs/gst/video/videooverlay.h:
	  video: mark symbols explicitly for export with GST_EXPORT

2017-05-16 01:03:45 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/gsttagmux.h:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tag_mkenum.py:
	* gst-libs/gst/tag/xmpwriter.h:
	  tag: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:25:51 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdp: mark symbols explicitly for export with GST_EXPORT

2017-05-16 01:02:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* gst-libs/gst/rtsp/gstrtspdefs.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:
	* gst-libs/gst/rtsp/rtsp_mkenum.py:
	  rtsp: mark symbols explicitly for export with GST_EXPORT

2017-05-16 01:00:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* gst-libs/gst/rtp/gstrtphdrext.h:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	* gst-libs/gst/rtp/rtp_mkenum.py:
	  rtp: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:57:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/riff/riff-media.h:
	* gst-libs/gst/riff/riff-read.h:
	  riff: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:55:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/codec-utils.h:
	* gst-libs/gst/pbutils/descriptions.h:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstaudiovisualizer.h:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/pbutils/missing-plugins.h:
	* gst-libs/gst/pbutils/pbutils.h:
	* gst-libs/gst/pbutils/pbutils_mkenum.py:
	  pbutils: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:46:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/app_mkenum.py:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  app: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:45:47 +0100  Tim-Philipp Müller <tim@centricular.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: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:45:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channel-mixer.h:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/audio-quantize.h:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/audio_mkenum.py:
	* 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/gstaudioiec61937.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:
	* gst-libs/gst/audio/streamvolume.h:
	  audio: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:30:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/allocators/gstdmabuf.h:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  allocators: mark symbols explicitly for export with GST_EXPORT

2017-05-16 00:21:57 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/ext/.gitignore:
	* gst-libs/ext/Makefile.am:
	  gst-libs: Remove empty ext subdir

2017-05-15 16:20:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	  rtpbasedepayload: fix class description in docs

2017-05-11 11:12:52 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/examples/audio/volume.c:
	  examples: fix element leak in volume example

2017-05-11 10:59:21 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/examples/playback/playback-test.c:
	  playback-test: guard against crash on failure to create pipeline
	  It can happen when giving incorrect parameters (ie, a URI when
	  expecting a pipeline, etc)

2017-05-04 23:55:20 +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:
	* meson.build:
	  g-i: no need to load registry in g-i scanner

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

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

=== release 1.12.0 ===

2017-05-04 15: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-03-08 15:01:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	  docs: Port all docstring to gtk-doc markdown

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-31 23:40:05 +1300  Douglas Bagnall <douglas@halo.gen.nz>

	* gst/audiomixer/gstaudiointerleave.c:
	  audiointerleave: don't overflow channel map with >64 channels
	  When there are more than 64 channels, we don't want to exceed the
	  bounds of the ordering_map buffer, and in these cases we don't want to
	  remap at all. Here we avoid doing that.
	  Based on a patch originally for plugins-good/interleave in
	  https://bugzilla.gnome.org/show_bug.cgi?id=780331

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-27 09:08:41 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  Fix incorrect return type in several functions
	  All these should return GstFlowReturn, not gboolean

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 21:21:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/audiomixer/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>
	  Matej Knopp <matej.knopp@gmail.com>
	  Jussi Pakkanen <jpakkane@gmail.com> (original port)
	  Highlights of the features provided are:
	  * Faster builds on Linux (~40-50% faster)
	  * The ability to build with MSVC on Windows
	  * Generate Visual Studio project files
	  * Generate XCode project files
	  * Much faster builds on Windows (on-par with Linux)
	  * Seriously fast configure and building on embedded
	  ... and many more. For more details see:
	  http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
	  http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
	  Building with Meson should work on both Linux and Windows, but may
	  need a few more tweaks on other operating systems.

2016-08-12 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 10:31:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/audiomixer.c:
	  tests: fix bus leak
	  gst_bus_remove_signal_watch() has to be called to release the ref
	  taken by gst_bus_add_signal_watch().
	  https://bugzilla.gnome.org/show_bug.cgi?id=768843

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-05-19 11:19:20 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/audiomixer.c:
	  fix event leaks in tests
	  The events are supposed to be unreffed when finishing the test, not
	  reffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

2016-05-19 11:19:01 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/audiointerleave.c:
	  audiointerleave: fix message leaks by flushing the bus
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

2016-05-19 11:16:37 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix buffer leak
	  If the pad was still owning a buffer when being destroyed it was leaked.
	  Fix a leak with the test_flush_start_flush_stop test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766663

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-04 15:50:26 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiomixer.c:
	  bad: use new gst_element_class_add_static_pad_template()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763081

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-16 18:56:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	* gst-libs/gst/audio/gstaudioaggregator.h:
	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/gstaudiointerleave.h:
	* gst/audiomixer/gstaudiomixer.h:
	  audio: Move audioaggregator base class to a library
	  It's useful enough already to be used in other elements for audio aggregation,
	  let's give people the opportunity to use it and give it some API testing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760733

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 11:09:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/audiomixer/gstaudiomixer.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-24 00:20:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audiomixer: register function name for debugging just once
	  Not every time aggregate is called...

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 19:40:28 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Improve log messages
	  Make the level of log messages saner and improve some.

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-26 19:58:04 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  liveadder: Make latency property be a uint in millisecs
	  This restores roughly the same behaviour as the old liveadder element.
	  Except that the latency now also includes the output-buffer-duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757050

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-10-12 09:36:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  liveadder: latency property is an uint64 in audiomixer

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-10-05 00:55:36 +0100  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  liveadder: Remove plugin, replace by compat subclass of audiomixer
	  New subclass with a similar behaviour as the old liveadder, but
	  a slightly different API as the latency is in nanoseconds, not
	  milliseconds. Also, the new liveadder has a effective latency that
	  is latency + output-buffer-duration. In practice, just setting a non-zero
	  latency with the new audiomixer gives you the right behavior in 99% of the
	  cases.

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-07 08:48:15 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Fix build error
	  Build error due to wrong argument type in debug message
	  aagg->priv->offset and next_offset are of type int64, but uint64
	  formatter is being used in logs. Changing all those to int64
	  https://bugzilla.gnome.org/show_bug.cgi?id=756065

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-09-30 19:01:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Select the initial offset based on the start segment position
	  instead of always using 0. Otherwise we might output a lot of silence in the
	  beginning instead of outputting from the relevant position.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755623

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-30 13:13:19 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/elements/audiointerleave.c:
	  audiointerleave: typecast bit-mask to guint64 to fix segmentation fault
	  While creating caps in audiointerleave tests, bitmask is being set as 0x9
	  This is resulting in segmentation fault. Fix the same by typecasting to guint64
	  https://bugzilla.gnome.org/show_bug.cgi?id=755840

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-26 10:21:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audiomixer: fix deadlock when G_DISABLE_ASSERT is not defined
	  This makes the audiomixer unit test time out in master.
	  Broke with 587e7c4

2015-09-26 00:17:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Stop using deprecated gst_segment_to_position()

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 18:00:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Only skip the remaining part of a GAP buffer
	  We might've queued up a GAP buffer that is only partially inside the current
	  output buffer (i.e. we received it too late!). In that case we should only
	  skip the part of the GAP buffer that is inside the current output buffer, not
	  also the remaining part. Otherwise we forward this pad too far into the future
	  and break synchronization.

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-18 00:20:13 +1000  Jan Schmidt <jan@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  Don't throw compiler warnings with G_DISABLE_ASSERT
	  Disable code that warns about unused variables when G_DISABLE_ASSERT
	  is defined, as it is in tarballs and pre-releases.

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-11 21:37:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Fix mixup of running times and segment positions
	  We have to queue buffers based on their running time, not based on
	  the segment position.
	  Also return running time from GstAggregator::get_next_time() instead of
	  a segment position, as required by the API.
	  Also only update the segment position after we pushed a buffer, otherwise
	  we're going to push down a segment event with the next position already.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753196

2015-09-11 16:56:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Use stream time in the position query instead of segment position
	  https://bugzilla.gnome.org/show_bug.cgi?id=753196

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-21 16:44:43 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* tests/check/elements/audiomixer.c:
	  tests: audiomixer: remove duplicated word in comment
	  https://bugzilla.gnome.org/show_bug.cgi?id=753915

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-02 18:37:28 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiointerleave.c:
	  tests: Add audiointerleave test to show that queuing works
	  This tests fails without the queuing patch because incoming buffers are
	  not delivered before they are needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

2015-07-02 18:33:43 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiointerleave.c:
	  audiointerleave: Avoid caps processing if not yet negotiated
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

2015-03-16 17:06:46 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: On timeout, resync pads with not enough data
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

2015-03-06 19:50:08 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  aggregator: Queue "latency" buffers at each sink pad.
	  In the case where you have a source giving the GstAggregator smaller
	  buffers than it uses, when it reaches a timeout, it will consume the
	  first buffer, then try to read another buffer for the pad. If the
	  previous element is not fast enough, it may get the next buffer even
	  though it may be queued just before. To prevent that race, the easiest
	  solution is to move the queue inside the GstAggregatorPad itself. It
	  also means that there is no need for strange code cause by increasing
	  the min latency without increasing the max latency proportionally.
	  This also means queuing the synchronized events and possibly acting
	  on them on the src task.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

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 19:27:19 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Register function name
	  Otherwise, it sometimes segfaults with debugging enabled

2015-07-22 19:26:42 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Use 1.0 style buffer allocation

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-05-19 16:08:08 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/audiomixer/gstaudioaggregator.c:
	* tests/check/elements/audiomixer.c:
	  audioaggregator: Sync pad values before aggregating
	  We need to sync the pad values before taking the aggregator and pad locks
	  otherwise the element will just deadlock if there's any property changes
	  scheduled using GstController since that involves taking the aggregator and pad
	  locks.
	  Also add a test for this.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749574

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-21 20:52:23 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Read output buffer duration with lock held

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:37:36 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: fix misleading documentation copied from adder

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

2015-06-07 10:55:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixerorc-dist.c:
	  Release 1.5.1

=== 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 15:45:13 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiointerleave.c:
	  tests: audiointerleave: test not setting positions
	  Disable "channel-positions-from-input", but without actually giving
	  a position table, so every position should be NONE

2015-06-02 15:44:57 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiointerleave.c:
	  tests: Fix indentation in audiointerleave test

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-06-01 19:43:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiointerleave.c:
	  audiointerleave: Always have "channels" be the actual pad count
	  Don't force it anywhere
	  https://bugzilla.gnome.org/show_bug.cgi?id=750252

2015-06-01 19:42:49 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiointerleave.c:
	  audiointerleave: Use the channel count from the set caps
	  This is the same number that was used to allocate the buffer

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:16:32 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiomixer/gstaudiomixer.c:
	  Revert "doc: Workaround gtkdoc issue"
	  This reverts commit ff6c736fe08e01f4320c4b02e811a0b57cf97cc1.
	  This is fixed by the gtk-doc 1.23 release.
	  <para> cannot contain <refsect2>:
	  http://www.docbook.org/tdg/en/html/para.html
	  http://www.docbook.org/tdg/en/html/refsect2.html

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:38:14 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/audiomixer/gstaudiomixer.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-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 16:20:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/elements/audiomixer.c:
	  tests: fix type mismatch in varargs passing
	  A bitmask is 64 bits, but integer immediates are passed as int
	  in varargs, which happen to be 32 bit with high probability.
	  This triggered a valgrind jump-relies-on-uninitalized-value
	  report well away from the site, since it doesn't trigger on
	  stack accesses, and there must have been enough zeroes to stop
	  g_object_set at the right place.

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-04-01 20:32:41 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	* tests/check/elements/audiomixer.c:
	  audiomixer: Allow downstream caps with a non-default channel-mask
	  Instead of failing, take the downstream channel mask if the channel
	  count is 1.

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 16:18:22 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: check sink caps are valid

2015-03-24 16:17:00 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  Revert "audioaggregator: check sink caps are valid"
	  This reverts commit 6d4d0d1cdf7c7531fbf72ce39e1eab1260d20550.
	  Never put code with side effects into an assertion, it can be compiled out

2015-03-24 15:45:25 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: check sink caps are valid
	  CID #1291622

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.

2014-11-13 20:39:11 -0500  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiointerleave.c:
	  audiointerleave: Add unit tests
	  Almost a copy of the "interleave" unit tests, improved to support
	  the thread on the src pad on GstAggregator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

2015-03-06 13:49:48 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiointerleave.h:
	  audiointerleave: Set src caps in aggregate
	  This prevents races between the setcaps of the sink pads
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

2014-11-13 15:40:15 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/gstaudiointerleave.c:
	* gst/audiomixer/gstaudiointerleave.h:
	* gst/audiomixer/gstaudiomixer.c:
	  audiointerleave: Add interleave element based on audioaggregator
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

2015-03-06 16:51:12 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Print a message when a buffer is late
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

2014-11-15 17:54:51 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudioaggregator.c:
	  audioaggregator: Don't re-send the caps if they did not change
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

2014-11-06 17:15:17 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/gstaudioaggregator.c:
	* gst/audiomixer/gstaudioaggregator.h:
	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	  audioaggregator: Split base class from audiomixer
	  Also:
	  -  Don't modify size on early buffer
	  The size is the size of the buffer, not of remaining part.
	  - Use the input caps when manipulating the input buffer
	  Also store in in the sink pad
	  - Reply to the position query in bytes too
	  - Put GAP flag on output if all inputs are GAP data
	  - Only try to clip buffer if the incoming segment is in time or samples
	  - Use incoming segment with incoming timestamp
	  Handle non-time segments and NONE timestamps
	  - Don't reset the position when pushing out new caps
	  - Make a number of member variables private
	  - Correctly handle case where no pad has a buffer
	  If none of the pads have buffers that can be handled, don't claim to be EOS.
	  - Ensure proper locking
	  - Only support time segments
	  https://bugzilla.gnome.org/show_bug.cgi?id=740236

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-07 22:08:40 -0500  Olivier Crête <olivier.crete@ocrete.ca>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Release pad object lock before dropping buffer
	  Otherwise, the locking order is violated and deadlocks happen.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

2015-03-06 20:22:13 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Only ignore pads with no buffers on timeout
	  When the timeout is reached, only ignore pads with no buffers, iterate
	  over the other pads until all buffers have been read. This is important
	  in the cases where the input buffers are smaller than the output buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

2015-03-06 20:25:03 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Only advance by the buffer size when a buffer is late
	  https://bugzilla.gnome.org/show_bug.cgi?id=745768

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 17:11:31 +0000  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Fix discont detection and buffer alignment code
	  Actually accumulate the sample counter to check the accumulated error
	  between actual timestamps and expected ones instead of just resetting
	  the error back to 0 with every new buffer.
	  Also don't reset discont_time whenever we don't resync. The whole point of
	  discont_time is to remember when we first detected a discont until we actually
	  act on it a bit later if the discont stayed around for discont_wait time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746032

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-12 01:49:58 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Add locking to fill_buffer and fix mix_buffer
	  The audiomixer pad struct fields may be changed from other threads

2015-03-12 01:56:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	  audiomixer: Mark a discont when we receive a new segment event
	  This allows us to handle new segment events correctly; either by dropping
	  buffers or inserting silence; for example if the offset is changed on an srcpad
	  connected to audiomixer.

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 13:16:03 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  Revert "audiomixer: Latency is twice the output buffer duration, not only once"
	  This reverts commit d387cf67df91b59540f32ee17b4c02f747969add.
	  The analysis was wrong: The first 20ms of latency are introduced by the source
	  already and put into the latency query, making it only necessary to cover the
	  additional 20ms of audiomixer inside audiomixer.

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 20:03:55 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Latency is twice the output buffer duration, not only once
	  Let's assume a source that outputs outputs 20ms buffers, and audiomixer having
	  a 20ms output buffer duration. However timestamps don't align perfectly, the
	  source buffers are offsetted by 5ms.
	  For our ASCII art picture, each letter is 5ms, each pipe is the start of a
	  20ms buffer. So what happens is the following:
	  0   20  40  60
	  OOOOOOOOOOOOOOOO
	  |   |   |   |
	  5   25  45  65
	  IIIIIIIIIIIIIIII
	  |   |   |   |
	  This means that the second output buffer (20 to 40ms) only gets its last 5ms
	  at time 45ms (the timestamp of the next buffer is the time when the buffer
	  arrives). But if we only have a latency of 20ms, we would wait until 40ms
	  to generate the output buffer and miss the last 5ms of the input buffer.

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-13 16:06:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: use new gst_aggregator_pad_drop_buffer()

2015-02-12 15:48:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/audiomixer.c:
	  tests: remove GST_DISABLE_PARSE guards from two tests that don't require it

2015-02-12 11:26:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: calculate stream_time used to sync pad values correctly
	  Use pad (input) segment to calculate the stream time from the
	  input timestamp, not the aggregator (output) segment.

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 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.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-05 15:57:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.h:
	  audiomixer: remove now-unused base_time field in object structure

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:23:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/audiomixer.c:
	  tests: audiomixer: add unit test for proper segment.base handling
	  As adjusted by gst_pad_set_offset(), or when doing segment seeks
	  or looping for example. See previous audiomixer commit.

2015-02-05 16:02:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Remove weird and wrong segment handling
	  There's no reason why audiomixer should override the segment
	  base of upstream with whatever value it got from a SEEK event,
	  or even worse... with 0 if there was no SEEK event yet. This
	  broke synchronization if upstream provided a segment base other
	  than 0, e.g. when using pad offsets.
	  Also that this code did things conditional on the element's state
	  should've been a big warning already that something is just wrong.
	  If this breaks anything else now, let's fix it properly :)
	  Also don't do fancy segment position trickery when receiving a
	  segment event. It's just not correct.

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-26 11:29:08 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Make the PAD_LOCK private
	  Instead of using the GST_OBJECT_LOCK we should have
	  a dedicated mutex for the pad as it is also associated
	  with the mutex on the EVENT_MUTEX on which we wait
	  in the _chain function of the pad.
	  The GstAggregatorPad.segment is still protected with the
	  GST_OBJECT_LOCK.
	  Remove the gst_aggregator_pad_peak_unlocked method as it does not make
	  sense anymore with a private lock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-26 11:25:54 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Hide GstAggregatorPad buffer and EOS fileds
	  And add a getter for the EOS.
	  The user should always use the various getters to access
	  those fields
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-21 19:09:13 -0500  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Make flush start/stop test non-racy
	  The flush stop could have happened between the source trying
	  to push the segment event and the buffer, this would cause a warning.
	  Prevent that by taking the source's stream lock while flushing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-22 17:41:24 -0500  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Replace racy timeout based tested with drain query
	  Using the drain query, we can be certain that the buffer has done going
	  through the aggregator by taking the stream locks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-21 19:32:34 -0500  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Avoid race in caps negotiation
	  With the current audiomixer, the input caps need to be the same,
	  otherwise there is an unavoidable race in the caps negotiation. So
	  enforce that using capsfilters
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-21 18:47:40 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Clear GstAudioInfo the the caps
	  When clearing the caps, also clear the matching GstAudioInfo
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-21 18:39:24 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Don't reset caps on flush
	  A flush event doesn't invalidate the previous caps event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

2015-01-14 14:35:15 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Replace event lock with pad's object lock
	  Reduce the number of locks simplify code, what is protects
	  is exposed, but the lock was not.
	  Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().
	  https://bugzilla.gnome.org/show_bug.cgi?id=742684

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-30 18:01:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: update for aggregator start/stop vfunc change

2014-12-30 15:29:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: fix output-block-size property description

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 15:49:39 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Document the pad properties

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-23 12:24:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: If getting a timeout before having caps, just advance our position
	  This can happen if this is a live pipeline and no source produced any buffer
	  and sent no caps until the an output buffer should've been produced according
	  to the latency.

2014-12-23 12:15:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Make sure to release the current buffer in reset()
	  If we didn't output the last one in aggregate because we were shutting down
	  earlier we might otherwise leak it.

2014-12-23 11:45:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	* tests/check/elements/audiomixer.c:
	  audiomixer: Change blocksize property to output-buffer-duration in time format
	  This makes the interface of audiomixer independent of the actual caps.

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

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Use the src query implementation of aggregator as the default case

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-21 07:47:25 -0500  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiomixer/Makefile.am:
	  audiomixer: fix build flag order
	  Have the libraries/inlcudes from plugins-bad first to avoid picking up the installed version.
	  Fixes the build when the local api changed.

2014-12-19 13:04:58 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	  audiomixer: Track discont-time per pad instead of globally
	  We do discont handling per pad, not per element!

2014-12-18 23:33:58 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: We're only EOS if all our pads are actually EOS
	  Having a buffer or not on the pad is irrelevant.

2014-12-18 22:42:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: The pad's size is always supposed to be the whole buffer size
	  And the offset the offset into that buffer. Changing the size will
	  cause all kinds of assumptions to fail and cause crashes.

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 19:51:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Add function to allow subclasses to set their own latency
	  For audiomixer this is one blocksize, for videoaggregator this should
	  be the duration of one output frame.

2014-12-17 19:37:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Make sure to not have pads being behind the current offset
	  We would break sync between the different streams then.

2014-12-17 17:54:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: Add a timeout parameter to ::aggregate()
	  When this is TRUE, we really have to produce output. This happens
	  in live mixing mode when we have to output something for the current
	  time, no matter if we have enough input or not.

2014-12-17 18:20:15 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Add queues after the (live) sources in the unit test

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 17:37:12 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Implement get_next_time()

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 16:43:39 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Do not try to resize a buffer to a negative size on EOS

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-25 18:50:42 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/audiomixer.c:
	  tests: fix audiomixer test on big endian systems

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-20 18:25:08 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: critical error for blocksize, timeout min/max values
	  Audiomixer blocksize, cant be 0, hence adjusting the minimum value to 1
	  timeout value of aggregator is defined with MAX of MAXINT64,
	  but it cannot cross G_MAXLONG * GST_SECOND - 1
	  Hence changed the max value of the same
	  https://bugzilla.gnome.org/show_bug.cgi?id=738845

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-09 14:51:56 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* tests/check/elements/audiomixer.c:
	  test: use G_GSIZE_FORMAT in audiomixer test
	  https://bugzilla.gnome.org/show_bug.cgi?id=738227

2014-10-06 21:46:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  aggregator: add latency query handling

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 13:09:00 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Handle seek event in READY state

2014-07-21 11:07:19 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	  audiomixer: Set the sinkpad segments basetime after seeking
	  Otherwise stream offset and running time comparison will not be
	  correct, leading to segfaults after seeks

2014-05-28 16:29:37 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	* tests/check/elements/audiomixer.c:
	  audiomixer: Port to GstAggregator
	  https://bugzilla.gnome.org/show_bug.cgi?id=737183
	  Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

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:16:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixerorc-dist.c:
	  Release 1.3.1

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:36:01 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: 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 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-16 12:18:45 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Remove some useless assignments and skip the current part of the buffer if the pad is muted

2014-01-15 23:30:28 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Fix and simplify overlap calculation

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-19 21:59:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Also resync timestamps on the RESYNC flag

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-07 14:12:17 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Add unit test for handling unaligned buffers
	  That is, buffers that start or end in the middle of an output block.

2013-11-07 14:12:00 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: Fix EOS handling if we have some pending data

2013-11-07 13:57:35 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Add test for the discont handling

2013-11-07 13:55:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Refactor sync test to be more reusable

2013-11-07 13:48:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Remove some racy-ness from the unit test
	  We might already be EOS when we start the mainloop, so only
	  set the pipeline to PLAYING from the main loop.

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 15:50:08 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/gstaudiomixer.c:
	  audiomixer: 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-11-06 15:18:58 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audiomixer.c:
	  audiomixer: Add simply synchronization test

2013-11-06 15:18:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiomixer/Makefile.am:
	* gst/audiomixer/gstaudiomixer.c:
	* gst/audiomixer/gstaudiomixer.h:
	* gst/audiomixer/gstaudiomixerorc-dist.c:
	* gst/audiomixer/gstaudiomixerorc-dist.h:
	* gst/audiomixer/gstaudiomixerorc.orc:
	* tests/check/elements/audiomixer.c:
	  audiomixer: Add new element based on adder that does synchronized audio mixing

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

