=== release 1.14.4 ===

2018-10-02 22:58:06 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2018-10-02 22:58:06 +0100  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-09-26 13:22:14 +1000  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: wait and set the gl sync meta on buffers
	  This may be a cause of out-of-place frames when transforming multiview
	  buffers.

2018-09-27 15:03:10 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Use upstream GST_EVENT_STREAM_START if present
	  If we have an upstream GST_EVENT_STREAM_START, use that one instead
	  of creating a new one which could be completely different from the
	  upstream one and drop information (like the stream flags and stream
	  object).
	  Only create a new event if we don't already have one from upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=797215

2018-09-25 16:56:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglcolorconvert.c:
	  glcolorconvert: Don't copy overlay composition meta over to NULL outbufs

2018-09-25 16:56:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/gstglviewconvert.c:
	  glviewconvert: Copy composition meta from the primary buffer to both outputs
	  Without this, glviewconvert (and thus glimagesink) will drop all overlay
	  composition metas.

2018-09-20 14:04:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Initialize decoder directly once we have the 3 headers
	  ... instead of waiting for the first non-header buffer.
	  Also drop non-identification headers arriving after initialization or
	  before the identification header. We don't do anything with them and
	  they would just accumulate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796980

=== release 1.14.3 ===

2018-09-16 16:17:17 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2018-09-16 16:17:17 +0100  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-09-13 20:34:08 -0300  Marcos Kintschner <marcos.ktn@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: fix segmentation fault at x86 version
	  The argument 0x0 is interpreted by the x86 compiler as a 32-bit int, but
	  it is consumed as a 64-bit uint causing a segmentation fault. We need to
	  explicit cast it to guint64 in order for the va_list to be built correctly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=797092

2018-09-11 00:41:59 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  gstaudiosrc/sink: Set audio ringbuffer thread priority
	  On Windows, the ringbuffer thread function must have the "Pro Audio"
	  priority set, otherwise it sometimes doesn't get scheduled for
	  200-300ms, which will immediately cause an underrun unless you set
	  a very high latency-time and buffer-time.
	  This has no compile-time deps since it tries to load avrt.dll at
	  runtime to set the thread priority.

2018-08-16 19:37:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Always handle in-band header packets once the first non-header packet arrives
	  And clean up any old pending headers if we receive a new identification
	  header, or if we receive a new set of headers via caps.
	  Otherwise it might happen that we receive one or more header but not
	  all, and then afterwards all headers again, and libvorbis does not like
	  getting headers passed multiple times and would error out.
	  It only makes sense to pass the very latest headers to the decoder at
	  the time we can actually make use of them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796980

2017-09-21 14:03:28 +0900  Yuji Kuwabara <HHG01200@nifty.ne.jp>

	* gst-libs/gst/gl/dispmanx/gstglwindow_dispmanx_egl.c:
	  gl/dispmanx: fix removing foreign window handle
	  gst_gl_window_dispmanx_egl_set_window_handle() removes native window handle
	  (dispmanx element), regardless it was foreign window handle
	  (set via gst_video_overlay_set_window_handle()) or not.
	  This problem prevents glimagesink reusable.
	  (PAUSED -> READY -> PAUSED does not work)
	  This patch corrects it comparing the native window handle with foreign window
	  handle. This behavior is same as gst_gl_window_dispmanx_egl_close().
	  https://bugzilla.gnome.org/show_bug.cgi?id=785199

2018-08-27 11:07:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Ensure that no pad values are set when setting up the mapper
	  Otherwise we might have arbitrary values set that are used later and can
	  cause undefined behaviour, as found by ossfuzz.

2018-08-26 01:52:41 +0200  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/gstglcolorscale.c:
	  glcolorscale: fix compiler warning
	  gstglcolorscale.c(173): warning C4098: 'gst_gl_colorscale_gl_stop': 'void' function returning a value

2018-08-16 18:03:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Also run the audio-specific caps fixation for audio aggregator subclasses that can't convert

2018-08-16 17:54:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: Fixate to some meaningful values if no sinkpad is configured yet
	  The default caps fixation code would select a rate of 1 for example,
	  which is not really ideal.

2018-08-16 16:28:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* meson.build:
	  meson: Unify required version to 0.40.1

2018-06-16 14:27:20 +0100  Philippe Normand <philn@igalia.com>

	* gst/playback/gstplaysink.c:
	  playsink: audio visualization support fixes
	  The queue between the audiotee and the audio chain wasn't properly added to the
	  bin, leading to streamsynchronizer locks on EOS. Reconfiguration of the
	  visualization chain wasn't working as expected either. It is now possible to
	  dynamically enable/disable the audio visualization support.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796553

2018-08-08 12:44:55 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Propagate flow returns from gst_type_find_helper_get_range() properly
	  Instead of considering every failed typefinding as an error, even in
	  case of e.g. GST_FLOW_FLUSHING.

2018-07-27 15:15:34 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Properly propagate gst_pad_pull_range() errors
	  And don't consider FLUSHING an actual error, just stop in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796883

2018-07-25 15:03:59 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsrcbin.c:
	  gl: Also don't leak floating references to elements set via properties
	  Fixup for 58ac815eae6ed468d1db60a54a1bd34d6324c28c. Floating references
	  are such a mess.

2018-07-25 14:23:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/gstglfilterbin.c:
	* ext/gl/gstglmixerbin.c:
	* ext/gl/gstglsinkbin.c:
	* ext/gl/gstglsrcbin.c:
	  gl: Don't steal callers reference when setting non-floating elements via properties
	  Introduced by fbef9220d3dc2f785081c4766901aab2ecfaed10. The code there
	  is only correct for elements we get from signals.

=== release 1.14.2 ===

2018-07-20 00:51:42 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2018-07-20 00:51:42 +0100  Tim-Philipp Müller <tim@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-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-07-18 19:53:26 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagesink.c:
	  xvimage: Fix symbol redefine build error
	  https://bugzilla.gnome.org/show_bug.cgi?id=796827

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

	* ext/gl/gstglcolorbalance.c:
	  glcolorbalance: Support OES textures for input/passthrough
	  glcolorbalance is in the default GL path inside glimagesink,
	  so has been causing an possibly-unnecessary extra texture copy
	  on Android for a while now. If we're just doing passthrough,
	  we can support OES directly. If not, they'll be transformed
	  to 2D textures and colourbalanced.

2018-07-18 14:56:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl: fix backported patch

2018-07-16 16:01:34 +0200  Iñigo Huguet <inigohuguet@fanamoel.com>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	* gst-libs/gst/gl/gstglconfig.h.meson:
	* gst-libs/gst/gl/meson.build:
	* m4/gst-gl.m4:
	  gl/build: fixed failed compilation due to missing EGLuint64KHR typedef
	  [Matthew Waters]: add meson differences
	  https://bugzilla.gnome.org/show_bug.cgi?id=796820

2018-07-06 10:51:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Don't try to continue autoplugging a parser if we got raw caps
	  Otherwise we'll fail with an unhelpful message that no decoder for the
	  raw caps was found if a container contains raw media.

2018-06-28 20:13:04 +0800  wangzq <qiang_jsj@live.cn>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Round down segsize to an integer number of samples
	  https://bugzilla.gnome.org/show_bug.cgi?id=796704

2018-06-13 15:29:46 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-discoverer.c:
	  discoverer: Don't crash when running with -v if channel-mask==0 and >7 channels
	  For e.g. 16-channel audio, if the channel mask is 0 (which it usually
	  is), gst_audio_channel_positions_from_mask would get confused,
	  ultimately leading into a crash.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796578

2018-06-04 22:32:03 +1000  Matthew Waters <matthew@centricular.com>

	* ext/gl/gstgldownloadelement.c:
	  gldownloadelement: fix build with msvc
	  msvc doesn't like #ifdef inside macro expansion

2018-05-30 11:39:40 +0200  Edward Hervey <edward@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Don't read beyond array
	  If num_open_tags is 0, we shouldn't try to get the "last" open tag
	  since there isn't any.

2018-05-30 10:56:12 +0200  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  ogg: Avoid undefined granule shift
	  A granule is a 64bit signed integer, shifting by 63 or more is
	  undefined and most likely an indication that the stream is
	  corrupted or invalid.
	  Detected by oss-fuzz

2014-04-18 10:37:57 +0200  Antoine Jacoutot <ajacoutot@gnome.org>

	* gst-libs/gst/gl/Makefile.am:
	  libs: g-ir-scanner: do not hardcode libtool path
	  https://bugzilla.gnome.org/show_bug.cgi?id=726571

2018-07-16 13:12:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/rawparse/gstrawvideoparse.c:
	  rawvideoparse: fix typo in 'plane-offsets' description
	  The property is 'plane-offsets', not 'plane-offset' so the example in
	  the description was wrong.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796817

2018-05-21 09:18:24 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/video-color.c:
	  video: fix some GIR array annotations

2018-05-21 09:18:09 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/audio-channels.c:
	  audio: fix some GIR array annotations

2018-05-20 13:37:07 +0200  Christoph Reiter <reiter.christoph@gmail.com>

	* gst-libs/gst/gl/meson.build:
	  meson: gl: remove non-headers from gl_prototype_headers
	  This made the meson build install those files, while they aren't
	  installed with the autotools build.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796274

2018-05-20 13:35:52 +0200  Christoph Reiter <reiter.christoph@gmail.com>

	* tools/meson.build:
	  meson: install the man pages for the command line tools
	  https://bugzilla.gnome.org/show_bug.cgi?id=796274

2018-05-20 13:40:37 +0200  Christoph Reiter <reiter.christoph@gmail.com>

	* gst-libs/gst/app/app_mkenum.py:
	* gst-libs/gst/audio/audio_mkenum.py:
	* gst-libs/gst/pbutils/pbutils_mkenum.py:
	* gst-libs/gst/rtp/rtp_mkenum.py:
	* gst-libs/gst/rtsp/rtsp_mkenum.py:
	* gst-libs/gst/tag/tag_mkenum.py:
	* gst-libs/gst/video/video_mkenum.py:
	  meson: Fix detection of glib-mkenums under MSYS2
	  Under MSYS2 glib-mkenums is an executable and has a .exe extension and
	  the path does not end with "glib-mkenums".
	  Make the script compare the path without the file extension instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=796274

=== release 1.14.1 ===

2018-05-17 13:21:47 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2018-05-17 13:21:47 +0100  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-05-17 12:37:27 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/hr.po:
	  Update translations

2018-05-17 13:54:35 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Collect appropriate stream-type when doing stream selection
	  https://bugzilla.gnome.org/show_bug.cgi?id=796193

2017-12-13 12:30:54 +0100  Georg Lippitsch <glippitsch@toolsonair.com>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Allow 24000/1001 frame rate
	  https://bugzilla.gnome.org/show_bug.cgi?id=796107

2018-05-02 18:39:31 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Handle unlock in drain query handling too
	  And also handle flushing, we might otherwise wait here forever when
	  flushing too.

2018-05-02 18:35:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Make sure to also handle unlock when waiting for EOS to be handled
	  Otherwise shutting down during EOS waiting will cause a deadlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795551

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

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  appsrc/sink: Fix optimization for only signalling waiters if someone is actually waiting
	  It is possible that both application and the stream are waiting
	  currently, if for example the following happens:
	  1) app is waiting because no buffer in appsink
	  2) appsink providing a buffer and waking up app
	  3) appsink getting another buffer and waiting because it's full now
	  4) app thread getting back control
	  Previously step 4 would overwrite that the appsink is currently waiting,
	  so it would never be signalled again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795551

2018-05-13 23:31:22 +0100  Pierre Labastie <pierre.labastie@neuf.fr>

	* tests/examples/gl/sdl/Makefile.am:
	  examples: gl: sdl: link to the right in-tree libgstvideo
	  https://bugzilla.gnome.org/show_bug.cgi?id=796082

2018-05-12 17:19:50 +0100  Philippe Normand <philn@igalia.com>

	* gst/subparse/gstsubparse.c:
	  subparse: follow-up build fix after d871b1205

2018-05-12 13:53:02 +0100  Philippe Normand <philn@igalia.com>

	* gst/subparse/gstsubparse.c:
	* tests/check/elements/subparse.c:
	  subparse: support for more than 32 unclosed markup tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=796043

2018-05-10 01:54:36 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: Do not modify structure of EOS event
	  https://bugzilla.gnome.org/show_bug.cgi?id=795981

2018-05-10 01:33:55 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Do not modify structure of EOS event
	  https://bugzilla.gnome.org/show_bug.cgi?id=795981

2018-05-09 10:39:23 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Fix GList leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=795937

2018-05-08 23:44:38 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: Fix string leak
	  uri and suburi should be free'd
	  https://bugzilla.gnome.org/show_bug.cgi?id=795932

2018-05-04 10:35:36 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	  video: Silence "restrict" issues with ORC code
	  The problem is that even though the functions we are calling are
	  in-place transformation, orc automatically puts the restrict keyword
	  on all arguments. To silence that warning just create yet-another
	  variable containing the same value.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795765

2018-04-30 17:17:22 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Avoid assertion describing raw audio caps without format
	  We used to get:
	  gst_audio_format_from_string: assertion 'format != NULL' failed

2018-04-22 10:49:29 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Also lock input caps when dynamic output is disabled
	  With the way caps negotiation work in encoders, the only way to ensure
	  that no downstream renegotiation is done in the encoder is to also lock
	  upstream caps. Anyway with the current behavior upstream of encoders
	  *require* to handle any file format so locking upstream format should
	  be safe.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795464

2018-04-30 19:49:20 +0900  Seungha Yang <seungha.yang@navercorp.com>

	* gst-libs/gst/tag/gsttagmux.c:
	  tagmux: Reset final tags for reusing element
	  If the output tag had been exposed, it never ever updated
	  even if we reset the tagmux using state change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795691

2018-04-20 12:30:22 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* tests/check/libs/videodecoder.c:
	  videodecoder: add test for event order
	  When frames are dropped or reordered then the serialized events are
	  collected and pushed with the next frame. This test verifies that the
	  order is preserved.
	  https://bugzilla.gnome.org/show_bug.cgi?id=794192

2018-03-08 11:28:58 +0100  Matthias Fend <matthias.fend@wolfvision.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: keep event order
	  Since events are pushed out in reverse order, newer events need to
	  be added at the front of event lists
	  https://bugzilla.gnome.org/show_bug.cgi?id=794192

2018-04-25 09:28:53 +0900  hoonhee.lee <hoonhee.lee@lge.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: don't segfault if a pad is not a source pad when it is removed
	  Ignore to handling a pad of decodebin3 which doesn't have corresponding output
	  when it is removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795529

2018-04-25 01:33:43 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Let ARC clean up our dispatch queue if ARC is used, and otherwise do it manually
	  Also don't use __bridge casts if ARC is not used, as is the case on 32
	  bit systems.

2018-04-25 01:08:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
	  gl/cocoa: Use NSRect instead of CGRect
	  On 64 bit systems they're typedefs of each other but on 32 bit systems
	  not, and we pass the rect to an API that expects a NSRect

2018-04-20 21:54:23 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/gl/gstgldisplay.c:
	* gst-libs/gst/gl/gstglmemory.c:
	* gst-libs/gst/gl/gstglslstage.c:
	* gst-libs/gst/gl/gstglupload.c:
	  gl: fix some GIR annotations
	  Mostly related to out and array parameters

2018-04-20 21:53:17 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: fix some GIR annotations
	  Mostly related to out and array parameters

2018-04-20 21:53:16 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-event.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/videoorientation.c:
	  video: fix some GIR annotations
	  Mostly related to out and array parameters

2018-04-20 21:53:16 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: fix some GIR annotations
	  Mostly related to out and array parameters

2018-04-20 21:53:15 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: fix some GIR annotations
	  Mostly related to out and array parameters.

2018-04-20 21:53:10 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtphdrext.c:
	  rtp: fix some GIR annotations
	  Mostly related to out and array parameters.

2018-04-20 11:42:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/gl/meson.build:
	* gst-libs/gst/gl/meson.build:
	  meson: gl: fix 'invalid keyword argument' meson warnings
	  Required is not a valid kwarg for cc.has_header()

2018-04-18 10:28:42 -0400  Omar Akkila <omar.akkila@collabora.co.uk>

	* gst-libs/gst/gl/egl/gsteglimage.c:
	  egl: fix build when using RPi EGL
	  https://bugzilla.gnome.org/show_bug.cgi?id=795336

2018-04-16 11:10:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/gl/meson.build:
	  gl: Define default value for GST_GL_HAVE_WINDOW_GBM
	  Thus, silent compiler's warning:
	  "GST_GL_HAVE_WINDOW_GBM" is not defined, evaluates to 0 [-Wundef]

2018-04-23 16:32:41 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix filtered getcaps
	  In the situation described in
	  https://bugzilla.gnome.org/show_bug.cgi?id=795397,
	  downstream_caps consists of two structures, the first with
	  the preferred rate, if at all possible (44100), the second
	  containing the full range of allowed rates, as audioresample
	  correctly tries to negotiate passthrough caps.
	  As audioaggregator cannot perform rate conversion, it wants
	  to return a fixated rate in its getcaps implementation,
	  however it previously directly used the first structure in
	  the caps allowed downstream, without taking the filter into
	  consideration, to determine the rate to fixate to.
	  With this, we first intersect our downstream caps with the
	  filter, in order not to fixate to an unsupported rate.

2018-04-13 20:18:56 +0200  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/gstvorbistag.c:
	* gst-libs/gst/tag/gstxmptag.c:
	* gst-libs/gst/tag/tags.c:
	  tag: fix some GIR annotations
	  Mostly related to out and array parameters.

2018-04-12 22:24:26 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: unref converted buffer after gst_buffer_replace

2018-04-12 22:23:50 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/alsa/gstalsamidisrc.c:
	  alsamidisrc: unref buffer_list before early return

2018-04-10 09:31:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/playback/gsturisourcebin.c:
	  urisourcebin: Avoid unreffing a pad we are not owning
	  expose_output_pad takes ownership of the pad.

2018-04-12 19:33:18 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  uridecodebin3: free_play_items when READY_TO_PAUSED failed.
	  We will never go through the PAUSED_TO_READY transition if
	  that is the case, and thus never free the play items.

2018-04-12 18:12:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix leak of recursive mutex

2018-04-11 22:56:34 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: do not map input buffer in WRITE mode

2018-04-11 21:40:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Only fixate pixel-aspect-ratio if the field exists
	  It's optional.

2018-04-10 21:18:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Fixate pixel-aspect-ratio to the closest value to 1/1

2018-04-07 11:07:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Don't spam INFO for every buffer
	  This makes GST_DEBUG=4 outputs too spammy, and such frequent messages
	  are meant to go into DEBUG or TRACE anyway.

2018-04-05 16:41:57 +0200  Zeeshan Ali <zeeshanak@gnome.org>

	* tests/check/meson.build:
	  tests: Enable tests for videodecoder
	  The tests pass fine here so don't see any reason to keep them disabled.
	  https://bugzilla.gnome.org/show_bug.cgi?id=795005

2018-04-04 19:30:55 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Always respect encoding profile preset factory name
	  And fail if it is not present.

2018-03-04 16:41:14 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
	* gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.c:
	* gst-libs/gst/gl/gbm/gstglwindow_gbm_egl.h:
	  gl/gbm: Initialize window handle (= gbm surface) like other window systems
	  https://bugzilla.gnome.org/show_bug.cgi?id=793997

2018-03-27 10:43:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/gl/Makefile.am:
	  gl: pick up GstVideo-1.0.gir from local build dir
	  https://bugzilla.gnome.org/show_bug.cgi?id=794708

2018-03-22 11:12:20 +0100  Antonio Ospite <ao2@ao2.it>

	* tools/gst-play-kb.c:
	  tools: play: fix leaving STDIN in non-blocking mode after exit
	  gst-play-1.0 sets STDIN to non-blocking mode to have the input
	  characters read as soon as they arrive.
	  However, when gst_play_kb_set_key_handler() gets called from
	  restore_terminal() it forgets to restore the STDIN blocking status.
	  This can result in broken behavior for cli command executed in the same
	  terminal after gst-play-1.0 exited.
	  It turns out that putting STDIN in non-blocking mode is not even the
	  proper way to achieve the desired effect, instead VMIN and VTIME in
	  struct termios should be set to 0.
	  Let's do that, and don't mess with the STDIN blocking mode now that it's
	  not necessary.
	  https://bugzilla.gnome.org/show_bug.cgi?id=794591

2018-03-25 12:48:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/gl/Makefile.am:
	  gl: Disable glmixerbin for the time being too
	  Otherwise we have one copy in gst-plugins-bad and one (unused) here,
	  which makes static linking unhappy.

2018-03-23 14:24:38 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audio-aggregator: Check return values
	  And copy over already-parsed information
	  CID #1427140

2018-03-22 07:56:28 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/gl/gstglupload.c:
	* gst-libs/gst/gl/viv-fb/gstglwindow_viv_fb_egl.c:
	  viv-fb: Include gstglfuncs.h to fix cross compilation errors
	  https://bugzilla.gnome.org/show_bug.cgi?id=794589

2018-03-21 10:27:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-tile.h:
	  video: Set correct value in g-i annotations for tile related mask constants

2018-03-21 10:25:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video.h:
	  video: Include gstvideoaffinetransformationmeta.h in video.h

2018-03-21 10:21:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/pbutils.h:
	  pbutils: Include gstaudiovisualizer.h in pbutils.h

=== release 1.14.0 ===

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

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

2018-03-19 20:15:02 +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-17 06:33:38 +0100  Edward Hervey <edward@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggstream: protect against out-of-bounds read
	  We need at least 17 bytes of data for a valid flac header
	  oss-fuzz #6974

2018-03-16 09:28:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/audiomixer.c:
	  tests: audiomixer: remove unistd.h include
	  Not needed and breaks the build with MVSC.

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

	* gst-libs/gst/audio/gstaudiostreamalign.h:
	  audiostreamalign: Mark the whole type as new in 1.14

2018-03-13 23:09:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	* pkgconfig/gstreamer-video.pc.in:
	* pkgconfig/meson.build:
	  pkg-config: Add orc-0.4 to Requires.private of gstreamer-audio and gstreamer-video
	  https://bugzilla.gnome.org/show_bug.cgi?id=794307

=== release 1.13.91 ===

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

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

2018-03-13 19:13:18 +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-13 13:49:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/meson.build:
	  meson: install new audio-prelude.h

2018-03-13 11:56:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/Makefile.am:
	* docs/libs/meson.build:
	  docs: update api decorators to ignore

2018-03-13 11:48:31 +0000  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/meson.build:
	* 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-prelude.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: GST_EXPORT -> GST_VIDEO_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:32:02 +0000  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/id3v2.h:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/tag/tag-prelude.h:
	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tag_mkenum.py:
	* gst-libs/gst/tag/xmpwriter.h:
	  tag: GST_EXPORT -> GST_TAG_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:27:11 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* gst-libs/gst/sdp/meson.build:
	* gst-libs/gst/sdp/sdp-prelude.h:
	* gst-libs/gst/sdp/sdp.h:
	  sdp: GST_EXPORT -> GST_SDP_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:23:21 +0000  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/meson.build:
	* gst-libs/gst/rtsp/rtsp-prelude.h:
	* gst-libs/gst/rtsp/rtsp.h:
	* gst-libs/gst/rtsp/rtsp_mkenum.py:
	  rtsp: GST_EXPORT -> GST_RTSP_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:17:58 +0000  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/gstrtpdefs.h:
	* gst-libs/gst/rtp/gstrtphdrext.h:
	* gst-libs/gst/rtp/gstrtppayloads.h:
	* gst-libs/gst/rtp/meson.build:
	* gst-libs/gst/rtp/rtp-prelude.h:
	* gst-libs/gst/rtp/rtp_mkenum.py:
	  rtp: GST_EXPORT -> GST_RTP_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:13:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/riff/meson.build:
	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.h:
	* gst-libs/gst/riff/riff-prelude.h:
	* gst-libs/gst/riff/riff-read.h:
	* gst-libs/gst/riff/riff.h:
	  riff: GST_EXPORT -> GST_RIFF_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 11:08:34 +0000  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/gstpluginsbaseversion.h.in:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/pbutils/missing-plugins.h:
	* gst-libs/gst/pbutils/pbutils-prelude.h:
	* gst-libs/gst/pbutils/pbutils.h:
	* gst-libs/gst/pbutils/pbutils_mkenum.py:
	  pbutils: GST_EXPORT -> GST_PBUTILS_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

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

	* gst-libs/gst/gl/Makefile.am:
	* gst-libs/gst/gl/egl/gstegl.h:
	* 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/gl-prelude.h:
	* 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/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/gstglrenderbuffer.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:
	* gst-libs/gst/gl/meson.build:
	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.h:
	* gst-libs/gst/gl/x11/gstgldisplay_x11.h:
	  gl: GST_EXPORT -> GST_GL_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

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

	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/fft/fft-prelude.h:
	* 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:
	* gst-libs/gst/fft/meson.build:
	  fft: GST_EXPORT -> GST_FFT_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-13 10:36:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* 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-prelude.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/gstaudioaggregator.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/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/gstaudiostreamalign.h:
	* gst-libs/gst/audio/streamvolume.h:
	  audio: GST_EXPORT -> GST_AUDIO_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

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

	* common:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/app-prelude.h:
	* gst-libs/gst/app/app_mkenum.py:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/app/meson.build:
	  app: GST_EXPORT -> GST_APP_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

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

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/allocators-prelude.h:
	* gst-libs/gst/allocators/allocators.h:
	* gst-libs/gst/allocators/gstdmabuf.h:
	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/allocators/gstphysmemory.h:
	* gst-libs/gst/allocators/meson.build:
	  allocators: GST_EXPORT -> GST_ALLOCATORS_API
	  We need different export decorators for the different libs.
	  For now no actual change though, just rename before the release,
	  and add prelude headers to define the new decorator to GST_EXPORT.

2018-03-12 16:23:02 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst-libs/gst/audio/gstaudioaggregator.c:
	  audioaggregator: fix channel-mask negotiation
	  When outputting more than two channels, a channel-mask has to be
	  specified in the output caps.
	  We follow the same heuristic as other cases, when downstream
	  does not specify a channel-mask, we use that of the first
	  configured pad, and if there was none we generate a fallback
	  mask.
	  https://bugzilla.gnome.org/show_bug.cgi?id=794257

2018-03-12 13:38:07 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gsturidecodebin3.c:
	  playback: Remove subtitle-encoding property on uridecodebin3
	  For now, until we found a more future-proof solution

2018-03-11 22:57:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  docs: video: fix typo and add since marker

2018-03-11 22:45:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: libs: add another missing symbol

2018-03-11 19:06:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add video region of interest add/get parameter api to docs

2018-03-11 12:13:32 -0300  Thibault Saunier <tsaunier@igalia.com>

	* gst-libs/gst/audio/audio.h:
	  audio: Add audioaggregator.h in audio.h

2018-03-08 01:01:53 +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/allocators/gstphysmemory.c:
	  docs: add GstPhysMemoryAllocator to docs

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

	* ext/alsa/gstalsasrc.c:
	* ext/alsa/gstalsasrc.h:
	  Revert "alsasrc: lock calls to snd_pcm_delay() with mutex as in alsasink"
	  This reverts commit 4f88125b3ddc15367d528e850cc27739f5bb27fa.
	  This seems to have undesirable side-effects and needs more
	  investigation first.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746015

2018-03-05 19:57:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* m4/gst-gl.m4:
	  gl: only enable gbm backend if gudev is available
	  gudev/gudev.h is included unconditionally, so only enable
	  the gbm backend if gudev was actually found. This also
	  matches the meson build behaviour.
	  Should fix build on GNOME SDK builder.

=== release 1.13.90 ===

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

	* ChangeLog:
	* 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

