=== release 1.10.4 ===

2017-02-23  Sebastian Dröge <slomo@coaxion.net>

	* configure.ac:
	  releasing 1.10.4

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-01-24 19:20:53 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

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

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

=== release 1.10.3 ===

2017-01-30 16:26:59 +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.3

2017-01-30 15:27:25 +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-30 13:30:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/fr.po:
	* po/nb.po:
	* po/sr.po:
	  po: Update translations

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-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-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-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-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 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-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-02 12:54:32 +0000  Tim-Philipp Müller <tim@centricular.com>

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

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

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

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

=== release 1.10.2 ===

2016-11-29 16:20:54 +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.2

2016-11-29 15:28: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

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

	* po/hr.po:
	  po: Update translations

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 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: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-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-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-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-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 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-20 14:52:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update version

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

=== release 1.10.1 ===

2016-11-17 15:52:12 +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.1

2016-11-17 14:54: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

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

	* po/da.po:
	* po/de.po:
	* po/id.po:
	* po/pl.po:
	* po/ru.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

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

2016-11-01 19:42:32 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  meson: update version

=== 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-25 08:52:52 -0700  Scott D Phillips <scott.d.phillips@intel.com>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2016-10-15 21:46:27 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

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

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

	* gst-libs/gst/tag/meson.build:
	* meson.build:
	* tests/check/getpluginsdir:
	* tests/check/meson.build:
	  meson: Make use of new environment object and set plugin path to builddir
	  Workaround source_root being the root directory of all projects
	  in the subproject case.
	  Remove now unneeded getpluginsdir and define c++ tests in the same loop.
	  Bump meson requirement to 0.35

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* meson.build:
	  meson: update version

=== release 1.9.90 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2016-09-30 11:42:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/de.po:
	  po: Update translations

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

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

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

	* gst-libs/gst/audio/audio-resampler-x86-sse41.c:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audiorsample: Fix build on 32-bit x86
	  Turns out _mm_cvtsi128_si64() isn't available on 32-bit, so only build
	  SSE 4.1 optimisations on x86-64 for now.

2016-09-28 17:37:38 +0530  Arun Raghavan <arun@osg.samsung.com>

	* configure.ac:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-resampler-macros.h:
	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-private.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse2.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse2.h:
	* gst-libs/gst/audio/audio-resampler-x86-sse41.c:
	* gst-libs/gst/audio/audio-resampler-x86-sse41.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audioresample: Separate out CFLAGS used for SSE* code
	  This makes sure that we only build files that need explicit SIMD support
	  with the relevant CFLAGS. This allows the rest of the code to be built
	  without, and specific SSE* code is only called after runtime checks for
	  CPU features.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729276

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

	* gst-libs/gst/audio/audio-resampler.c:
	  audioresample: Fix some gobject introspection warnings

2016-09-26 10:01:08 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaybin3.c:
	  playbin3: Remove fallback properties/signals
	  These can all be used via the GstStream API
	  https://bugzilla.gnome.org/show_bug.cgi?id=769079

2016-09-25 22:02:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/meson.build:
	  tests: playbin-complex test needs oggdemux

2016-09-24 21:11:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/videotimecode.c:
	  tests: videotimecode: fix floating point comparisons
	  Comparing floats for equality is not necessarily going to
	  work reliably, so use fail_unless_equals_float() for this.
	  Test would fail on x86 (Intel Atom x5-Z8300).

2016-09-25 16:22:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/adder.c:
	  tests: adder: disable racy flush_start_flush_stop test
	  It's been broken for years, and it's unlikely it will ever
	  be fixed for collectpads/adder now that there's audiomixer
	  which works fine. So let's disable it, since all it does
	  is that it creates noise that distracts from other failures.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708891

2016-09-22 16:15:54 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: take number of bits into account when copying
	  Copy twice the amount of pixels for 16 bits formats.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747225

2016-09-20 15:12:22 -0400  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Correctly calculate group start times in reverse playback mode
	  We have to calculate from the segment.stop, not the segment.start, as
	  playback goes from stop to start. This fix works around another race
	  condition in streamsynchronizer in my testcase.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=771479

2016-09-20 17:31:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/seek/stepping.c:
	* tests/examples/seek/stepping2.c:
	  examples: seek: fix build with MSVC
	  Use G_PI instead of M_PI. Could also have defined
	  _USE_MATH_DEFINES or included gst/math-compat.h but
	  this seems simplest.

2016-09-19 11:27:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-frame.c:
	  doc: Add missing map flag to gst_video_frame_map()
	  Add missing map flag, and also add unmap call.

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

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Fix segment boundary checking for reverse playback

2016-09-14 16:51:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Don't adjust segment time in seek handler
	  basesrc already did that very well for us, adjusting it again on top of
	  that just breaks various non-standard seeks.

2016-09-14 11:29:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Depend on gstreamer 1.9.2.1

2016-09-14 10:14:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/video-overlay-composition.c:
	  videooverlaycomposition: document required map flags
	  Fix documentation for gst_video_overlay_composition_blend(). The video frame
	  needs to be mapped with GST_MAP_READWRITE flag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=771382

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

	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	  playback: Use new gst_bin_set_suppressed_flags() API instead of worrying about the flags in multiple places

2016-09-10 20:50:56 +1000  Jan Schmidt <jan@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From b18d820 to f980fd9

2016-09-10 10:05:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	* tests/check/elements/videoscale.c:
	* tests/check/meson.build:
	  tests: videoscale: split test into multiple ones
	  The videoscale test takes eternities to run, that's not
	  great. Split the test into multiple ones. That way they
	  can be run in parallel. Reduces time to run all tests in
	  -base from 29 secs to 12 secs when using meson/ninja.

2016-09-10 09:53:49 +1000  Jan Schmidt <jan@centricular.com>

	* autogen.sh:
	* common:
	  Automatic update of common submodule
	  From f49c55e to b18d820

2016-09-07 17:02:23 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/check/meson.build:
	  meson: Raise test timeout to 3 minutes
	  The videoscale testsuite (with 50 tests) last almost 2 minutes here

2016-09-07 14:24:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* tests/check/libs/video.c:
	  video/test: Coding style fix

2016-09-05 19:55:58 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/examples/overlay/meson.build:
	  meson: Workaround the qt5 module not letting us now the preprocessor is not avalaible
	  If moc-qt5 is not avalaible, meson breaks:
	  https://github.com/mesonbuild/meson/issues/758

2016-09-05 18:40:19 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* tests/examples/overlay/meson.build:
	  meson: tests: Do not pull qt5 as a hard dependency

2016-09-05 17:43:13 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	* tests/check/getpluginsdir:
	* tests/check/meson.build:
	  meson: Properly find where GStreamer plugins are when using subprojects
	  And fix building with meson 0.34

2016-09-05 12:22:36 -0300  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* meson.build:
	  meson: Bump version to 1.9.2

2016-08-26 11:30:16 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: safety for failing to determine time length in push mode
	  If we can't find a valid granule near the end of the file, we
	  disable seeking. This guards against the whole file being then
	  read and never going to PLAYING.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770314

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: increase EOS granpos detection chunk size
	  This can be too small on some files to find a valid granule.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770314

2016-09-04 21:41:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/seek/meson.build:
	  meson: fix joystick header check for jseek example

2016-09-03 11:57:22 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: store missing-plugin structure in current_info->misc again
	  This allows gst_discoverer_info_get_misc to work again, until it
	  finally gets removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=770643

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

	* tools/gst-play.c:
	  tools: gst-play: cycle between video tracks without disabling video

2016-09-01 17:56:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstrtp.def:
	  win32: Update exports

2016-09-01 22:48:40 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: Expand the range of caps for extended buffer flags
	  The video buffer flags can be applied to encoded video streams,
	  such as video/x-h264 marked up by a demuxer or parser.

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

	* gst/playback/gstplaybackutils.h:
	  playback: Mark internal functions as G_GNUC_INTERNAL

2016-09-01 14:47:02 +0900  Wonchul Lee <wonchul.lee@collabora.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybackutils.c:
	* gst/playback/gstplaybackutils.h:
	* gst/playback/gsturidecodebin.c:
	* gst/playback/gsturisourcebin.c:
	  playbackutils: Move compare_factories_func
	  Move _decode_bin_compare_factories_func function to playbackutils
	  https://bugzilla.gnome.org/show_bug.cgi?id=770692

2016-09-01 09:59:06 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/video/video-frame.h:
	  video-frame: GST_VIDEO_BUFFER_FLAG are only valid for video/x-raw caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=769771

2016-09-01 09:57:33 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtpbuffer: Add buffer flag RETRANSMISSION
	  Useful for elements to know if a buffer is a retransmitted RTP packet.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769771

2016-09-01 12:38:14 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Require orc >= 0.4.24
	  Needed for being able to compile video.orc
	  https://bugzilla.gnome.org/show_bug.cgi?id=770698

2016-09-01 12:26:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.9.2 ===

2016-09-01 12:26:20 +0300  Sebastian Dröge <sebastian@centricular.com>

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

2016-09-01 11:23:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

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

	* tests/icles/test-colorkey.c:
	  test-colorkey: #define GDK_DISABLE_DEPRECATION_WARNINGS
	  We use gdk_cairo_create() which is deprecated since 3.22.

2016-08-27 11:22:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson_options.txt:
	* tests/examples/app/meson.build:
	* tests/examples/audio/meson.build:
	* tests/examples/decodebin_next/meson.build:
	* tests/examples/dynamic/meson.build:
	* tests/examples/encoding/meson.build:
	* tests/examples/fft/meson.build:
	* tests/examples/gio/meson.build:
	* tests/examples/meson.build:
	* tests/examples/overlay/meson.build:
	* tests/examples/playback/meson.build:
	* tests/examples/playrec/meson.build:
	* tests/examples/seek/meson.build:
	* tests/examples/snapshot/meson.build:
	* tests/meson.build:
	  meson: build examples

2016-08-27 01:17:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/meson.build:
	  meson: enable tests
	  At least on non-Windows platforms.

2016-08-19 11:09:27 -0700  Thibault Saunier <thibault.saunier@osg.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	  Use the new API to post flow ERROR messages on the bus
	  https://bugzilla.gnome.org/show_bug.cgi?id=770158

2016-08-26 20:48:05 +0200  Josep Torra <n770galaxy@gmail.com>

	* configure.ac:
	* tests/check/Makefile.am:
	  build: silence error about pthread for 'make check' in osx
	  Fixes "clang: error: argument unused during compilation: '-pthread'"

2016-08-25 12:19:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/meson.build:
	  meson: update for new files in video lib

2016-08-09 11:39:53 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: forward sticky events on multiqueue
	  When connecting a demuxer through a multiqueue ensure to copy sticky
	  events in order to allow the following factory being properly
	  checked that it is functional.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769580

2016-08-25 11:56:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: Update libgstvideo.def

2016-07-26 19:14:40 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* docs/libs/gst-plugins-base-libs.types:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video.h:
	* gst-libs/gst/video/videodirection.c:
	* gst-libs/gst/video/videodirection.h:
	* gst-plugins-base.spec.in:
	* tests/check/libs/gstlibscpp.cc:
	* tests/check/libs/libsabi.c:
	* tests/icles/test-header-compile:
	  videodirection: interface for rotation and flip
	  A GstVideoOrientationMethod enumeration is also provided for the
	  admitted property values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768687

2016-08-17 23:49:02 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/playback/gstparsebin.c:
	  parsebin: do not set global tags to stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=770053

2016-08-12 20:56:31 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* .gitignore:
	* config.h.meson:
	* ext/alsa/meson.build:
	* ext/cdparanoia/meson.build:
	* ext/libvisual/meson.build:
	* ext/meson.build:
	* ext/ogg/meson.build:
	* ext/opus/meson.build:
	* ext/pango/meson.build:
	* ext/theora/meson.build:
	* ext/vorbis/meson.build:
	* gst-libs/gst/allocators/meson.build:
	* gst-libs/gst/app/meson.build:
	* gst-libs/gst/audio/audio_mkenum.py:
	* gst-libs/gst/audio/meson.build:
	* gst-libs/gst/fft/meson.build:
	* gst-libs/gst/meson.build:
	* gst-libs/gst/pbutils/meson.build:
	* gst-libs/gst/pbutils/pbutils_mkenum.py:
	* gst-libs/gst/riff/meson.build:
	* gst-libs/gst/rtp/meson.build:
	* gst-libs/gst/rtp/rtp_mkenum.py:
	* gst-libs/gst/rtsp/meson.build:
	* gst-libs/gst/rtsp/rtsp_mkenum.py:
	* gst-libs/gst/sdp/meson.build:
	* gst-libs/gst/tag/meson.build:
	* gst-libs/gst/video/meson.build:
	* gst-libs/gst/video/video_mkenum.py:
	* gst-libs/meson.build:
	* gst/adder/meson.build:
	* gst/app/meson.build:
	* gst/audioconvert/meson.build:
	* gst/audiorate/meson.build:
	* gst/audioresample/meson.build:
	* gst/audiotestsrc/meson.build:
	* gst/encoding/meson.build:
	* gst/gio/meson.build:
	* gst/meson.build:
	* gst/playback/meson.build:
	* gst/subparse/meson.build:
	* gst/tcp/meson.build:
	* gst/typefind/meson.build:
	* gst/videoconvert/meson.build:
	* gst/videorate/meson.build:
	* gst/videoscale/meson.build:
	* gst/videotestsrc/meson.build:
	* gst/volume/meson.build:
	* meson.build:
	* meson_options.txt:
	* pkgconfig/meson.build:
	* sys/meson.build:
	* sys/ximage/meson.build:
	* sys/xvimage/meson.build:
	* tests/check/meson.build:
	* tests/meson.build:
	* tools/meson.build:
	  Add support for Meson as alternative/parallel build system
	  https://github.com/mesonbuild/meson
	  With contributions from:
	  Tim-Philipp Müller <tim@centricular.com>
	  Jussi Pakkanen <jpakkane@gmail.com> (original port)
	  Highlights of the features provided are:
	  * Faster builds on Linux (~40-50% faster)
	  * The ability to build with MSVC on Windows
	  * Generate Visual Studio project files
	  * Generate XCode project files
	  * Much faster builds on Windows (on-par with Linux)
	  * Seriously fast configure and building on embedded
	  ... and many more. For more details see:
	  http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
	  http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
	  Building with Meson should work on both Linux and Windows, but may
	  need a few more tweaks on other operating systems.

2016-08-20 11:01:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  tests: ignore new videotimecode test binary

2016-08-19 15:29:13 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/gstvideotimecode.c:
	  videotimecode: Fix false positive coverity issues
	  They are false positive overflows, because coverity doesn't realize that
	  hours <= 24, minutes < 60 and seconds < 60 in all functions. Also casting the
	  number 60 (seconds in minute, minutes in hour) to guint64 for the
	  calculations, in order to avoid overflowing once we allow more than 24-hour
	  timecodes.
	  CIDs #1371459, #1371458

2016-08-18 12:03:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Implement basic support for reverse playback
	  This is enough for making it work in GES, but it's unclear if all the various
	  property combinations are working correctly. It's an improvement over what was
	  there before in any case, which was to just drop all buffers if rate < 0.0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769624

2016-08-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 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-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-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-03-20 14:37:03 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send stream-group-done to unblock downstream
	  When processing EOS for a pad, send a stream-group-done
	  for the pad in case downstream is waiting for more
	  data on this stream before it can process related
	  streams from the group.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768995

2016-07-22 14:40:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix collection leak
	  The collection referenced owned by playbin3 was not released when it was
	  destroyed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769080

2016-07-22 14:35:17 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix collection refcounting
	  My collection leak fix 83f30627cd9460157935e7e9603c60a15555967e
	  introduced a crash in this scenario: audiotestsrc ! decodebin3 ! fakesink
	  The reference handling of collection in decodebin3 wasn't very clear and
	  my attempt to fix the leak introduced a regression where we went one
	  reference short in some other scenarios.
	  Fixing this by:
	  - Giving a strong reference to DecodebinInput making things clearer
	  - Fixing get_merged_collection() which was sometimes returning an
	  existing reference and sometimes a new one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=769080

2016-07-23 14:42:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/.gitignore:
	* tests/check/libs/.gitignore:
	  Add more files to .gitignore

2016-07-22 14:42:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gsturisourcebin.c:
	  docs: urisourcebin: fix typo

2016-07-22 23:21:36 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturisourcebin.c:
	  playback: Flesh out docs a bit for new elements
	  Add some more text to the docs for urisourcebin,
	  parsebin, decodebin3 and playbin3, including a warning
	  that they are unstable API for now

2016-07-22 12:52:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplaybin3.c:
	  docs: add playbin3, decodebin3, parsebin, urisourcebin to docs
	  Docs still need some fleshing out though.

2016-07-13 18:29:52 +0900  Arun Raghavan <arun@arunraghavan.net>

	* ext/vorbis/gstvorbisenc.c:
	  Revert "vorbisenc: push an updated segment stop time when we know it"
	  This reverts commit a16cd5d2a5cbdf084163ead68b59d537d7db99f7.
	  Setting the stop time on the segment breaks reconfiguration, as the
	  encoder signals an EOS, but we reconfigure it an continue to produce
	  buffers.
	  This information  should not be required via the segment downstream
	  since we already have the sample count being used to generate buffer
	  durations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768763

2016-07-20 11:47:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix unknown duration playing Ogg over HTTP
	  If the duration is not known from the chain, it might be known
	  by the startup seek.
	  This fixes failure to seek.
	  Merged with a patch from Tim-Philipp Müller <tim@centricular.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=768991

2016-07-20 12:17:57 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: use GST_STIME_FORMAT for the correct argument
	  GST_STIME_ARGS is used for time_offset not for last_time.
	  This fixes the format string accordingly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768990

2016-07-19 18:20:57 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: after a reset, recalculate the ouput size
	  After we reset the resampler, there is no history anymore in the resampler
	  and the previously calculated output size is no longer valid.
	  Recalculate the new output size after a reset to make sure we don't try
	  to convert too much.

2016-07-19 13:26:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: fix some leaks
	  Fixes check-valgrind for subparse test.

2016-07-18 17:26:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsink.c:
	  tests: appsink: add minimal test for new pull with timeout functions
	  https://bugzilla.gnome.org/show_bug.cgi?id=768852

2016-07-15 13:20:29 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	* win32/common/libgstapp.def:
	  appsink: add _pull_sample/preroll() variants with timeout
	  The _pull_sample() and _pull_preroll() functions block
	  until a sample is available, EOS happens or the pipeline
	  is shut down (returning NULL in the last two cases).
	  This adds _try_pull_sample() and _try_pull_preroll()
	  functions with a timeout argument to specify the maximum
	  amount of time to wait for a new sample.
	  To avoid code duplication, wait forever if the timeout is
	  GST_CLOCK_TIME_NONE and use that to implement
	  _pull_sample/_pull_preroll with the original behavior.
	  Add also corresponding action signals "try-pull-sample"
	  and "try-pull-preroll".
	  https://bugzilla.gnome.org/show_bug.cgi?id=768852

2016-07-13 14:17:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	  decodebin3: actually check result of accept caps query
	  We were just checking if the query was handled, not its result.
	  Also fix a leak as gst_pad_query() was not consuming the query.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-18 14:20:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimagesink: only error out if the allocated memory is too small
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-18 19:59:23 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimageallocator.h:
	  xvimageallocator: const correctness in gst_xvimage_allocator_alloc().
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-07 22:27:15 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* sys/xvimage/xvimageallocator.c:
	* sys/xvimage/xvimageallocator.h:
	* sys/xvimage/xvimagepool.c:
	  xvimagesink: error out on buffer size sanity check failure.
	  If sanity checks on the buffer size allocated by XvShmCreateImage() fail,
	  call on g_set_error(), rather than just logging a warning, as this
	  failure is fatal.
	  Add a sanity check on buffer size when the video format is RGB. This adds to
	  existing checks on various YUV pixel formats.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767712

2016-07-14 10:33:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin3.c:
	  playbin3: fix stream leak
	  The stream returned by gst_message_streams_selected_get_stream() is
	  reffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-13 16:16:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix collection leak
	  The collection owned by GstDecodebin3 has to be unreffed when disposing.
	  gst_event_new_stream_collection() doesn't consume the collection passed
	  to it so no need to give it an extra ref.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 10:34:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	  decodebin3: fix stream leaks
	  MultiQueueSlot owns a ref on the active stream so it should release it
	  when being freed.
	  DecodebinInputStream owns ref on the active and pending stream so they
	  should be dropped when being freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 14:24:23 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix event leaks
	  Returning GST_PAD_PROBE_HANDLED means we are taking care of unreffing
	  the probe info.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-14 16:29:39 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	  decodebin3: fix caps leaks
	  gst_stream_get_caps() returns a reffed caps.
	  The caps passed to gst_query_set_caps_result() are not transfered.
	  The caps in gst_parse_pad_stream_start_event() was either acquired
	  using gst_pad_get_current_caps() which returns a new ref or
	  explicitly reffed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768811

2016-07-15 19:48:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtp: rtpbasedepayload: simplify code
	  Remove unnecessary helper struct for callbacks. The bclass
	  member of the helper struct was not used, so we can just
	  remove it and the GET_CLASS() call and simplify the whole
	  affair by passing the depayloader directly to the callback.

2016-07-13 16:02:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstplaybin3.c:
	* tests/examples/decodebin_next/decodebin3.c:
	* tests/examples/decodebin_next/playbin-test.c:
	  playbin3: fix leaks of collection returned by message parse API
	  gst_message_parse_stream_collection() and
	  gst_message_parse_streams_selected() actually return a reffed
	  GstStreamCollection.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768776

2016-07-15 22:47:02 +1000  Jan Schmidt <jan@centricular.com>

	* tools/gst-play.c:
	  gst-play: Allow disabling audio/video/subtitle tracks
	  When cycling through tracks, add 'disable' to the set
	  of states.

2016-06-24 12:25:30 +1000  Jan Schmidt <jan@centricular.com>

	* ext/alsa/gstalsasink.h:
	  alsasink: Remove unused hwparam/swparam pointers
	  The ALSA params structures aren't kept. The pointers
	  aren't used anywhere, so remove them from the struct.

2016-07-13 15:45:33 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tools/gst-device-monitor.c:
	  tools: fix device leaks in gst-device-monitor
	  gst_message_parse_device_{added,removed} is actually returning a new ref
	  on the device.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768776

2016-07-12 12:03:53 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  videoscale: fix bus leak in test
	  gst_bus_add_signal_watch() takes a ref on the bus which should be
	  released using gst_bus_remove_signal_watch().
	  https://bugzilla.gnome.org/show_bug.cgi?id=768718

2016-07-11 19:17:41 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>

	* gst-libs/gst/video/videoorientation.c:
	  videoorientation: Use G_DEFINE_INTERFACE instead of a manually written get_type()
	  https://bugzilla.gnome.org/show_bug.cgi?id=768687

2016-07-12 00:13:32 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-format.c:
	  video: Fix some compiler warnings for out-of-range enum values
	  https://bugzilla.gnome.org/show_bug.cgi?id=767816

2016-07-11 21:13:37 +0200  Stefan Sauer <ensonic@users.sf.net>

	* common:
	  Automatic update of common submodule
	  From f363b32 to f49c55e

2016-07-10 10:28:44 +0900  Seungha Yang <sh.yang@lge.com>

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* tests/check/elements/appsrc.c:
	  appsrc: Remove trailing whitespace
	  https://bugzilla.gnome.org/show_bug.cgi?id=768510

2016-07-08 16:43:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Remove some more fields from the caps when creating from discoverer info
	  parsed, framed, stream-format and alignment are only relevant for parsers and
	  should not matter here. We still want to be able to use an encoder that can
	  only output byte-stream if the input was avc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768566

2016-07-08 15:45:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  missing-plugins: Remove some other fields when cleaning up caps
	  Caps are cleaned up for missing plugins, and for creating encoding profiles
	  and caps descriptions.
	  Fields like streamheader, parsed, framed, stream-format and alignment are not
	  relevant here. The last ones all because a parser will take care of them.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768566

2016-07-08 15:44:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: Mark private functions as G_GNUC_INTERNAL

2016-07-07 17:37:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/subparse/gstsubparse.c:
	  subparse: don't reset allowed tags
	  When a discont buffer is processed, the state is re-initialized, which
	  nullifies the allowed_tags.
	  The problem is when a subrip string with tags is processed and allowed_tags is
	  NULL. The function subrip_unescape_formatting() calls g_strjoinv with a
	  str_array as NULL, leading to a GLib-CRITICAL.
	  This patch removes the allowed_tags resetting, in parser_state_init(), but
	  move it into gst_sub_parse_format_autodetect().
	  https://bugzilla.gnome.org/show_bug.cgi?id=768525

2016-07-04 17:19:08 +0100  Sergio Torres Soldado <torres.soldado@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix potential deadlock caused by blocking read forever
	  Reset the connection "may_cancel" property to avoid a potential deadlock
	  if there is no data to read and the socket stays blocked forever.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768249

2016-07-07 17:29:34 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix compilation on big-endian

2016-07-07 17:10:17 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: More trickmode fix
	  We need to take into account the input segment flags to know whether
	  we should drain the decoder after a new keyframe in trick mode.
	  Otherwise we would have to wait for the next frame to be outputted (and
	  the segment to be activated) which ... well ... kind of beats the whole
	  point of this draining :)

2016-07-06 21:13:19 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES
	  https://bugzilla.gnome.org/show_bug.cgi?id=768495

2016-07-07 00:27:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Ship audio-resampler-neon.h

2016-07-06 16:14:32 +0200  Thijs Vermeir <thijsvermeir@gmail.com>

	* tests/examples/playback/playback-test.c:
	  tests: correctly print guintptr on mac

2016-07-06 13:51:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.9.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/audio-enumtypes.h:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	  Release 1.9.1

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2016-07-06 10:18:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2016-06-30 16:36:27 +0200  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Take stream lock one time only on drain
	  When the drain is triggered from the chain function the lock is already
	  taken so there is no need to take it one more time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767641

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix criticals fixating a non existent field
	  https://bugzilla.gnome.org/show_bug.cgi?id=766970

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Protect samples_in/bytes_out and audio info with object lock
	  It might cause invalid calculations during the CONVERT query otherwise.

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

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Protect samples_in/bytes_out and audio info with object lock
	  It might cause invalid calculations during the CONVERT query otherwise.

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  audioencoder/decoder: Move encoded audio conversion function to a common place
	  No need to duplicate this non-trivial function.

2016-07-04 09:15:03 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix criticals fixating a non existent field
	  https://bugzilla.gnome.org/show_bug.cgi?id=766970

2016-07-04 10:55:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Use the object lock to protect bytes/time tracking
	  And especially don't use the stream lock for that, as otherwise non-serialized
	  queries (CONVERT) will cause the stream lock to be taken and easily causes the
	  application to deadlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=768361

2016-07-04 10:52:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Use the object lock to protect bytes/time tracking

2016-07-04 10:47:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutilsprivate.c:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	  videoencoder/decoder: Move conversion utility functions to a common header and use consistently in encoder/decoder

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

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: If do-timestamp=TRUE, capture the time when the buffer was pushed to the source
	  ... instead of the time when it was pushed further downstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763630

2016-04-29 00:59:42 -0700  Zaheer Abbas Merali <zaheermerali@gmail.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  basertpdepayload: create valid segment when given non-time segment
	  This will become an error in 1.10.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765796

2016-06-30 18:53:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: fix handling of very short files in push mode
	  By default we'll wait for a certain amount of data before
	  attempting typefinding. However, if the stream is fairly
	  short, we might get EOS before we ever attempted any
	  typefinding, so at this point we should force typefinding
	  and output any pending data if we manage to detect the
	  type.
	  https://bugzilla.gnome.org//show_bug.cgi?id=768178

2016-06-30 17:30:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: fix erroring out if we reach EOS without detecting type
	  In 0.10 the source pad was a dynamic pad that was only added once
	  the type had been detected, but in 1.x it's an always source pad,
	  so checking whether it's still NULL won't work to detect if the
	  type has been detected.
	  Makes tagdemux error out when we get EOS but haven't managed to
	  identify the format of the data after the tag.
	  https://bugzilla.gnome.org//show_bug.cgi?id=768178

2016-06-30 17:26:56 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstparsebin.c:
	  parsebin: Fix authors and description

2016-06-30 17:26:14 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gsturidecodebin3.c:
	  playback: Remove uridecodebin3
	  This was committed by mistake. The solution forward is to use the
	  appropriate combination of urisourcebin and decodebin3

2016-06-29 18:14:51 +0200  Edward Hervey <edward@centricular.com>

	* configure.ac:
	* gst/playback/Makefile.am:
	* gst/playback/gstdecodebin3-parse.c:
	* gst/playback/gstdecodebin3.c:
	* gst/playback/gstparsebin.c:
	* gst/playback/gstplayback.c:
	* gst/playback/gstplayback.h:
	* gst/playback/gstplaybin3.c:
	* gst/playback/gsturidecodebin3.c:
	* gst/playback/gsturisourcebin.c:
	* tests/examples/Makefile.am:
	* tests/examples/decodebin_next/.gitignore:
	* tests/examples/decodebin_next/Makefile.am:
	* tests/examples/decodebin_next/decodebin3.c:
	* tests/examples/decodebin_next/playbin-test.c:
	  playback: New elements
	  With contributions from Jan Schmidt <jan@centricular.com>
	  * decodebin3 and playbin3 have the same purpose as the decodebin and
	  playbin elements, except make usage of more 1.x features and the new
	  GstStream API. This allows them to be more memory/cpu efficient.
	  * parsebin is a new element that demuxers/depayloads/parses an incoming
	  stream and exposes elementary streams. It is used by decodebin3.
	  It also automatically creates GstStream and GstStreamCollection for
	  elements that don't natively create them and sends the corresponding
	  events and messages
	  * Any application using playbin can use playbin3 by setting the env
	  variable USE_PLAYBIN3=1 without reconfiguration/recompilation.

2016-06-29 18:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Handle fallback channel mask for mono correctly
	  It's 0 and no mask should be set for mono at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757472

2016-06-27 20:53:37 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't send another step event to the audio-sink if we got step-done from there
	  Otherwise we would end up with a deadlock as the audio-sink emits step-done
	  from its streaming thread.

2016-06-27 20:49:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Force STEP events on the video-sink for GST_FORMAT_BUFFERS
	  It does not make much sense for audio sinks.

2016-06-24 01:56:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* configure.ac:
	  configure: Need to add -DGST_STATIC_COMPILATION when building only statically
	  https://bugzilla.gnome.org/show_bug.cgi?id=767463

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: demote an expected error to debug
	  Dropping a buffer because we have a seek pending is normal,
	  and will now happen when we trigger a seek while going through
	  the packets in a page. So this should not be an error.

2016-06-22 16:02:37 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: fix interlaced scaling some more
	  Fix problem with the line cache where it would forget the first line in
	  the cache in some cases.
	  Keep as much backlog as we have taps. This generally works better and we
	  could do even better by calculating the overlap in all taps.
	  Allocated enough lines for the line cache.
	  Use only half the number of taps for the interlaced lines because we
	  only have half the number of lines.
	  The pixel shift should be relative to the new output pixel size so scale
	  it.
	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=767921

2016-06-21 14:53:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  plugin-doc: Minor re-order

2016-06-21 14:40:17 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	  Automatic update of plugins doc files

2016-06-21 18:04:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/discoverer.c:
	  tests: discoverer: handle missing ogg/codec plugins gracefully
	  https://bugzilla.gnome.org/show_bug.cgi?id=767859

2016-06-21 11:45:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* common:
	  Automatic update of common submodule
	  From ac2f647 to f363b32

2016-06-20 12:42:28 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: handle missing buffers with no duration
	  If buffer duration is missing, it is parsed from the packet data.
	  This is not foolproof, since Opus can change durations on the
	  fly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767826

2016-06-17 15:11:20 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: preserve duration when skipping a tag at the beginning of a buffer
	  gst_buffer_copy_region() does not copy the duration if it doesn't start
	  with the first byte. We just skip the tag here, so the duration is still
	  valid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767791

2016-06-21 10:24:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* tests/check/libs/discoverer.c:
	  discoverer: Only allow serializing OK discoverer infos to GVariants
	  They will be incomplete otherwise and we can't generate the full serialized
	  information, and instead will crash somewhere on the way.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767859

2016-04-14 14:02:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix audio glitches with low bitrate vorbis
	  A low bitrate stream which can pack more than 2 seconds of audio
	  in a page would cause the stream's position to be updated not
	  often enough, and would trigger a spurious "jump" via a GAP
	  event. Instead, we update the stream position after calculating
	  the new overall segment position.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764966

2016-06-16 10:55:52 +0100  Mikhail Fludkov <misha@pexip.com>

	* tests/check/elements/opus.c:
	  opusdec: test for PLC timestamp when FEC is enabled.

2016-04-05 12:41:45 +0200  Mikhail Fludkov <misha@pexip.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: fix invalid timestamps when PLC and delay
	  Elements inherited from GstAudioDecoder, supporting PLC and introducing
	  delay produce invalid timestamps. Good example is opusdec with in-band FEC
	  enabled. After receiving GAP event it delays the audio concealment until
	  the next buffer arrives. The next buffer will have DISCONT flag set which
	  will make GstAudioDecoder to reset it's internal state, thus forgetting
	  the timestamp of GAP event. As a result the concealed audio will have the
	  timestamp of the next buffer (with DISCONT flag) but not the timestamp
	  from the event.

2016-06-11 17:11:30 +0200  Paulo Neves <pneves@airborneprojects.com>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  exiftag: Increase serialized geo precision
	  The serialization of double typed geographical
	  coordinates to DMS system supported by the exif
	  standards was previously truncated without need.
	  The previous code truncated the seconds part of
	  the coordinate to a fraction with denominator
	  equal to 1 causing a bug on the deserialization
	  when the test for the coordinate to be serialized
	  was more precise.
	  This patch applies a 10E6 multiplier to the numerator
	  equal to the denominator of the rational number.
	  Eg. Latitude = 89.5688643 Serialization
	  DMS Old code = 89/1 deg, 34/1 min, 7/1 sec
	  DMS New code = 89/1 deg, 34/1 min, 79114800UL/10000000UL
	  Deserialization
	  DMS Old code = 89.5686111111
	  DMS New code = 89.5688643
	  The new test tries to serialize a higher precision
	  coordinate.
	  The types of the coordinates are also guint32 instead
	  of gint like previously. guint32 is the type of the
	  fraction components in the exif.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767537

2016-06-10 22:36:32 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Fix calculations for bytes<->samples conversions
	  Use bpf instead of channels * sizeof(gint16).
	  https://bugzilla.gnome.org/show_bug.cgi?id=767505

2016-06-10 14:04:36 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()
	  https://bugzilla.gnome.org/show_bug.cgi?id=767506

2016-06-10 22:50:41 -0400  Thomas Jones <thomas.jones@utoronto.ca>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: fix timestamp calculation for audio channels > 1
	  We have to use bps*channels instead of just bps, which is exactly what bpf is for.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767507

2015-04-09 19:09:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: handle buffer's flags at offset
	  For reverse playback it is important to handle correctly the frame sync
	  points, which is set when the input buffer doesn't have the DELTA_UNIT flag.
	  This is handled correctly when decoder is packetized, but when it is not the
	  frame's sync point is not copied, and the reverse playback never decodes frame
	  batches.
	  The current patch adds the buffer's flags to the Timestamp list, where the
	  timestamp and duration of the input buffers are hold.

2015-04-09 19:18:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: squash two message logs into one
	  There were two consecutive log messages in gst_video_decoder_decode_frame().
	  Given the information they provide, it is more efficient to squash them into a
	  single one.

2015-04-09 19:16:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: playback rate is in input_segment
	  The playback rate is hold in the input_segment member variable, not in the
	  output_segment, and the parse_gather list was never filled because of that.
	  This patch changes the comparison with input_segment.

2016-06-09 19:02:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Use input segment rate instead of output segment rate to decide whether the drain on keyframes
	  The output segment is only set up after data is output, which might be far in
	  the future for reverse playback. Also we are here interested in the state at
	  the current *input* frame (which is the keyframe), not any possible output.

2016-06-09 18:53:54 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Only drain in KEY_UNITS trick mode after a keyframe in forwards playback mode
	  For reverse playback the same behaviour was already implemented in
	  flush_parse().
	  For reverse playback, chain_forward() is only used to gather frames and not
	  for decoding, and it is actually called by the draining logic, causing an
	  infinite recursion.

2016-06-07 09:48:35 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't push late frames
	  While it's a bit tricky to discard frames *before* decoding (because
	  we might not be sure which data is needed or not by the decoder), we
	  can discard them after decoding if they are too late anyway.
	  Any following basetransform based element or similar would drop the frame too.

2016-06-07 10:31:59 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Avoid recursive drain/flush calls
	  _chain_forward() can also be called with reverse playback. Blindly
	  calling drain_out() on DISCONT buffers would end up in a recursive
	  call.

2016-06-04 09:51:17 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Drain out keyframes in TRICK_MODE_KEY_UNITS
	  When asked to just decode keyframe, if we got a keyframe drain out
	  the decoder straight away.
	  This avoids having to wait for the next frame and reduces delay even
	  more.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767232

2016-06-04 09:49:00 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Drain decoder on DISCONT buffers
	  This ensures the decoder is properly drained out when receiving a
	  DISCONT buffer. The optimal way of doing this would have been to
	  receive a GAP event before hand but it is not always possible.
	  Fixes big delays with some decoders (ex gst-libav) that will not
	  drain out data when only decoding keyframes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767232

2016-06-01 11:02:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: preserve timestamp when skipping a tag at the beginning of a buffer
	  gst_buffer_copy_region() does not copy the timestamp if it doesn't start
	  with the first byte. We just skip the tag here, so the timestamp is still
	  valid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767173

2016-05-10 13:56:13 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/video-color.c:
	* tests/check/libs/video.c:
	  video-color: Fix colorimetry IS_UNKNOWN
	  Fix issue with colorimetry default indicies not being in sync with the
	  actual table causing IS_UNKNOWN() to sometimes fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767163

2016-06-02 13:07:01 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* gst/playback/gstsubtitleoverlay.c:
	  opusenc, subtitleoverlay: use MAY_BE_LEAKED flag
	  Flag caps that are cached locally and will never be freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=767155

2016-06-01 16:56:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Create a new decode element with the parser/convert capsfilter if there is a multiqueue after the parser
	  https://bugzilla.gnome.org/show_bug.cgi?id=767102

2016-05-23 15:11:53 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure the DISCONT flag is set on the outgoing buffer
	  The base class was setting the DISCONT flag before checking whether the buffer
	  would be in segment or not.
	  Fix issues with DISCONT flags not being properly propagated downstream when
	  decoders buffers were out of segment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766800

2016-06-01 15:31:52 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* docs/design/part-mediatype-video-raw.txt:
	  docs: design: add IYU2 raw video format description
	  https://bugzilla.gnome.org/show_bug.cgi?id=763026

2016-06-01 12:36:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: enable shaded background drawing for new IYU2 format

2016-05-30 16:40:26 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-scaler.c:
	* tests/check/libs/video.c:
	  video: add IYU2 format
	  This existed in 0.10 and is needed by dc1394src.
	  IYU2 format is a YUV fully-sampled packed format similar to v308
	  but with different component order (U-Y-V instead of Y-U-V).
	  http://www.fourcc.org/yuv.php#IYU2
	  https://bugzilla.gnome.org/show_bug.cgi?id=763026#c5

2016-03-17 23:47:48 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>

	* ext/libvisual/visual.c:
	  libvisual: Factor out endian-order RGB formats
	  MSVC seems to ignore preprocessor conditionals inside static
	  pad templates. Also remove unnecessary quotes inside caps strings.

2016-05-24 00:44:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  g-i: pass compiler env to g-ir-scanner
	  It's what introspection.mak does as well. Should
	  fix spurious build failures on gnome-continuous.

2016-05-23 19:28:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: use default error messages in some more cases

2016-05-23 15:35:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: use default error message strings in more cases
	  Details should go into the debug message. We should probably
	  make up new codes for encoder/decoder lib init failures too.

2016-05-19 12:26:05 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: Post error message on GST_FLOW_ERROR
	  https://bugzilla.gnome.org/show_bug.cgi?id=766265

2016-05-14 14:41:28 +0200  Olivier Crête <olivier.crete@collabora.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Use GST_AUDIO_DECODER_ERROR
	  This way, the first invalid stream won't break all decoding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766265

2016-05-16 12:52:50 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/gstvideosink.c:
	  videosink: ensure the debug category is always initialized
	  gst_video_sink_center_rect() can be called without a GstVideoSink
	  having been instantiated so we can't relly on the video sink
	  class_init function to init the category.
	  Fix a warning when running:
	  GST_CHECKS=test_video_center_rect GST_DEBUG=6 G_DEBUG=fatal_warnings make libs/video.check-norepeat
	  https://bugzilla.gnome.org/show_bug.cgi?id=766510

2016-05-16 15:39:02 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: fix suburidecodebin leak
	  We take a ref before removing which was never freeded.
	  The element is still alive anyway because the group has its own ref as
	  well.
	  Fix a leak with the 'test_suburi_error_wrongproto' test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766515

2016-05-16 09:52:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/playbin.c:
	  tests: playbin: add test for new "element-setup" signal
	  https://bugzilla.gnome.org/show_bug.cgi?id=578933

2016-05-14 11:28:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: add "element-setup" signal
	  Allows configuration of plugged elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=578933

2016-05-15 14:43:11 +0100  Tim-Philipp Müller <tim@centricular.com>

	* Makefile.am:
	* gst-libs/gst/app/.gitignore:
	* gst-libs/gst/app/gstapp-marshal.list:
	  app: remove marshaller files from git

2016-05-15 14:37:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	  app: use generic marshallers

2016-05-15 12:01:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Reset keyframe_granule when needed
	  This avoids ending up with bogus values when doing flushing seeks
	  in push-mode.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766467

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

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-opus.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: Update for git master

2016-05-14 15:43:24 +0300  Matthew Waters <matthew@centricular.com>

	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	  video/affinetransformationmeta: define the coordinate space used
	  Based on the expected output from the already existing usage by androidmedia
	  and the opengl plugins.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764667

2015-12-17 19:38:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for WebVTT

2015-09-30 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/elements/playsink.c:
	  tests: playsink: add minimal test for playsink element
	  Attempt to reproduce leak.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755867

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/vorbistag.c:
	  vorbistag: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/appsrc.c:
	  appsrc: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 12:17:34 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tests/check/elements/audiorate.c:
	  audiorate: fix buffer leaks in tests
	  It internally uses gst_check_chain_func() so we
	  should call gst_check_drop_buffers() when tearing down tests to free
	  the buffers which have been exchanged through the pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766226

2016-05-10 21:34:53 +0900  Hyunjun Ko <zzoon@igalia.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: parse sdp attributes in case that sdp message doesn't contain mikey message
	  https://bugzilla.gnome.org/show_bug.cgi?id=766204

2016-05-10 16:44:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  appsrc: Add duration property for providing a duration in TIME format
	  https://bugzilla.gnome.org/show_bug.cgi?id=766229

2016-05-10 10:01:12 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videodecoder/encoder: Correct GST_IS_*CODER_CLASS macros
	  They are currently not used, but would result in a compiler error due to wrong
	  variable name usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=766203

2016-05-05 13:16:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Warn if trying to change the state from the streaming thread
	  Instead of silently returning GST_STATE_CHANGE_FAILURE.

2016-05-04 11:33:50 +1000  Alessandro Decina <alessandro.d@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: an element can negotiate before we block it
	  When we initialize an element in decodebin, we 1) set it to PAUSED and
	  push sticky events on its sinkpad to trigger negotiation 2) block its
	  src pad(s) to detect CAPS events. We can't block before 1) as that
	  would lead to a deadlock.
	  It's possible (and common) tho that an element configures its srcpad
	  during 1) and before 2). Therefore before this change we would
	  typically block and expose an element's pad only once the element
	  output its first buffer, triggering sticky events to be resent. One
	  consequence of this behaviour is that it sometimes broke
	  renegotiation.
	  With this change now we consider a pad ready to be exposed when it's
	  ->blocked or has fixed caps (which were set before we could block it).
	  https://bugzilla.gnome.org/show_bug.cgi?id=765456

2016-05-02 14:21:55 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	* tests/check/elements/opus.c:
	  opusdec: intersect with the filter before returning on getcaps
	  So upstream gets a smaller set to decide upon as it is what it requested
	  with the filter
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-02 10:23:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	* tests/check/elements/opus.c:
	  opusdec: improve getcaps to return all possible rates
	  The library is capable of converting to different rates.
	  Includes tests.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-02 10:21:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: remove artificial restriction on rate negotiation
	  Remove restrictions when rate is 48000, the underlying lib supports
	  converting any of the input to any of the output rates.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765684

2016-05-01 23:19:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: refactor getcaps repeated code into a function
	  Easier to read and maintain

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

	* tests/check/elements/opus.c:
	  tests: opus: remove apparently useless macro in tests

2016-04-29 11:06:49 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix caps memory leak

2016-04-28 11:21:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Recurse into nested container profiles and only add the final audio/video streams
	  If we e.g. have AVI with DV container with video/audio inside the DV
	  container, we can't handle this at this point with an encoding profile.
	  Instead of erroring out, flatten the container hierarchy.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2016-04-28 11:18:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fail to create encoding profile from discoverer info if no streams could be added
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2016-04-28 11:15:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Move adding of each stream to a helper function
	  https://bugzilla.gnome.org/show_bug.cgi?id=765708

2015-08-21 10:40:33 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst-libs/gst/tag/gstexiftag.c:
	* tests/check/libs/tag.c:
	  exiftag: handle GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
	  This tag match the EXIF_TAG_FOCAL_LENGTH_IN_35_MM_FILM exif tag and is
	  stored on a short. Hence there is a precision loss compared to the
	  GstTag which is a double value.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753930

2015-08-21 10:39:36 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: add GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM tag
	  It is the 35 mm equivalent focal length of the lens, mainly used in
	  photography. Tag value is stored in a double value to be consistent with
	  GST_TAG_CAPTURING_FOCAL_LENGTH.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753930

2016-04-28 09:59:25 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix caps leaks
	  The caps returned by gst_pad_get_allowed_caps() was leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765706

2016-04-27 18:08:46 +0900  Kipp Cannon <kipp.cannon@ligo.org>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/audio.h:
	  audio: Add const to segment parameter of gst_audio_buffer_clip()
	  e.g., allows this to be used with the reference retrieved by
	  gst_event_parse_segment().
	  https://bugzilla.gnome.org/show_bug.cgi?id=765663

2016-04-21 08:45:40 +0200  Jakub Adam <jakub.adam@ktknet.cz>

	* sys/ximage/ximagesink.c:
	  ximagesink: generate reconfigure on window handle change
	  When ximagesink is given a new window handle, it should check
	  its geometry and if the size of the new window differs from
	  the previous one, create reconfigure event in order to get
	  a chance to negotiate a more suitable image resolution with
	  the upstream elements.
	  We can't rely on receiving Expose or ConfigureNotify from
	  the X server for the newly assigned window, which would also
	  generate reconfigure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765424

2016-04-25 17:16:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/encoding/gstsmartencoder.c:
	  smartencoder: Only accept TIME segments for real
	  ... and don't try to push pending data without ever having received a SEGMENT
	  event before EOS
	  https://bugzilla.gnome.org/show_bug.cgi?id=765541

2016-04-25 16:48:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: H265 level idc 0 is not valid
	  Don't put level=0 into the caps, it confuses other elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765538

2016-04-25 16:47:00 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: H264 level idc 0 is not valid
	  Don't put level=0 into the caps, it confuses other elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765538

2016-04-25 16:06:39 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Remove codec_data and streamheader fields from constraint caps
	  When converting discoverer output to an encoding profile, it makes sense to
	  omit these. It's very very unlikely that our encoder is going to produce bit
	  by bit the same codec_data or streamheader.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765534

2016-04-25 15:05:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.h:
	  encoding-profile: Don't put G_BEGIN_DECLS around #include statements
	  It should only be around our own declarations.

2016-04-22 15:07:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add more fastpaths for I420 -> RGB
	  Use the I420->BGRA and a new I420->ARGB to speed up any I420 to RGB
	  operation.

2016-04-19 17:36:20 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: update since markers to 1.8.1 for some new APIs
	  As we decided to backport some fixes we update the since markers.

2016-04-17 16:21:32 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/pipelines/vorbisenc.c:
	  tests: vorbisenc: fix with CK_FORK=no

2016-04-12 16:32:20 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Always add a multiqueue in single-stream use-buffering pipelines
	  If we are configured to use buffering and there is no demuxer in the chain, we
	  still want a multiqueue, otherwise we will ignore the use-buffering property.
	  In that case, we will insert a multiqueue after the parser or decoder - not
	  elsewhere, otherwise we won't have timestamps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-18 17:39:02 +0300  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* tools/gst-play.c:
	  gst-play: call gst_deinit()
	  So we can use gst-play to track memory leaks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765216

2016-04-15 17:48:26 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstsdp.def:
	  win32: update .def for new API

2016-04-16 02:11:59 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  Revert "audioringbuffer: start ringbuffer if needed upon commit"
	  This reverts commit 13ee94ef1091f8a8a90dbd395b39876c26c5188e.
	  Causes audio glitches at startup by starting to output segments
	  from the ringbuffer before it has been filled / fully prerolled.
	  https://bugzilla.gnome.org/show_bug.cgi?id=657076

2016-04-15 00:18:50 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdpmessage: new gst_sdp_media_parse_keymgmt/gst_sdp_media_parse_keymgmt
	  We add a couple of new functions gst_sdp_media_parse_keymgmt and
	  gst_sdp_media_parse_keymgmt. We also implement
	  gst_sdp_message_attributes_to_caps and gst_sdp_media_attributes_to_caps
	  in terms of these new functions and also gst_mikey_message_to_caps.

2016-04-14 23:29:34 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	  mikey: add new function gst_mikey_message_to_caps

2016-04-15 12:54:32 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	  subparse: fix build with GCC 4.6.3
	  gstsubparse.c: In function ‘parse_subrip’:
	  gstsubparse.c:988:7: error: ignoring return value of ‘strtol’, declared with attribute warn_unused_result [-Werror=unused-result]
	  cc1: all warnings being treated as errors
	  https://bugzilla.gnome.org/show_bug.cgi?id=765042

2016-04-15 13:08:38 +0200  Josep Torra <n770galaxy@gmail.com>

	* tests/icles/.gitignore:
	  .gitignore: add test-resample binary

2016-04-14 17:26:54 -0700  Aleix Conchillo Flaqué <aconchillo@gmail.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: allow passing srtp or srtcp to create mikey message
	  Current implementation requires all srtp and srtcp parameters to be
	  given in the caps. MIKEY uses only one algorithm for encryption and one
	  for authentication so we now allow passing srtp or srtcp parameters. If
	  both are given srtp parametres will be preferred.
	  https://bugzilla.gnome.org/show_bug.cgi?id=765027

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

	* README:
	* common:
	  Automatic update of common submodule
	  From 6f2d209 to ac2f647

2016-04-13 10:07:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  videometa: Initialize all fields of all metas with default values
	  The metas are not allocated with all fields initialized to zeroes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764902

2016-04-11 15:28:00 +0000  Arjen Veenhuizen <arjen.veenhuizen@tno.nl>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Explicitly initialize GstVideoCropMeta on init
	  It is not allocated with all fields initialized to 0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764902

2016-03-21 16:34:37 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: properly convert position-less channels from ALSA
	  The only way for ALSA to expose a position-less multi channels is to
	  return an array full of SND_CHMAP_MONO. Converting this to a
	  GST_AUDIO_CHANNEL_POSITION_MONO array would be invalid as
	  GST_AUDIO_CHANNEL_POSITION_MONO is meant to be used only with one
	  channel.
	  Fix this by using GST_AUDIO_CHANNEL_POSITION_NONE which is meant to be
	  used for position-less channels.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763799

2016-03-21 16:29:39 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: don't attempt to reorder position-less channels
	  As said in its doc GST_AUDIO_CHANNEL_POSITION_NONE is meant to be used
	  for "position-less channels, e.g. from a sound card that records 1024
	  channels; mutually exclusive with any other channel position".
	  But at the moment using such positions would raise a
	  'g_return_if_reached' warning as gst_audio_get_channel_reorder_map()
	  would reject it.
	  Fix this by preventing any attempt to reorder in such case as that's not
	  what we want anyway.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763799

2016-03-21 07:26:50 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audio: add debug output if channels mapping does not match
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 11:58:13 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	  alsa: add some debugging output to alsa_detect_channels_mapping()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 11:46:45 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* win32/common/libgstaudio.def:
	  gst-audio: add gst_audio_channel_positions_to_string()
	  We currently don't log much about channel positions making debugging
	  harder as it should be. This is the first step in my attempt to improve
	  this.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 05:09:10 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: factor out alsa_detect_channels_mapping()
	  This code was duplicated in alsasrc and alsasink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-03-21 05:06:18 -0400  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/alsa/gstalsa.h:
	  alsa: coding style fix
	  Was using tabs instead of spaces.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763985

2016-04-12 16:34:00 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  fdmemory, rtpbasedepayload: Ran gst-indent
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-12 16:25:12 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Rename misleading variable is_parser_converter into is_parser
	  In that place, the variable isn't checking whether the element is a
	  converter, only if it is a parser.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764948

2016-04-11 11:28:09 +0200  Fabrice Bellet <fabrice@bellet.info>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audio: Fix a race with the audioringbuffer thread
	  There is a small window of time where the audio ringbuffer thread
	  can access the parent thread variable, before it's initialized
	  by the parent thread. The patch replaces this variable use by
	  g_thread_self().
	  https://bugzilla.gnome.org/show_bug.cgi?id=764865

2016-04-06 17:57:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/gstlibscpp.cc:
	  tests: libscpp: test RTP/RTCP buffer init macros with C++ compiler

2016-04-06 21:03:19 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Don't complain when stream-start is the first event.
	  When blocking the subtitle pad, it's expected that stream-start
	  is the first event, and that it can precede caps arriving on the
	  peer pad - in fact the caps can only have arrived on the peer
	  pad when it was pre-primed with sticky events previously.
	  Instead, just pass the stream-start and don't block, because
	  stream-start is sticky anyway.

2016-04-06 21:00:10 +1000  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: WebVTT Cue identifiers are optional
	  Don't require a cue identifier preceding the time range line
	  when parsing WebVTT. We could also store the CueID, but it's
	  not using anywhere, so just ignore it for now.

2016-04-05 14:26:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstaudio.def:
	  win32: Add new libgstaudio symbols

2016-04-01 12:25:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  libs: audio: split allocation query caps and pad caps
	  Since the allocation query caps contains memory size and the pad's caps
	  contains the display size, an audio encoder or decoder might need to allocate
	  a different buffer size than the size negotiated in the caps.
	  This patch splits this logic distinction for audiodecoder and audioencoder.
	  Thus the user, if needs a different allocation caps, should set it through
	  gst_audio_{encoder,decoder}_set_allocation_cap() before calling the negotiate()
	  vmethod. Otherwise the allocation_caps will be the same as the caps in the
	  src pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764421

2016-03-31 15:31:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutils.c:
	* gst-libs/gst/video/gstvideoutils.h:
	  libs: video: split allocation query caos and pad caps
	  Since the allocation query caps contains memory size and the pad's caps
	  contains the display size, a video encoder or decoder might need to allocate
	  a different frame size than the size negotiated in the caps.
	  This patch splits this logic distinction for videodecoder and videoencoder.
	  The user if needs a different allocation caps, should set the allocation_caps
	  in the GstVideoCodecState before calling negotiate() vmethod. Otherwise the
	  allocation_caps will be the same as the caps set in the src pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764421

2016-04-04 16:39:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: fix gtk-doc comment format

2016-04-02 10:37:55 +0200  Mikhail Fludkov <misha@pexip.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  rtpbasedepayload: look at ssrc before sequence numbers
	  Doing so prevents us dropping buffers in the rare, but possible, situations,
	  when the stream changes SSRC and new sequence numbers does not differ
	  much from the last sequence number from previous SSRC. For example:
	  ssrc - 0xaaaa 101,102,103,104 ssrc - 0xbbbb 102, 103, 104, 105...
	  In the scenario above we don't want to drop the first 3 packets of
	  0xbbbb stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764459

2016-04-03 11:40:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Don't fill up the segment with duplicate buffers if drop_only==TRUE

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

	* gst/videorate/gstvideorate.c:
	  videorate: Remove dead code
	  We never get into this code path at all if drop_only==TRUE.

2016-03-29 17:19:41 +0200  Frédéric Bertolus <frederic.bertolus@parrot.com>

	* gst/videorate/gstvideorate.c:
	  videorate: avoid useless buffer copy in drop-only mode
	  Make writable the buffer before pushing it lead to a buffer copy. It's
	  because a reference is keep for the previous buffer.
	  The previous buffer reference is only need to duplicate the buffer. In
	  drop-only mode, the previous buffer is release just after pushing the
	  buffer so a copy is done but it's useless.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764319

2016-04-02 15:19:44 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video: fix example code in gst_video_frame_map() docs
	  GST_VIDEO_FRAME_PLANE_PSTRIDE() does not exist.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764414

2016-04-02 10:09:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: copy over result and seekable fields when copying a discoverer info
	  The function gst_discoverer_info_copy doesn't copy the data members seekable
	  and result of the source GstDiscovererInfo.
	  In the case of copying a GstDiscovererInfo for later use, the seekbale will be
	  undefined, which in practice usually will be false, even though the seekable of
	  the original GstDiscovererInfo is true.
	  https://bugzilla.gnome.org/show_bug.cgi?id=762710

2016-03-31 13:32:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Fix macro documentation
	  The parameter type was wrongly documenting that a GstVideoInfo structure
	  pointer was needed, while it needs a GstVideoFormatInfo structure
	  pointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764414

2016-03-26 20:53:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	* tests/check/libs/rtp.c:
	  test: fix indentation

2016-03-26 20:52:16 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtp: rtcpbuffer: fix indentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2016-03-26 20:50:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtp: rtpcbuffer: fix Since markers
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2016-03-30 11:16:49 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: disable neon on arm64
	  Fix the build on arm64 by using HAVE_ARM_NEON instead of __ARM_NEON__.

2016-03-29 22:16:38 +1100  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Add more parsing guards
	  Insert extra checks for the validity of the incoming
	  data when parsing subrip/webvtt content and debug log
	  output for invalid content.
	  Should fix Coverity warnings.

2016-03-29 10:23:08 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/subparse/gstsubparse.c:
	  subparse: add missing break between formats
	  A break is missing at the end of case GST_SUB_PARSE_FORMAT_LRC or it will
	  fallthrough to WebVTT. This fixes commit fd2a14144a7a.

2016-03-29 12:11:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x) in more places

2016-03-29 11:25:15 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* win32/common/video-enumtypes.c:
	  win32: Update exports for new video formats
	  Update win32 exports for P010_10BE and P010_10LE
	  video formats.

2016-03-29 11:16:42 +0300  Scott D Phillips <scott.d.phillips@intel.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: add P010 format support
	  P010 is a YUV420 format with an interleaved U-V plane and 2-bytes per
	  component with the the color value stored in the 10 most significant
	  bits.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761607
	  ---
	  Changes since v2:
	  - Set bits=16 in DPTH10_10_10_HI
	  Changes since v1:
	  - Fixed x-offset calculation in uv.
	  - Added 6-bit shifts to FormatInfo.

2016-03-29 10:15:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  resampler: Use _mm_set_epi64x(0, x) instead of _mm_cvtsi64_si128(x)
	  The latter is only available on x86-64 for some reason.

2016-03-29 08:21:54 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Fix distcheck
	  Don't forget to dist the needed files (which don't need to be installed)

2016-03-28 15:37:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: estimate memory usage in auto mode
	  Estimate the memory usage and use this to decide between full or
	  interpolated filter.

2016-03-28 12:51:26 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/Makefile.am:
	* gst/audioresample/README:
	* gst/audioresample/gstaudioresample.c:
	  audioresample: remove last ORC remains

2016-03-16 12:55:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small optimizations

2016-03-04 17:15:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: improve non-interleaved flags
	  Make it possible to have different interleaving on input and output
	  because we can quite trivially do that.

2016-03-02 11:40:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: unroll some more loops
	  Unroll some loops.

2016-03-01 16:31:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: keep precision
	  Transpose and add before applying the cubic interpolation to avoid
	  overflows when using full precision.

2016-03-01 16:26:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small cleanups

2016-02-25 15:38:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: optimize no resampling
	  Switch to the faster nearest resample method when are doing no rate
	  conversion.

2016-02-25 14:09:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add VARIABLE_RATE flag
	  Add a VARIABLE rate flag that selects an interpolating filter.
	  Move some function setup code in the _new function.

2016-02-23 04:46:55 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: more neon optimizations

2016-02-24 12:57:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: avoid overflow in cubic interpolation
	  Shift out an extra bit to have some more headroom when doing cubic
	  interpolation.

2016-02-24 12:56:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: overread only 8 taps
	  We only need 8 taps of zeroes as headroom for the SIMD optimized
	  functions.

2016-02-24 12:55:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: use helper to check intermediate format

2016-02-23 15:37:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix phase

2016-02-22 11:16:28 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: fix neon assembler

2016-02-22 13:19:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: avoid some format conversion
	  Store the filter in the desired sample format so that we can simply do a
	  linear or cubic interpolation to get the new filter instead of having to
	  go through gdouble and then convert.

2016-02-22 03:28:21 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: fix neon linear float interpolation

2016-02-19 16:39:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: reorder filter coefficients for more speed
	  Reorder the filter coefficients to make it easier to use SIMD for
	  interpolation.
	  Fix orc flags a little.
	  Add specialized nearest resampling function.

2016-02-19 10:40:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: remove stereo optimizations
	  The stereo optimizations don't give enough benefit.
	  Rename none to full to make it clear that we use a full filter instead
	  of an interpolated one

2016-02-18 12:48:45 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resample: remove neon double stubs
	  NEON does not have double types.

2016-02-18 12:38:49 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: add more neon optimizations

2016-02-18 11:05:18 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	  audio-resampler: add more neon optimizations

2016-02-17 11:20:06 -0500  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-neon.h:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add neon optimizations
	  Unroll some more loops in the fallback code that seems to work fine
	  for ARM.
	  Add some simple ARM optimizations taken from speex.

2016-02-17 13:12:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: give better hints about the precision
	  Give better hints to the compiler about the precision we expect from
	  the multiplications.

2016-02-17 12:05:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resample: small optimizations
	  Remove some inline functions that are called in the slow path.
	  Unroll C fallback functions a little.

2016-02-16 09:18:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Use n_phases when calculating taps offset
	  Tweak linear interpolation oversampling.
	  Clear filter cache on rate changes when using a full filter.

2016-02-15 18:06:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audio-resampler: improve filter construction
	  Remove some unused variables from the inner product functions.
	  Make filter coefficients by interpolating if required.
	  Rename some fields.
	  Try hard to not recalculate filters when just chaging the rate.
	  Add more proprties to audioresample.

2016-02-12 10:00:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: avoid overflow in fraction calculation

2016-02-11 19:42:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: increase precision

2016-02-11 17:40:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: add more optimizations

2016-02-11 13:23:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resample: fix taps conversion
	  We do taps conversion in place so make sure we don't overwrite the
	  input with temporary data.
	  Optimize some more gint16 functions.

2016-02-11 11:57:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Improve taps memory layout
	  Rearrange the oversampled taps in memory to make it easier to use
	  SIMD instructions on them. this simplifies some sse code.
	  Add some more optimizations

2016-02-10 17:28:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add cubic interpolation

2016-02-10 13:31:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* win32/common/libgstaudio.def:
	  audio-resampler: add more functions
	  Use some macros to generate more functions

2016-02-10 12:04:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add linear interpolation method
	  Make more functions into macros.
	  Add linear interpolation of filter coefficients.

2016-02-04 15:22:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/icles/Makefile.am:
	* tests/icles/test-resample.c:
	  tests: add resample test

2016-02-04 15:21:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: add max-phase-error config

2016-02-04 15:19:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve tap calculation
	  Return the taps from make_taps, this makes it possible to not actually
	  have to cache the taps when we want to.
	  Fix overflow in phase calculation.

2016-02-02 12:06:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	  audio-resampler: fix guint -> gint

2016-02-02 11:48:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve phase error
	  Accept a phase error of maximum 10%, which turns out to be inaudible.

2016-02-01 17:18:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: improve phase calculation
	  Also calculate the GCD with the current phase so that we can accurately
	  represent the current phase with the new resample rates.

2016-01-26 22:53:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix history after buffer resize
	  When we resize the temp buffer, move the history in its new place.

2016-01-26 16:42:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	* win32/common/libgstaudio.def:
	  audio-resampler: add reset function
	  Add a function to reset the audio-resampler.
	  Use new function in audio-converter
	  Use the new functions in gstaudioresample and fixup drain functions.

2016-01-26 16:40:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Small fixes
	  Fix the phase.
	  Reset the new sample buffer with 0.
	  Move samples around when we change the filter size.

2016-01-26 16:38:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: Rework make_taps
	  Make it return a pointer to the generated taps. That way we can later
	  decide to actually cache it or not.

2016-01-26 09:57:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	  audio-resampler: handle filter length changes
	  Update the buffer with history samples when the filter length changes
	  because of an update of the parameters or sample rates.

2016-01-22 17:34:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: fix samples_avail
	  We only know the taps after we calculate them.

2016-01-22 16:45:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: work on dynamically changing the samplerate
	  Calculate the new phase for the new sample rate.
	  Fix some docs.

2016-01-22 10:28:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: small cleanups

2016-01-21 10:38:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add fallback to mono function
	  Remove stereo implementations. Implement fall back to mono functions
	  when the stereo function is missing.

2016-01-18 12:52:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: add float stereo SSE function

2016-01-15 12:45:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* configure.ac:
	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: Fix compilation of intrinsics
	  Only compile intrinsics when we are building for the selected
	  architecture.
	  Add sse4.1 optimized int32 resampler code.

2016-01-15 11:43:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audioconvert: only resample on supported formats

2016-01-15 11:20:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst/audioresample/gstaudioresample.c:
	  audio-converter: make some optimized functions
	  Make an optimized function that just calls the resampler when possible.
	  Optimize the resampler transform_size function a little.

2016-01-15 10:26:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: remove mirror function
	  We don't need to mirror the input, just assume 0 samples.
	  Always move the processed samples to the start of the buffer.
	  Add some G_LIKELY

2016-01-13 17:50:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	  audio-resampler: also enable sse when sse2 is available

2016-01-13 17:44:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: optimizations
	  Improve int16 resampling by using pmaddwd
	  Use intrinsics to scale and pack int16 samples
	  Align the coefficients so that we can use aligned loads
	  Add padding to taps and samples so that we don't have to use partial
	  loads for the remainder of the loops.
	  Remove copy_n, we can reuse the plain copy function with some new
	  parameters.
	  Align and pad the sample array.

2016-01-12 18:55:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-x86.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: make pluggable optimized functions
	  Add support for x86 specialized functions and select them at runtime.

2016-01-12 10:23:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-resampler-core.h:
	* gst-libs/gst/audio/audio-resampler.c:
	  audio-resampler: combine functions

2016-01-11 16:25:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstaudio.def:
	  defs: update

2016-01-05 16:06:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	  audio-converter: simplify API
	  Remove the consumed/produced output fields from the resampler and
	  converter. Let the caler specify the right number of input/output
	  samples so we can be more optimal.
	  Use just one function to update the converter configuration.
	  Simplify some things internally.
	  Make it possible to use writable input as temp space in audioconvert.

2016-01-04 18:28:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	  audio-converter: more work on resampling
	  - Fix the resampler in the audio converter
	  - fix memory leaks

2015-11-13 15:32:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio-resampler-core.h:
	* gst-libs/gst/audio/audio-resampler.c:
	* gst-libs/gst/audio/audio-resampler.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/dbesi0.c:
	* gst/audioresample/Makefile.am:
	* gst/audioresample/arch.h:
	* gst/audioresample/fixed_arm4.h:
	* gst/audioresample/fixed_arm5e.h:
	* gst/audioresample/fixed_bfin.h:
	* gst/audioresample/fixed_debug.h:
	* gst/audioresample/fixed_generic.h:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/gstaudioresample.h:
	* gst/audioresample/resample.c:
	* gst/audioresample/resample_neon.h:
	* gst/audioresample/resample_sse.h:
	* gst/audioresample/speex_resampler.h:
	* gst/audioresample/speex_resampler_double.c:
	* gst/audioresample/speex_resampler_float.c:
	* gst/audioresample/speex_resampler_int.c:
	* gst/audioresample/speex_resampler_wrapper.h:
	  audio-converter: add resampler
	  Add a resampler to the processing chain when needed.
	  port the audio resampler to the new audioconverter library

2016-03-25 01:13:54 +1100  Jan Schmidt <jan@centricular.com>

	* win32/common/libgstpbutils.def:
	* win32/common/libgstrtp.def:
	  win32: update win32 exports for new API

2016-03-07 23:29:43 +1100  Jan Schmidt <jan@centricular.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	* tests/check/elements/subparse.c:
	  subparse: WebVTT parsing support
	  WebVTT is a new subtitle format for HTML5 video. In this first
	  version of the parser the cue settings are parsed but only stored in
	  the internal parser state structure. Later on these settings could be
	  part of the GstBuffer metadata.
	  https://bugzilla.gnome.org/show_bug.cgi?id=629764

2016-02-26 02:58:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add a typefinder for WebVTT files

2016-02-26 02:56:15 +1100  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Reduce URI typefinder from MAX to LIKELY
	  Don't claim maximum likelihood for anything that starts
	  with text that looks like a uri, it's too broad.

2016-03-24 14:59:48 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Hold new buffering_post lock while posting msgs
	  There's a small window between decodebin choosing a buffering level
	  to post and another thread choosing a different buffering level
	  where things can race. Close that window by holding a new lock
	  that's only for posting buffering messages - like what was done
	  in multiqueue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=764020

2016-03-08 19:22:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: avoid unnecessary gst_pad_has_current_caps() checks
	  No need to do this for each input buffer, we have the input caps
	  stored somewhere already.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763337

2016-03-22 11:25:49 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: Add utilities for AAC and the AACHead header
	  Add utilities about the channels and sample rate for AAC.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749110

2016-03-21 16:06:20 +0900  Jimmy Ohn <yongjin.ohn@lge.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Modify result of seekable in check_upstream_seekable function
	  In check_upstream_seekable function, it returns FALSE value even though
	  we already declare about the seekable variable. So, This patch return
	  result of seekable in check_upstream_seekable function.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763975

2016-03-03 16:46:24 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/libvisual/visual.c:
	* ext/ogg/gstoggaviparse.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggparse.c:
	* ext/ogg/gstogmparse.c:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/encoding/gstsmartencoder.c:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/decodebin.c:
	* tests/check/elements/playbin-complex.c:
	* tests/check/elements/playbin.c:
	* tests/check/elements/videoscale.c:
	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/baseaudiovisualizer.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  base: use new gst_element_class_add_static_pad_template()
	  https://bugzilla.gnome.org/show_bug.cgi?id=763075

2015-10-06 17:02:03 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Add API for APP packets
	  https://bugzilla.gnome.org/show_bug.cgi?id=761944

2014-07-29 15:37:12 +0200  Haakon Sporsheim <haakon@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	* win32/common/libgstrtp.def:
	  rtcpbuffer: Add profile-specific extension API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761950

2016-03-24 13:32:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  Back to development

=== release 1.8.0 ===

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

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

2016-03-24 11:43:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2016-03-08 13:22:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	  install-plugins: update documentation
	  Use gst-inspect-1.0 instead of gst-inspect-0.10
	  https://bugzilla.gnome.org/show_bug.cgi?id=763316

=== release 1.7.91 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/gl.po:
	* po/hr.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/tr.po:
	  Update .po files

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

	* po/cs.po:
	* po/fr.po:
	* po/hu.po:
	* po/pl.po:
	* po/ru.po:
	* po/sr.po:
	* po/sv.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2016-03-14 17:06:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Shut down all elements explicitly to NULL state before freeing the decode chain
	  Due to transient locked state during autoplugging, some elements might be
	  ignored by the GstBin::change_state() and might still be running. Which could
	  then cause pad-added and similar accessing decodebin state that does not exist
	  anymore, and crash.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763625

2016-03-13 13:59:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	  multihandlesink: Remove useless streamheader storage
	  We don't do anything with it but always get them from the caps anyway, so
	  stop storing them and having complicated logic around that.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

2016-03-13 10:51:30 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultihandlesink.h:
	  multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps
	  And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
	  fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
	  puts the HEADER flag on its keyframes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: expose_pad() is always called with lock==TRUE, simplify code
	  This basically reverts ee44337fc3e3030a5155d28b3561af157e6c6003 .
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-12 19:46:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't check twice if the decode chain is complete in pad_added_cb()
	  expose_pad() already does the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-12 19:45:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
	  In other places we lock it the other way around, leading to possible
	  deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
	  autoplugged that adds new pads on itself when its state is changed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763491

2016-03-13 10:58:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/tcp/gstmultioutputsink.c:
	  tcp: Remove unused file
	  It's a copy of multihandlesink, but completely outdated. Let's get rid of it
	  before it gets even more outdated.
	  https://bugzilla.gnome.org/show_bug.cgi?id=763278

2016-03-08 19:22:34 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Add new properties and alignment type for unclamped absolute positions
	  Introduces [x-absolute, y-absolute] properties
	  for positioning in +/- MAX_DOUBLE range.
	  Adds new (h/v)alignment type "absolute" where coordinates
	  map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:
	  [0, 0]: Top-Lefts of video and text are aligned
	  [0.5, 0.5]: Centers are aligned
	  [1, 1]: Bottom-Rights are aligned
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

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

	* ext/pango/gstbasetextoverlay.c:
	  Revert "textoverlay: Do not limit positioning to video area."
	  This reverts commit a48daf6dd8cb69b4260a03aa7f3cdf227d4f1602.
	  This changed behaviour in a way that's not always
	  backwards-compatible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-02-25 05:07:04 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* win32/common/libgstfft.def:
	  win32: Add a module definitions file for gstfft

2016-03-09 09:56:52 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraenc.h:
	  theora: fix performance category initialisation
	  Remove unused _register() functions and look up the performance
	  debug category in a function that's actually called at some point.

2016-03-04 17:13:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.h:
	  audio-channel-mixer: improve non-interleaved flags
	  Make separate flags for non-interleaved input and output because the
	  channel mixer should be able to convert between the two layouts in the
	  future.

2016-03-04 12:12:56 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tools/gst-play.c:
	  gst-play: remove peculiar setting of invalid -v property

2016-02-05 14:14:37 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix chaining causing running time to restart from 0
	  This fixes:
	  gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg
	  https://bugzilla.gnome.org/show_bug.cgi?id=758282

2016-03-03 20:10:17 +0100  Havard Graff <havard.graff@gmail.com>

	* ext/opus/gstopusdec.c:
	  opusdec: plug caps leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=763059

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

	* gst/playback/gstplaysink.c:
	  Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
	  This reverts commit 0615794300234e3efbcb49a524efdee11171ab4c.
	  deinterlace was ported at some point in the last 4 years and has better video
	  format support, and especially better negotiation than avdeinterlace. Having
	  avdeinterlace but not deinterlace causes various problems in zerocopy
	  scenarios.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760553

2016-03-02 18:47:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Make dispose() function safe to be called multiple times

=== release 1.7.90 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2016-01-28 16:26:47 +0100  Tom Deseyn <tom.deseyn@gmail.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: handle client close correctly and EWOULDBLOCK
	  Fixes 100% cpu usage when client disconnects. Commit 6db2ee56
	  would just make multisocketsink ignore reads of 0 bytes without
	  removing the client, so we'd get woken up over and over again
	  for the client.
	  Fix the original issue differently by handling the non-fatal error code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761257
	  https://bugzilla.gnome.org/show_bug.cgi?id=743834

2016-02-27 00:11:02 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup file
	  https://bugzilla.gnome.org/show_bug.cgi?id=761851

2016-02-11 11:27:57 +0100  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add direct UYVY to GRAY8 conversion function
	  https://bugzilla.gnome.org/show_bug.cgi?id=761851

2016-02-04 16:01:00 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opus: fix mono<->stereo up/down-mixing
	  https://bugzilla.gnome.org/show_bug.cgi?id=761588

2016-02-26 17:09:06 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
	  They are converted into <para></para> by gtk-doc...
	  https://bugzilla.gnome.org/show_bug.cgi?id=762674

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

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

2016-02-26 00:53:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
	  They have been replaced by "audio-type" and "bitrate-type".
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-26 00:37:57 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/inspect/plugin-opus.xml:
	  docs: add Opus to docs

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

	* configure.ac:
	* ext/Makefile.am:
	* ext/opus/Makefile.am:
	* ext/opus/gstopus.c:
	* tests/check/Makefile.am:
	* tests/check/elements/.gitignore:
	  opus: move Opus audio decoder and encoder from -bad to -base
	  Hook into build system after moving history.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-25 23:51:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	  Merge branch 'plugin-move-opus'
	  Move Opus decoder and encoder from -bad to -base.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756282

2016-02-25 23:13:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
	  < and > are composed with shift + something else on many keyboards
	  layouts, so don't work well when injecting them via windowing systems
	  which will send them as shift key press and separate other key, and
	  we the don't combine that to < or > properly. n/b are easier.

2016-02-26 00:02:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/libs/baseaudiovisualizer.c:
	  audiovisualizer: Use the library instead of including the source file
	  Fixes build now that the shader enum GType has moved to a different file.

2016-02-25 20:39:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
	  That happens automatically already anyway.

2016-02-25 17:46:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video: flesh out docs for gst_video_frame_map()

2016-02-25 10:47:17 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  visual: correct type name
	  Base class type name should not reference libvisual since not all child
	  elements use this. This was an oversight when merging audiovisualizers into
	  a common base class.

2016-02-24 14:05:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	  audio-quantize: fix feedback dither
	  Make sure we allocated enough extra space in the error buffer to
	  store the feedback error.

2016-02-24 12:54:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: perform dithering on the current format
	  Use the current (intermediate) format to decide how to set up dithering
	  instead of the input format.

2016-02-23 18:23:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully

2016-02-23 09:35:14 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaysink.c:
	  Revert "playsink: Properly mark pending blocked pads"
	  This reverts commit 62053852de01fb324a915b27c00f5b8dc0f66fb3.
	  The issue that the patch fixes is only noticeable when using decodebin3,
	  which isn't yet in master.

2015-12-10 15:32:06 +0100  Adam Miartus <adam.miartus@streamunlimited.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  tag: id3v2: read conductor tag
	  ID3v2 features the TPE3 info frame, which contains information
	  about the conductor.
	  https://bugzilla.gnome.org/show_bug.cgi?id=762451

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

	* ext/theora/gsttheoradec.c:
	* gst-libs/gst/video/video-frame.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoscale/gstvideoscale.c:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagesink.c:
	  Fix use of undeclared core debug category symbols
	  libgstreamer currently exports some debug category
	  symbols GST_CAT_*, but those are not declared in any
	  public headers.
	  Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
	  to declare and use those, but that's just not right at
	  all, and it won't work on Windows with MSVC. Instead look
	  up the categories via the API.

2016-02-20 10:05:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/audio.def:
	* gst-libs/gst/audio/audio.vcproj:
	* gst-libs/gst/audio/audiofilter.vcproj:
	* gst-libs/gst/riff/riff.def:
	* gst-libs/gst/riff/riff.vcproj:
	* gst-libs/gst/video/video.vcproj:
	* gst/adder/adder.vcproj:
	* gst/audioconvert/audioconvert.vcproj:
	* gst/audiorate/audiorate.vcproj:
	* gst/tcp/tcp.vcproj:
	* gst/typefind/typefindfunctions.vcproj:
	* gst/videoconvert/videoconvert.vcproj:
	* gst/videorate/videorate.vcproj:
	* gst/videoscale/videoscale.vcproj:
	* gst/videotestsrc/videotestsrc.vcproj:
	* gst/volume/volume.vcproj:
	* win32/MANIFEST:
	* win32/vs6/grammar.dsp:
	* win32/vs6/gst_plugins_base.dsw:
	* win32/vs6/libgstadder.dsp:
	* win32/vs6/libgstaudio.dsp:
	* win32/vs6/libgstaudioconvert.dsp:
	* win32/vs6/libgstaudiorate.dsp:
	* win32/vs6/libgstaudioresample.dsp:
	* win32/vs6/libgstaudioscale.dsp:
	* win32/vs6/libgstaudiotestsrc.dsp:
	* win32/vs6/libgstdecodebin.dsp:
	* win32/vs6/libgstdecodebin2.dsp:
	* win32/vs6/libgstdirectsound.dsp:
	* win32/vs6/libgstfft.dsp:
	* win32/vs6/libgstgdp.dsp:
	* win32/vs6/libgstinterfaces.dsp:
	* win32/vs6/libgstogg.dsp:
	* win32/vs6/libgstpbutils.dsp:
	* win32/vs6/libgstplaybin.dsp:
	* win32/vs6/libgstriff.dsp:
	* win32/vs6/libgstrtp.dsp:
	* win32/vs6/libgstrtsp.dsp:
	* win32/vs6/libgstsdp.dsp:
	* win32/vs6/libgstsinesrc.dsp:
	* win32/vs6/libgstsubparse.dsp:
	* win32/vs6/libgsttag.dsp:
	* win32/vs6/libgsttheora.dsp:
	* win32/vs6/libgsttypefindfunctions.dsp:
	* win32/vs6/libgstvideo.dsp:
	* win32/vs6/libgstvideorate.dsp:
	* win32/vs6/libgstvideoscale.dsp:
	* win32/vs6/libgstvideotestsrc.dsp:
	* win32/vs6/libgstvolume.dsp:
	* win32/vs6/libgstvorbis.dsp:
	* win32/vs7/gst-plugins-base.sln:
	* win32/vs7/libgstadder.vcproj:
	* win32/vs7/libgstaudio.vcproj:
	* win32/vs7/libgstaudioconvert.vcproj:
	* win32/vs7/libgstaudiorate.vcproj:
	* win32/vs7/libgstaudioresample.vcproj:
	* win32/vs7/libgstaudiotestsrc.vcproj:
	* win32/vs7/libgstdecodebin.vcproj:
	* win32/vs7/libgstinterfaces.vcproj:
	* win32/vs7/libgstogg.vcproj:
	* win32/vs7/libgstplaybin.vcproj:
	* win32/vs7/libgstriff.vcproj:
	* win32/vs7/libgstsubparse.vcproj:
	* win32/vs7/libgsttag.vcproj:
	* win32/vs7/libgsttcp.vcproj:
	* win32/vs7/libgsttheora.vcproj:
	* win32/vs7/libgsttypefind.vcproj:
	* win32/vs7/libgstvideo.vcproj:
	* win32/vs7/libgstvideorate.vcproj:
	* win32/vs7/libgstvideoscale.vcproj:
	* win32/vs7/libgstvideotestsrc.vcproj:
	* win32/vs7/libgstvolume.vcproj:
	* win32/vs7/libgstvorbis.vcproj:
	* win32/vs8/gst-plugins-base.sln:
	* win32/vs8/libgstadder.vcproj:
	* win32/vs8/libgstaudio.vcproj:
	* win32/vs8/libgstaudioconvert.vcproj:
	* win32/vs8/libgstaudiorate.vcproj:
	* win32/vs8/libgstaudioresample.vcproj:
	* win32/vs8/libgstaudiotestsrc.vcproj:
	* win32/vs8/libgstdecodebin.vcproj:
	* win32/vs8/libgstinterfaces.vcproj:
	* win32/vs8/libgstogg.vcproj:
	* win32/vs8/libgstplaybin.vcproj:
	* win32/vs8/libgstriff.vcproj:
	* win32/vs8/libgstsubparse.vcproj:
	* win32/vs8/libgsttag.vcproj:
	* win32/vs8/libgsttcp.vcproj:
	* win32/vs8/libgsttheora.vcproj:
	* win32/vs8/libgsttypefind.vcproj:
	* win32/vs8/libgstvideo.vcproj:
	* win32/vs8/libgstvideorate.vcproj:
	* win32/vs8/libgstvideoscale.vcproj:
	* win32/vs8/libgstvideotestsrc.vcproj:
	* win32/vs8/libgstvolume.vcproj:
	* win32/vs8/libgstvorbis.vcproj:
	  win32: remove outdated build cruft
	  This hasn't been touched for generations, doesn't work,
	  and is just causing confusion. We also don't want to
	  maintain these files manually.

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

	* configure.ac:
	  Back to development

=== release 1.7.2 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2016-02-18 14:31:28 +0000  Julien Isorce <j.isorce@samsung.com>

	* pkgconfig/gstreamer-allocators-uninstalled.pc.in:
	* pkgconfig/gstreamer-app-uninstalled.pc.in:
	* pkgconfig/gstreamer-audio-uninstalled.pc.in:
	* pkgconfig/gstreamer-fft-uninstalled.pc.in:
	* pkgconfig/gstreamer-pbutils-uninstalled.pc.in:
	* pkgconfig/gstreamer-plugins-base-uninstalled.pc.in:
	* pkgconfig/gstreamer-riff-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtp-uninstalled.pc.in:
	* pkgconfig/gstreamer-rtsp-uninstalled.pc.in:
	* pkgconfig/gstreamer-sdp-uninstalled.pc.in:
	* pkgconfig/gstreamer-tag-uninstalled.pc.in:
	* pkgconfig/gstreamer-video-uninstalled.pc.in:
	  uninstalled.pc: add support for non libtool build systems
	  Currently the .la path is provided which requires to use libtool as
	  mentioned in the GStreamer manual section-helloworld-compilerun.html.
	  It is fine as long as the application is built using libtool.
	  So currently it is not possible to compile a GStreamer application
	  within gst-uninstalled with CMake or other build system different
	  than autotools.
	  This patch allows to do the following in gst-uninstalled env:
	  gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
	  gstreamer-video-1.0)
	  Previously it required to prepend libtool --mode=link
	  https://bugzilla.gnome.org/show_bug.cgi?id=720778

2016-01-22 18:26:01 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: strengthen check for valid H.263 picture layer
	  Avoids some false positives leading to miss identification:
	  * Prevent picture start code emulation for the first 2 bytes read
	  * Add check for valid "picture coding type" and "PB-frames mode" combination
	  Additionally, change name on confusingly named TR var to what
	  it is, the layer's PTYPE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693263

2015-11-23 15:06:02 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: return incomplete topology if decode chains' cap could not be obtained
	  When getting caps of the decode chain, in get_topology, the caps are being
	  checked if fixed or not. But get_topology will be called when the decode is
	  chain is being exposed and hence it will always be fixed. Hence removing the
	  check for fixed caps. Removing gst_pad_get_current_caps for the chain->pad, as
	  get_pad_caps will again call the same api.
	  And get_topology can return NULL value if currently shutting down the
	  pipeline, which on being passed to create message will result in assertion
	  error. Check if topology is valid before using it
	  https://bugzilla.gnome.org/show_bug.cgi?id=755918

2016-02-05 10:10:40 +0100  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/Makefile.am:
	  rtp: build audio library before rtp
	  Because audio-enumtypes.h needs to be available for
	  gstrtpbaseaudiopayload.c
	  https://bugzilla.gnome.org/show_bug.cgi?id=761949

2016-02-15 21:28:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix documentation of the autoplug-query signal

2016-01-26 13:54:46 +0100  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder: Fix leak when pre_push does not return OK
	  https://bugzilla.gnome.org/show_bug.cgi?id=761951

2016-02-11 19:47:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/resample.c:
	  resample: avoid overflows
	  Avoid overflow in rate calculation. This can cause the resampler to
	  start on the wrong phase after a rate change.
	  Avoid overflow in cubic fraction calculation. This can cause noise when
	  dealing with higher samplerates.

2016-02-11 18:01:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioresample/resample_sse.h:
	  resample: fix double interpolation sse code
	  We were only reading 2 filter taps and we need to read 4 to do cubic
	  interpolation.

2016-02-10 12:48:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: make a copy if we can't write in unpack
	  If we don't have writable memory, make sure to make a copy of the input
	  samples into a temporary (writable) buffer, even if we are dealing with
	  a native intermediate format that we don't need to call the unpack
	  function for.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=761655

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

	* tests/check/Makefile.am:
	  tests: extend the AM_TESTS_ENVIRONMENT from check.mak
	  To get the CK_DEFAULT_TIMEOUT defined for all tests.
	  Also replaces a 120 timeout that was set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761472

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

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

2016-01-21 09:43:35 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  textoverlay: Expose rendering dimensions as properties.
	  In order to detect graphical user input on the
	  textoverlay, the resulting rendering properties
	  need to be exposed to applications.
	  Fixes delayx property declaration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-01-20 15:37:44 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Do not limit positioning to video area.
	  The current position property is limited to X,Y positions
	  in the range of [0, 1]. This patch allows full control
	  over the overlay position, including partially outside
	  of the video area.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761251

2016-02-03 16:28:42 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opus: fix FEC
	  FEC may only be used when PLC is enabled on the audio decoder,
	  as it relies on empty buffers to generate audio from the next
	  buffer. Hooking to the gap events doesn't work as the audio
	  decoder does not like more buffers output than it sends.
	  The length of data to generate using FEC from the next packet
	  is determined by rounding the gap duration to nearest. This
	  ensures that duration imprecision does not cause quantization
	  to 2.5 milliseconds less than available. Doing so causes the
	  Opus API to fail decoding. Such duration imprecision is common
	  in live cases.
	  The buffer to consider when determining the length of audio
	  to be decoded is the previous buffer when using FEC, and the
	  new buffer otherwise. In the FEC case, this means we determine
	  the amount of audio from the previous buffer, whether it was
	  missing or not (and get the data either from this buffer, or
	  the current one if the previous one was missing).

2016-02-02 15:20:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix wrong buffer being checked for missing data
	  This caused a decoding error if the resulting (wrong) buffer size
	  was passed to the Opus decoding API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758158

2016-01-28 13:29:39 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Use gst_audio_format_fill_silence() instead of memset with 0 for generating silence
	  For unsigned formats, silence is not all bits 0.

2016-01-28 13:21:33 +0100  HoonHee Lee <hoonhee.lee@lge.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: Minor cleanup of last commit
	  https://bugzilla.gnome.org/show_bug.cgi?id=761218

2016-01-28 18:06:44 +0900  HoonHee Lee <hoonhee.lee@lge.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio/videodecoder: use gst_pad_peer_query_caps to make output caps
	  gst_pad_get_allowed_caps() will return NULL if the srcpad has no peer.
	  In that case, use gst_pad_peer_query_caps() with template caps as filter
	  to have negotiated output caps properly before forwarding GAP event.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761218

2016-01-26 19:23:04 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/encoding/gstencodebin.c:
	  encodebin: Allow streamheader update when profile.allow_dynamic_output == FALSE
	  Some encoders can update the stream header through time (for example
	  vp8 might do that) but it does not strictly changes the output format.

2016-01-26 14:09:42 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: fix GstVideoFormatInfo documentation warnings
	  Add missing ':' to tile_ws and tile_hs fields documentation to avoid
	  bad render of these two fields, mark reserved bytes as private to hide
	  field and avoid gtkdoc warning and add parameters description to
	  documented macro to avoid gtkdoc warnings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=761132

2016-01-26 16:56:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* win32/common/libgstaudio.def:
	  audio-converter: add reset function

2016-01-26 16:36:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: handle NULL input
	  Allow NULL as input to mean silence samples.

2016-01-26 17:16:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: improve _update_config
	  Allow NULL config to keep the existing parameters.
	  Fix the docs.

2016-01-26 17:14:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: audio-converter: make some optimized functions
	  Make optimized functions for generic and passthrough conversion.

2016-01-26 16:34:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	  audio-quantize: add _reset function
	  Add a reset function that clears any history.

2016-01-25 17:40:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	* m4/Makefile.am:
	* m4/freetype2.m4:
	* tests/examples/Makefile.am:
	  build: remove nonsensical check for freetype
	  The examples need Gtk+, nothing uses freetype directly.

2016-01-25 16:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/libvisual.c:
	  tests: libvisual: make run faster
	  Reduce resolution, which shouldn't make any difference
	  to what's tested here. Makes test finish in less than
	  half the time it took before (8s vs. 21s).

2016-01-25 18:30:30 +0530  Arun Raghavan <git@arunraghavan.net>

	* ext/alsa/gstalsasink.c:
	  alsa: Trivial doc update
	  alsasink now does more than just raw audio.

2016-01-21 18:30:40 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Correctly expose pads from elements that have directly exposable pads
	  analyze_new_pad() can return a new decode chain, which might have a new
	  GstDecodePad in the end. We should use those two for expose_pad() and not the
	  original ones that were passed to analyze_new_pad().
	  This fails when having a demuxer element that has raw pads immediately or
	  if a decoder with raw caps is after an adaptive demuxer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760949

2016-01-21 16:08:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: ensure correct alignment of samples
	  Make sure that the data we allocate for our temporary buffers is
	  properly aligned.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=760938

2016-01-21 10:45:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video-color: add Adobe RGB primaries and transfer function

2016-01-20 10:19:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: enfore RGB matrix for RGB formats
	  In gst_video_info_to_caps(), make sure we end up with an RGB matrix for
	  RGB formats and warn when the GstVideoInfo colorimetry is wrong.
	  In gst_video_info_from_caps(), fix the GstVideoInfo with an RGB matrix
	  for RGB formats and warn about inconsistent caps.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=759624

2016-01-20 10:02:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: ignore matrix for RGB formats
	  For RGB formats, the matrix in the colorimetry (conversion from YUV to
	  RGB) is irrelevant and we should ignore it and assume the identity
	  transform for everything we do.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=759624

2016-01-19 23:26:57 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Deprecate GST_VIDEO_ENCODER_FLOW_DROPPED
	  It was never actually supported or used
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-19 23:22:35 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  Revert "videoencoder: Release video frame when ->handle return ERROR or DROPPED"
	  This reverts commit 63517d0ed348784cce4ab4b295c2c0f1b78baa81.
	  It was wrong ref counting wise and we decided to deprecated DROPPED
	  return value
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-18 11:40:36 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/elements/audioconvert.c:
	  tests:audioconvert: Fix integer overflow build error
	  value of 32768L << 16 and 1L << 31 is 2147483648
	  but it exceeds the positive range of int which is 2147483647
	  resulting in integer overflow error. Use G_GINT64_CONSTANT instead of L.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760769

2016-01-19 12:39:22 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Minor documentation cleanup

2016-01-14 23:14:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: allow setting of flags in serialized foo+bar format
	  https://bugzilla.gnome.org/show_bug.cgi?id=751901

2015-07-02 17:58:00 +0200  Hugues Fruchet <hugues.fruchet@st.com>

	* tools/gst-play.c:
	  tools: gst-play: add command line options for verbose output and playbin flags
	  https://bugzilla.gnome.org/show_bug.cgi?id=751901

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

	* win32/common/libgstapp.def:
	  win32: Update exports

2015-10-15 10:38:16 -0400  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  Add WAIT_ON_EOS flag to gstappsink.
	  If set, an appsink that receives an EOS will wait until all of its buffers have been processed before continuing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756187

2016-01-16 10:17:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Add note to the documentation about various settings being reset before set_format()
	  It's quite unexpected behaviour that various subclass settings are just
	  reset before set_format(). Unfortunately changing this now has the risk
	  of breaking existing code but we should reconsider this for 2.0.

2016-01-09 04:35:23 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Ignore flushing streams [..]
	  [..] when resetting group start time. In GES, we are usually connected
	  to the streamsynchronizer on one audio and one video pad.
	  When seeking the timeline, both nlecompositions often output their flush_start
	  before any of them has output its flush_stop.
	  The current code, when receiving the first flush stop was using the
	  running time of the start of the second composition, which could
	  be pretty much anything, and means nothing at that point.
	  This patch is thread-safe, as STREAM_SYNCHRONIZER_LOCK is taken
	  both when setting flushing and when checking it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750013

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

	* gst/playback/gstplaybin2.c:
	  playbin: Only append non-raw and sysmem pad template caps to the autoplug-query result
	  Otherwise a decoder supporting GL memory will think that all downstream can
	  support GL memory because of seeing its own template caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2016-01-08 18:37:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  Revert "playbin: only add the template caps when the result is empty"
	  This reverts commit 023af2d3b192f8ebf1bd4fe75a22a4adaedc1e05.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2016-01-15 13:35:22 +0000  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Release video frame when ->handle return ERROR or DROPPED
	  https://bugzilla.gnome.org/show_bug.cgi?id=760666

2016-01-15 09:50:29 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Properly mark pending blocked pads
	  When blocking input pads, we also need to properly set the appropriate
	  pending flag.
	  Without this, when switching stream types after initial configuration
	  (like going from Audio+Video to Audio+Video+Sub) playsink would never
	  wait for *all* input streams to be blocked (it would just wait for the
	  new input pad (text in this case) to be blocked).
	  Since the reconfiguration might introduce unlinking/relinking of elements,
	  we need to ensure that *ALL* input streams are blocked.
	  Failure to do so would result in having some input streams pushing data
	  to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads
	  (returning GST_FLOW_NOT_LINKED).
	  A later optimization could involve only blocking the input pads that
	  might be involved in reconfiguration. But better be safe than sorry for
	  now :)

2016-01-06 10:12:43 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  gst-device-monitor: Use g_printerr instead of g_error
	  g_error is meant to be used for programmer errors (causes an abort),
	  not for expected runtime errors.

2016-01-13 16:32:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: replace gst_caps_can_intersect() with is_subset()
	  Subset check verifies also that all required fields are present
	  and is mostly commonly used when checking if an element accepts
	  a certain caps

2016-01-12 11:31:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: use subset check instead of intersect
	  Elements usually require that all fields on their caps are present
	  on the fixed caps they receive. Using intersection won't verify it,
	  resort to using is_subset() checks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760477

2016-01-12 15:56:36 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	  audio-channel-mixer: round before truncating
	  Round the result before truncating for int channel mixing.

2016-01-12 15:27:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: Avoid conversion when possible
	  When the input and output formats are the same and in a possible
	  intermediate format, avoid unpack and pack.
	  Never do passthrough channel mixing.
	  Only do dithering and noise shaping in S32 format

2016-01-12 11:43:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mixer.c:
	  audio-channel-mixer: add more formats
	  Add support for float and int16 mixing
	  Remove in-place processing, this simplifies things as we won't be using it.
	  Don't do clipping for float audio formats

2016-01-12 11:37:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: improve processing loop
	  Process as many samples as we can from the input and return the number
	  of processed samples from the chain. This simplifies some code.
	  Fix the IN_WRITABLE handling, don't overwrite the flags.

2016-01-11 18:24:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: replace accept-caps with caps query
	  Those accept caps are actually checking if downstream supports
	  some particular caps to check if it need to negotiate a different
	  format. Checking only the next element with accept-caps is not enough
	  to guarantee that it is supported.
	  Using a caps query makes it obtain the supported caps for downstream
	  as a whole instead of only the next element.

2016-01-08 21:27:16 +0200  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstaudio.def:
	  audio: Update exported symbols list

2016-01-08 15:05:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: replace accept-caps with a caps query
	  accept-caps is only a shallow check, it needs to know
	  whether downstream as a whole accepts the framerate

2016-01-08 16:08:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: fix up for GstAudioChannelMix rename as well

2016-01-08 17:34:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-converter: small API tweaks
	  Pass flags in _converter_new() so that we can configure ourselves
	  differently depending on some options.
	  SOURCE_WRITABLE -> IN_WRITABLE because the array is called 'in'

2016-01-08 17:28:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: prepare API for rate changes
	  Use the update function to update the sample rates along with the config
	  once we implement resampling.

2016-01-08 17:17:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-convert: simplify API
	  Simplify the API, we don't need the consumed and produced output
	  arguments. The caller needs to use the _get_in_frames/get_out_frames API
	  to check how much input is needed and how much output will be produced.

2016-01-08 17:50:21 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	  audio/video: Use G_GNUC_INTERNAL for internal functions

2016-01-08 16:22:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channel-mixer.c:
	* gst-libs/gst/audio/audio-channel-mixer.h:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio.h:
	* win32/common/libgstaudio.def:
	  audio: GstAudioChannelMix -> GstAudioChannelMixer
	  Rename the GstAudioChannelMix object to GstAudioChannelMixer because it
	  looks better and to avoid a conflict with a library in -bad.

2016-01-07 15:24:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Use the caps query instead of accept-caps to detect if a sink accepts caps
	  accept-caps is only for one element, caps query is recursive. Fixes playback
	  with totem and other situations.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760234

2016-01-06 15:49:59 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: store videoinfo after choosing the biggest buffer size
	  Otherwise, pool could be negotiated with a size which will be different
	  from the one used in allocation which is the GstVideoInfo.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760222

2016-01-06 12:14:39 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: add missing break in set_property switch case
	  To avoid future issue when adding new properties.
	  https://bugzilla.gnome.org/show_bug.cgi?id=760204

2016-01-06 01:04:31 +0000  Koop Mast <kwm@FreeBSD.org>

	* tests/check/elements/audioconvert.c:
	  tests: audioconvert: fix test compilation with clang
	  With clang 3.7.1 on FreeBSD:
	  elements/audioconvert.c:650:12: error: shifting a negative signed value is
	  undefined [-Werror,-Wshift-negative-value]
	  (-32 << 16) + (1 << 15), (-32 << 16) - (1 << 15),
	  ~~~ ^
	  https://bugzilla.gnome.org/show_bug.cgi?id=760134

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

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/rtpbasepayload.c:
	  tests: fix indentation of various unit tests

2016-01-05 22:52:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new audio API

2016-01-03 17:21:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/video/video-overlay-composition.h:
	  docs: remove dummy function declarations with G_INLINE_FUNCTION for gtk-doc
	  gtk-doc can handle static inline functions just fine these days,
	  there's no need for this stuff any more.

2016-01-03 10:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add missing closing parenthesis to GST_RIFF_WAVE_FORMAT_ANTEX_ADPCME
	  Apparently this #define is unused.

2016-01-02 23:29:22 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff-ids: remove trailing whitespace

2016-01-02 23:27:44 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff-ids: fix two swapped ids
	  For these fourcc ids the name and value is swapped. This was causing a warning
	  when registering the avi ids.

2015-12-31 20:43:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  sdp: Also reorder SUBDIRS to try even harder to build the RTP library first

2015-12-31 20:41:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  sdp: The SDP library depends on the RTP library now and is not independent anymore
	  Fix up the build dependencies.

2015-10-07 18:50:18 +0900  Hyunjun Ko <zzoon.ko@samsung.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* tests/check/libs/sdp.c:
	* win32/common/libgstsdp.def:
	  sdp: add helper fuctions from/to sdp from/to caps
	  <gstsdpmessage.h>
	  GstCaps*       gst_sdp_media_get_caps_from_media   (const GstSDPMedia *media, gint pt);
	  GstSDPResult   gst_sdp_media_set_media_from_caps   (const GstCaps* caps, GstSDPMedia *media);
	  gchar *        gst_sdp_make_keymgmt                (const gchar *uri, const gchar *base64);
	  GstSDPResult   gst_sdp_message_attributes_to_caps  (GstSDPMessage *msg, GstCaps *caps);
	  GstSDPResult   gst_sdp_media_attributes_to_caps    (GstSDPMedia *media, GstCaps *caps);
	  <gstmikey.h>
	  GstMIKEYMessage * gst_mikey_message_new_from_caps  (GstCaps *caps);
	  gchar *           gst_mikey_message_base64_encode  (GstMIKEYMessage* msg);
	  https://bugzilla.gnome.org/show_bug.cgi?id=745880

2015-12-29 18:14:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Pass pointer arrays instead of singleton pointers to gst_audio_converter_samples()
	  In this specific case it wouldn't cause problems as we only ever access the
	  first array element, but let's make explicit what is happening here.
	  CID 1346530 and 1346529

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

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Check for FALSE'ness directly, not by comparing with FALSE

2015-12-29 17:54:44 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Don't use preset_name string after free
	  When we run the loop for another time and do not have a preset name, we would
	  try to print the preset name of a previous iteration that is already freed.
	  Also move some other variables into the block where they are actually used
	  to prevent similar mistakes in the future.
	  CID 1346536

2015-12-29 14:40:04 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audioconvert.c:
	  audioconvert: add a test for gap handling

2015-12-29 14:23:59 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio-converter.c:
	* tests/check/elements/audioconvert.c:
	  audioconvert: fix passthrough operation
	  We did not take the sample size into account. Rearrange the tests to have more
	  conversion test and an extra test case for passthrough operations.
	  Fixes #759890

2015-12-29 11:29:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: print uint properties in both decimal and hex
	  Some values are easier to read and make sense of in hex.
	  https://bugzilla.gnome.org//show_bug.cgi?id=759780

2015-11-12 14:01:03 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  videoblend: special case 1x1 src dims on increment computation
	  Fix crash with 1x1 overlay pixmap
	  https://bugzilla.gnome.org/show_bug.cgi?id=757290

2015-12-28 12:28:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Make sure that enough data is available in AAC/ADTS typefinder
	  We would otherwise read beyond the array bounds and crash every now and then.
	  This was introduced with 5640ba17c8db80976b7718904e4024dcfe9ee1a0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759910

2015-12-27 19:41:43 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/audioconvert.c:
	  tests: remove commented code from audioconvert test
	  This is just what we have in gst_check_buffer_data().

2015-12-27 19:25:20 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: code cleanup
	  Rename samples to num_samples, since we also have samples in chain, but that is
	  the data pointer. Always use gzize for num_samples. Make the log output a bit
	  more homogenous.

2015-12-26 11:34:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: print non-string device properties too

2015-12-26 09:43:56 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-quantize.c:
	  audio: Fix some documentation warnings
	  Remove/rename function parameters and skip some functions that can't
	  be used by bindings as they are now.

2015-12-26 09:43:51 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	  videoaffinetransformmeta: Add (transfer none) annotation for return value

2015-12-25 11:34:10 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't leak audio/video filters due to floating references weirdness
	  The filters' floating references are sinked during set_property() already,
	  which means that GstBin takes a new reference when adding the filter to it.
	  Get rid of the additional reference after adding the filter to the bin.

2015-12-25 10:36:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Allow reuse of audio/video filters by unparenting them from their bins
	  And also recreate the chains if the filter is changing.

2015-12-25 10:28:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't leak audio/video filters when using non-raw media

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

	* configure.ac:
	  Back to development

2015-12-24 13:59:52 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/Makefile.am:
	  pbutils: Link to libgstbase for bytewriter and adapter

=== release 1.7.1 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* po/nl.po:
	* po/sv.po:
	* po/zh_CN.po:
	  po: Update translations

2015-12-11 15:38:00 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encodebin: Implement an encoding profile serialization format
	  https://bugzilla.gnome.org/show_bug.cgi?id=759356

2015-12-21 00:43:49 +0100  Koop Mast <kwm@rainbow-runner.nl>

	* configure.ac:
	  configure: Make -Bsymbolic check work with clang.
	  Update the -Bsymbolic check with the version glib has. This version
	  works with clang.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759713

2015-12-03 11:53:05 +0900  Kazunori Kobayashi <kkobayas@igel.co.jp>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Clear is_eos flag when receiving the flush-stop event
	  The EOS event can be propagated to the downstream elements when
	  is_eos flag remains set even after leaving the flushing state.
	  This fix allows this element to normally restart the streaming
	  after receiving the flush event by clearing the is_eos flag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=759110

2015-12-16 18:11:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback-test: remove unused variables
	  audiosink and videosink string variables are unused

2015-11-30 10:28:55 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: only add the template caps when the result is empty
	  Unconditionally adding the template caps when proxying the caps query will play
	  havoc with decoders that attempt to choose an output format based on some caps
	  features.  Creating a sink that does not include those caps features and a
	  decoder/parser/etc that preferentially chooses some specific caps feature when
	  available, will always return the decoder/parser/etc template caps and choose a
	  feature that downstream will be unable to support.
	  Fix by limiting the addition of the template caps to when the result is actually
	  empty.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758212

2015-12-17 13:39:01 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Don't use AG_GST_CHECK_FEATURE for checking for gio-unix-2.0
	  It's meant to be used for external plugins that can then all be disabled via
	  --disable-external. gio-unix-2.0 however is just an optional dependency for
	  the TCP unit test.
	  Also when using AG_GST_CHECK_FEATURE like this, in the --disable-external part
	  there needs to be an AM_CONDITIONAL for the feature with FALSE.

2015-12-16 17:07:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: fix deadlock on chain shutdown"
	  This reverts commit 77dc09c3a9a5e5e371e189f39b5557db440a8dc9.
	  It can cause the FLUSH_START/STOP events to go to the sink elements, which
	  then causes state changes and various other problems. We shouldn't really
	  flush downstream here, the idea is to do *draining*.
	  Apart from that the testcase for the original bug here works without this
	  commit now.

2015-12-16 11:12:00 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: fix typo in GST_WARNING_OBJECT
	  This should make easier to parse the debug logs.
	  s/fnctl/fcntl

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

	* gst/videorate/gstvideorate.c:
	  videorate: remove dead code
	  Since the loops increasing count from 0 are always run at least
	  once (if count < 1), count will always be at least one when
	  compared to the drop/dup conditions.
	  Coverity 1139674

2015-12-16 10:45:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* win32/common/libgstaudio.def:
	  audio-converter: rework the main processing loop
	  Rework the main processing loop. We now create an audio processing
	  chain from small core functions. This is very similar to how the
	  video-converter core works and allows us to statically calculate an
	  optimal allocation strategy for all possible combinations of operations.
	  Make sure we support non-interleaved data everywhere.
	  Add functions to calculate in and out frames and latency.

2015-12-16 10:44:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: clear convert object

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

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update to git

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

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

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

	* ext/alsa/gstalsasrc.c:
	  Revert "alsasrc: Disable HW timestamp"
	  This reverts commit 3642e9a3913a35c00f379034780c27298d09929c.

2015-11-10 12:54:23 -0500  Xavier Claessens <xavier.claessens@collabora.com>

	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst-libs/gst/pbutils/encoding-target.h:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/install-plugins.h:
	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.h:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	* gst-libs/gst/rtp/gstrtpbasepayload.h:
	* gst-libs/gst/rtsp/gstrtspurl.h:
	* gst-libs/gst/sdp/gstmikey.h:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	* gst-libs/gst/tag/gsttagdemux.h:
	* gst-libs/gst/tag/gsttagmux.h:
	* gst-libs/gst/video/colorbalancechannel.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.h:
	* gst-libs/gst/video/gstvideofilter.h:
	* gst-libs/gst/video/gstvideopool.h:
	* gst-libs/gst/video/gstvideosink.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-overlay-composition.h:
	  base: Add g_autoptr() support to all types
	  https://bugzilla.gnome.org/show_bug.cgi?id=754464

2015-09-24 18:26:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Disable HW timestamp
	  This is a workaround for broken pulse module.

2015-12-14 19:03:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Properly initialize stack-allocated RTSP message to all-zeroes

2015-12-14 10:57:19 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Use relative URI for non-proxy tunneled requests
	  Match the section 5.1.2 of the HTTP/1.0 spec by using relative URIs unless we
	  are using a proxy server. Also, send Host header for compatability with
	  HTTP/1.1 and some HTTP/1.0 servers.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758922

2015-12-14 09:10:16 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtspconnection: Support authentication during tunneling setup
	  gst_rtsp_connection_connect_with_response accepts a response pointer
	  which it fills with the response from setup_tunneling if the
	  connection is configured to be tunneled.  The motivation for this is to
	  allow the caller to inspect the response header to determine if
	  additional authentication is required so that the connection can be
	  retried with the appropriate authentication headers.
	  The function prototype of gst_rtsp_connection_connect has been
	  preserved for compatability with existing code and wraps
	  gst_rtsp_connection_connect_with_response.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749596

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

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Check if the packet loss event actually has timestamp and duration fields
	  CID 1139615

2015-12-10 17:46:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-channel-mix.h:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio: adapt API for non-interleaved formats
	  Allow an array of sample blocks to be passed to the channel mix and
	  quantizer functions to support non-interleaved formats.

2015-12-10 16:26:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	  audio-converter: improve API for non-interleaved formats
	  Make it possible to pass an array of sample blocks when dealing with
	  non-interleaved formats.

2015-12-12 17:49:28 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: add FourCC aliases
	  Support media using the aliases defined in http://www.fourcc.org/ that are
	  exact duplicates of already known codes.

2015-12-12 17:04:21 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: use defined FourCC
	  Make gst_riff_create_video_caps() use the FourCC available in riff-ids.h,
	  like gst_riff_create_audio_caps() does.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: add some debug around pool negotiation
	  It lets us know easily which pool is activated or
	  inactivated during the negotiation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720597

2015-12-11 21:42:00 +0800  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/convertframe.c:
	  video/convertframe: Add crop meta support via videocrop
	  https://bugzilla.gnome.org/show_bug.cgi?id=759329

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

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: when setting discont flag make sure rtpbuffer is current
	  Depayloaders will look at rtpbuffer->buffer for the discont flag.
	  When we set the discont flag on a buffer in the rtp base depayloader
	  and we have to make the buffer writable, make sure the rtpbuffer
	  actually contains the newly-flagged buffer, not the original input
	  buffer. This was introduced with the addition of the process_rtp_packet
	  vfunc, but would only trigger if the input buffer wasn't flagged
	  already and was not writable already.

2015-12-11 00:18:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasedepayload: add test for seqnum gap discont setting
	  The problem was triggered only when the input buffers were not
	  writable, so add extra ref to test this code path.

2015-12-11 10:25:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: fix possible refcounting issue when detecting a discont
	  When we detect a discont and the input buffer isn't already flagged
	  as discont, handle_buffer() does a gst_buffer_make_writable() on the
	  input buffer in order to set the flag. This assumed it had ownership
	  of the input buffer though, which it didn't. This would still work
	  fine in most scenarios, but could lead to crashes or mini object
	  unref criticals in some cases when a discont is detected, e.g. when
	  using pcapparse in front of a depayloader. This problem was
	  introduced in bc14cdf529e.

2015-12-10 12:18:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: add GstNetworkMessage event
	  Add a property and logic to send a GstNetworkMessage event containing
	  the message that was received from a client. This can be used to
	  implement simply bidirectional communication.

2015-12-10 12:14:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: add dispatched event
	  Add a property and logic to send a GstNetworkMessageDispatched
	  event upstream to notify that a buffer has been sent. This can be used
	  to keep track of what client received what buffers.

2015-12-04 11:17:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	  socketsrc: handle GstNetworkMessage events
	  Add a property to handle GstNetworkMessage events. These events contain
	  a buffer that is sent on the socket to allow for simple bidirectional
	  communication.

2015-12-09 17:16:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-convert: improve converter API
	  Improve the converter API to allow for an max input and output number of
	  samples and return the number of consumed/produced samples.

2015-12-08 11:15:34 +0100  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: duration query support based on the size property
	  https://bugzilla.gnome.org/show_bug.cgi?id=759126

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

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

2015-12-04 12:25:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: let downstream know we support metadata
	  Let downstream know that we support GstNetControlMessage metadata API.

2015-12-03 16:38:45 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Avoid pushing buffers before segment start
	  In the case where the stream doesn't have a framerate set and the frames
	  don't have a duration set, we still want to use the clipping path to
	  make sure we don't push buffers outside of the segment.
	  The problem was the previous iteration was setting a duration of 2s, which
	  meant that any buffer which was less than 2s before the segment start would
	  end up getting pushed.
	  Instead, use a saner 40ms (25fps single frame duration) to figure out whether
	  the frame could be within the segment or not

2015-12-02 20:19:43 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  Drop usage of deprecated g-ir-scanner --strip-prefix flag

2015-12-02 18:16:05 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix "Attempt to unlock mutex that was not locked"
	  Introduced in commit ee44337f, caused the decodebin
	  test_text_plain_streams unit test to abort.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-11-16 14:50:58 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstrawcaps.h:
	  playback: Expose XSUB formats by default
	  This is a workaround, we should remove this once we have a proper
	  decoder

2015-11-16 14:50:30 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Also consider XSUB as a subtitle format

2015-11-16 14:49:55 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for XSUB subpicture format

2015-11-16 14:49:19 +0100  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: 'DXSA' is the same as 'DXSB'
	  Which is subpicture/x-xsub

2015-07-21 09:58:56 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Rename GstStream => GstSyncStream
	  Avoid clashes with future GstStream from core

2015-12-02 09:00:31 -0500  Evan Callaway <evan.callaway@ipconfigure.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspconnection: Update capitalization of x-sessioncookie
	  Some servers incorrectly parse header names with strict case-sensitivity.  For
	  compatibility with these systems change X-Sessioncookie to x-sessioncookie.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758921

2015-12-02 16:16:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Update buffering messages when removing an element that had buffering pending
	  Otherwise we'll remove that element while keeping its buffering message in our
	  list, and because of that never ever report buffering 100% as that element
	  will always be at a lower percentage.
	  This fixes e.g. seeking over Period boundaries in DASH and various other
	  issues when buffering happens between group switches.
	  Also use a new mutex for protecting the buffering messages. The object lock is
	  already used by gst_object_has_as_ancestor() and we need to use it now for
	  checking if the buffering message sender has the to-be-removed element as
	  ancestor.

2015-12-02 09:52:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gstmultisocketsink.h:
	  multisocketsink: keep on reading when we stop sending
	  When we stop sending because we need more data, still keep a GSource
	  around to receive data from the clients.
	  Also handle read and write in the same go.

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

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Post latency message on the bus after set_caps()
	  The latency is only known once the caps are known, and might change
	  whenever the caps are changing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758911

2015-09-25 14:47:48 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Post latency message on the bus after set_caps()
	  Any latency query before this will not get the correct latency so a new
	  latency query should be triggered once the audio sink know its own latency.
	  Without this the initial latency query from the pipeline arrives too early
	  sometimes and the resulting latency is too short.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758911

2015-11-06 14:21:14 +0000  Thomas Bluemel <tbluemel@control4.com>

	* gst/playback/gstdecodebin2.c:
	  [PATCH] Fix a race condition accessing the decode_chain field.
	  Make sure that any access to the GstDecodeBin's decode_chain
	  field is protected using the EXPOSE_LOCK.  Also add a simple
	  reference counter to the GstDecodeChain structure so that when
	  the type_found signal fires it can hold onto the decode chain
	  even while the EXPOSE_LOCK is not held.  This should fix a
	  race condition if the type_found signal fires right in the
	  middle of a state change that messes with the same decode
	  chain.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755260

2015-08-20 17:30:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: early out on pad-added when the pad is inactive
	  The pad may be recently deactivated if the element is switched
	  back down very quickly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-08-20 17:29:36 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: lock the expose lock around decode_chain use
	  Helps with a crash in decodebin when quickly switching states.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752651

2015-11-28 14:24:55 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: accept wrong version field in OpusHead header
	  Some Opus files found on the wild have 0 in the version field of the
	  OpusHead header, instead of the correct value of 1. The files still
	  play, don't make this error fatal.
	  https://bugzilla.gnome.org/show_bug.cgi?id=758754

2015-11-26 11:33:02 +0000  William Manley <will@williammanley.net>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  allocators: add debug category for fd memory and allocator
	  Debugging can now be viewed by setting GST_DEBUG=fdmemory:9
	  https://bugzilla.gnome.org/show_bug.cgi?id=758744

2015-11-20 20:18:34 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/tag.c:
	  tests: tags: add unit test for ID3v2 PRIVATE_DATA tag extraction
	  https://bugzilla.gnome.org/show_bug.cgi?id=730926

2014-09-29 14:17:39 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/tag/gstid3tag.c:
	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2frames: Handle private frames
	  Handle PRIV ID3 tag having owner information (string)
	  and binary data, add to tag messages list.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730926

2015-11-20 19:15:22 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2.c:
	  tags: id3: make sure to register private-id3v2-frame tag before using it

2015-11-17 15:23:17 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  Remove unnecessary NULL checks before g_free()
	  g_free() is NULL-safe

2015-11-17 17:07:37 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Add support for parsing custom headers
	  https://bugzilla.gnome.org/show_bug.cgi?id=758235

2015-11-15 02:58:54 -0800  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-target.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* tests/examples/encoding/encoding.c:
	  Remove unnecessary NULL checks before g_free()
	  g_free() is NULL-safe

2015-11-17 09:06:34 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  xvimagesink/ximagesink: Fix structure memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=758204

2015-11-12 14:39:17 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: guint8 can't hold value over 255
	  channels is a guint8, so the max value is 255 and checking if it value is
	  > 256 will never be false.
	  CID 1338687, CID 1338688

2015-11-12 14:18:03 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: remove unneeded check for unsigned < 0
	  Commit ff6d1a2a25b247688f38e117782a6b43d525706a changed sample's type from
	  gint to gsize (and renamed it to in_samples). gsize is an unsigned long,
	  which means it can never be a negative value and the check making sure that
	  in_samples is >= 0 is never going to be false. Removing it.
	  CID 1338689

2015-11-12 12:21:54 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: avoid potential overflow expression
	  The result of the two expressions will be promoted to guint64 anyway,
	  perform all the arithmetic in 64 bits to avoid potential overflows.
	  CID 1338690, CID 1338691

2015-11-11 14:44:55 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/check/libs/video.c:
	  tests:video: Fix overlay rectangle and buffer leak
	  Created overlay rectangle is not being freed in video tests
	  pix2 buffer is being created and not freed
	  https://bugzilla.gnome.org/show_bug.cgi?id=757927

2015-11-11 14:37:21 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/pbutils/encoding-target.c:
	  pbutils:encoding-target: Fix string memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757926

2015-11-11 15:02:39 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/audio/audio-quantize.c:
	  audio-quantize: Fix dither_buffer memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=757928

2015-11-11 00:59:16 +1100  Jan Schmidt <jan@centricular.com>

	* ext/vorbis/gstvorbisdec.c:
	  vorbisdec: Re-init on new caps
	  If we get new input caps, then reset the decoder
	  ready for new headers and fresh data. Makes
	  chained oggs work when reusing the decoder.

2015-11-02 23:12:19 +1100  Matthew Waters <matthew@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.c:
	* gst-libs/gst/video/gstvideoaffinetransformationmeta.h:
	* win32/common/libgstvideo.def:
	  videometa: add GstVideoAffineTransformationMeta
	  Adds a simple 4x4 affine transformations meta for passing arbitrary
	  transformations on buffers.
	  Based on patch by Matthieu Bouron
	  https://bugzilla.gnome.org/show_bug.cgi?id=731791

2015-11-10 09:52:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst/audioconvert/gstaudioconvert.c:
	  audio-converter: add output size argument
	  Make it possible to have a different number of output samples than input
	  samples when we, for example, want to add resampling later.

2015-11-07 00:43:55 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Check API arguments and assert if needed

2015-11-06 19:31:47 +0100  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Properly deactivate ghostpads
	  Just setting the ghostpad as flushing wasn't enough. It needs to be
	  consistent on the internal proxypad also, otherwise you end up in
	  situations where:
	  * a pending buffer on the target pad triggers the sticky event
	  propagation
	  * the default implementation sees that the proxypad is not flushing,
	  so it tries to push it to the other pad (the actual ghostpad)
	  * the ghostpad is flushing, so returns FALSE
	  * the push_event function sees that pushing the event failed...
	  * ... and pending buffer push returns GST_FLOW_ERROR, instead of
	  GST_FLOW_FLUSHING
	  By using gst_pad_set_active(FALSE), we ensure that both the ghostpad
	  and the proxypad are flushing/deactivated. The situation above will
	  no longer occur, and a GST_FLOW_FLUSHING will be returned.

2015-11-06 18:11:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/plugin.c:
	  audioconvert: fix build
	  Don't include file that is no longer generated, and remove some
	  files that are no longer needed because they have moved into the
	  lib. Fixes distcheck.

2015-11-06 18:00:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-converter.c:
	  audio-converter: require interleaved samples and no resampling
	  We can't yet do resampling or anything other than interleaved audio.

2015-11-06 17:54:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update ORC dist files

2015-11-06 17:49:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/plugins/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-converter.c:
	* gst-libs/gst/audio/audio-converter.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/gstaudioconvert.h:
	* tests/check/Makefile.am:
	* win32/common/libgstaudio.def:
	  audio-converter: move audio converter to audio libs
	  Move the audio-converter helper to the audio library.

2015-11-06 17:39:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-channel-mix.c:
	* gst-libs/gst/audio/audio-channel-mix.h:
	* gst-libs/gst/audio/audio.h:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channel-mix: move channel mixer to audio libs
	  Move the channel mixer code to the audio library

2015-11-06 17:29:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	  audio: add debug categories

2015-11-06 16:42:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: don't limit channelpositions
	  Don't set a limit on the channel positions, just like the metadata.

2015-11-06 16:03:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: simplify API a little
	  Remove the format and layout from the mix_samples function and use the
	  format when creating the channel mixer object. Also use a flag to handle
	  the unlikely case of non-interleaved samples like we do elsewhere.

2015-11-06 15:50:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: GstChannel -> GstAudioChannel
	  Rename GstChannel to GstAudioChannel

2015-11-06 13:02:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	  audio-quantize: update docs
	  Update docs
	  Add another flag for the quantizer

2015-11-06 12:46:36 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: cleanups and add some docs
	  Add docs for the internal audioconvert object before moving it to the
	  audio library.
	  Remove get_sizes and implement the trivial logic in the element.
	  Remove some unused orc functions

2015-11-06 12:46:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstaudio.def:
	  defs: update defs

2015-11-06 12:37:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update orc files

2015-11-06 12:10:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/audio-quantize.c:
	* gst-libs/gst/audio/audio-quantize.h:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/Makefile.am:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstfastrandom.h:
	  audioconvert: move audio quantize code to libs
	  Move the audio quantize code from audioconvert to the audio library.
	  work on making an audio converter helper function similar to the video
	  converter.
	  Fold fastrandom directly into the quantizer, add some ORC code to
	  optimize this later.

2015-11-05 12:42:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channels: rename get_default_mask
	  Rename _get_default_mask() to _get_fallback_mask() to make it more
	  clear that the function only provides a fallback if nothing else can be
	  done. Also clarify this in the documentation.
	  API: gst_audio_channel_get_fallback_mask()

2015-11-05 12:11:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Update sink pad templates
	  We always require the channel-mapping-field. If it's 0 we require nothing
	  else, otherwise we need channels, stream-count and coupled count to be
	  available.

2015-11-05 11:34:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/volume/gstvolume.c:
	  volume: Do not try to get binding value array if we are not processing any sample
	  In some conditions we might process empty buffers, calling
	  gst_control_binding_get_value_array in that case will lead
	  to the assertion:
	  (lt-ges-launch-1.0:18859): GStreamer-CRITICAL **: gst_control_binding_get_value_array: assertion 'values' failed

2015-11-05 10:40:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* win32/common/libgstaudio.def:
	  audio-channels: make method to get default channel-mask
	  Add a new method to get the default channel-mask.
	  Use the new method on audiodecoder and audioconvert.
	  API: gst_audio_channel_get_default_mask()

2014-11-10 11:11:37 +0100  Andreas Frisch <fraxinas@opendreambox.org>

	* tests/check/libs/video.c:
	  tests: Add a test for video blending over transparent frames
	  And fix the test_overlay_blend test where we blend over a
	  transparent frame and where expecting wrong results
	  https://bugzilla.gnome.org/show_bug.cgi?id=681447

2013-11-30 01:59:55 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-blend.c:
	  video: blend using OVER operation
	  Also support all premultiplied/non-premultiplied source/destination
	  configurations
	  https://bugzilla.gnome.org/show_bug.cgi?id=681447

2015-11-04 00:12:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/opus.c:
	  opus: Remove invalid unit test
	  Opus headers should never be in-band, so don't test for correct
	  handling of that.

2015-11-04 00:12:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Create an empty taglist if there is none
	  There always have to be 2 buffers in the streamheaders, even if
	  the comment buffer is basically empty.

2015-11-03 14:50:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/Makefile.am:
	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opus: Add proper support for multichannel audio
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

2015-11-02 17:33:53 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Handle GstAudioClippingMeta instead of the pre-skip field in the OpusHead
	  oggdemux is outputting the meta now, and only outputs if it should really
	  apply to the current buffer. Previously we would skip N samples also if we
	  started the decoder in the middle of the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 16:52:28 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add GstAudioClippingMeta to buffers that need to be clipped
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 10:30:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Disable granule position calculations by the base class
	  It is doing the wrong thing because of the Opus pre-skip: while the timestamps
	  are shifted by the pre-skip, the granule positions are not shifted.
	  oggmux is doing the right thing here already.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-31 15:02:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add some FIXME comments about calculating padding with LPC
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-30 20:57:37 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Encode exactly the amount of samples we got as input and put correct timestamps on it
	  The first frame has lookahead less samples, the last frame might have some
	  padding or we might have to encode another frame of silence to get all our
	  input into the encoded data.
	  This is because of a) the lookahead at the beginning of the encoding, which
	  shifts all data by that amount of samples and b) the padding needed to fill
	  the very last frame completely.
	  Ideally we would use LPC to calculate something better than silence for the
	  padding to make the encoding as smooth as possible.
	  With this we get exactly the same amount of samples again in an
	  opusenc ! opusdec pipeline.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-10-30 20:47:20 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusheader.c:
	* ext/opus/gstopusheader.h:
	  opusenc: Put lookahead/pre-skip into the OpusHead header
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 16:51:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggstream.c:
	  oggdemux: Create full Opus caps with all fields
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: Add utilities for Opus caps and the OpusHead header
	  https://bugzilla.gnome.org/show_bug.cgi?id=757152

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

	* ext/ogg/gstoggmux.c:
	  oggmux: Use GstAudioClippingMeta for Opus for accurate end clipping
	  ... instead of relying on the segment. For the clipping at the start we assume
	  a proper value in the OpusHead, as generated by opusparse or opusenc.
	  Transmuxing in general is not guaranteed to produce the correct values, or
	  even have a OpusHead (e.g. when having RTP input).
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 10:58:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/Makefile.am:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Add GstAudioClippingMeta for Opus for accurate start/end clipping
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 16:19:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/audio/gstaudiometa.h:
	* win32/common/libgstaudio.def:
	  audio: Add GstAudioClippingMeta for specifying clipping on encoded audio buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-02 11:19:23 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggdemux: Allow start clipping for Opus
	  The granulepos does not have the pre-skip subtracted while timestamps do,
	  and the last granulepos will be shorter by the number of samples that should
	  be dropped because of padding in the end.
	  As such, extrapolating the granule of the beginning of the first frame will
	  lead to a negative value, which is not a problem but intentional.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757153

2015-11-03 16:38:09 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: update disted orc backup files

2015-11-03 14:08:25 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: use GST_STIME_FORMAT for GstClockTimeDiff
	  GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
	  handle negative values better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-03 13:44:39 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

2015-11-03 11:59:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/gstaudiopack.orc:
	* gst/audioconvert/audioconvert.c:
	  audio-format: add TRUNCATE_RANGE flag
	  Add a TRUNCATE_RANGE flag for unpack functions to fill the least
	  significate bits with 0 (as did the old code). Also add functions
	  that don't truncate. Use the TRUNC flag in audioconvert for
	  backwards compatibility for now.

2015-11-03 11:57:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiopack.orc:
	  audiopack: improve pack functions
	  Avoid shifts by using convh functions.

2015-11-03 11:44:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioconvertorc.orc:
	* tests/check/elements/audioconvert.c:
	  audioconvert: change multiplier for int<->float conversion
	  Use (1 << 31) as the multiplier for int<->float conversions. This makes
	  sure that int->float conversions always end up with floats between
	  [-1.0, 1.0].
	  For the conversion from float to int, this multiplier will give the complete
	  int range after we perform clipping.
	  Change the unit test to take this into consideration.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755301

2015-11-02 17:32:55 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: use GST_STIME_ARGS for GstClockTimeDiff
	  No need to use G_GINT64_FORMAT for potentially negative values of
	  GstClockTimeDiff. Since 1.6 these can be handled with GST_STIME_ARGS.
	  Plus it creates more readable values in the logs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 16:36:35 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: Print GstClockTimeDiff as a signed integer in debug logs

2015-11-02 16:09:52 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Use GstClockTimeDiff and print signed integer in debug logs
	  Use GstClockTimeDiff and Clock macros to print signed integer time
	  differences in the debug logs.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 14:06:39 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: use GST_STIME_FORMAT for GstClockTimeDiff
	  GST_STIME_FORMAT is more appropriate for GstClockTimeDiff since it can
	  handle negative values better.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757480

2015-11-02 17:14:51 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiometa.h:
	  audio: Fix parameters to gst_buffer_get_audio_downmix_meta() in macro

2015-11-02 15:54:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: increase freq limit
	  Raise the frequency limit and try to negotiate to a samplerate of 4*freq
	  when larger then the default samplerate.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=754450

2015-11-02 15:46:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: add support for unlimited number of channels
	  Raise the channel limit and set the channel-mask for > 2 channels.

2015-11-02 13:19:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/audiotestsrc/gstaudiotestsrc.h:
	  audiotestsrc: add support for all formats
	  Use the pack functions to also support the other audio formats we
	  have.

2015-11-02 12:09:42 +0000  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: subtract time difference with GST_CLOCK_DIFF
	  To ensure the subtraction of two GstClockTime values (which are guint64)
	  can be negative. Use GST_CLOCK_DIFF which returns a gint64.
	  CID 1338049

2015-11-02 11:34:56 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Do not force user to provide an encoding profile name
	  And use the profile called `default` if none provided.

2015-11-02 11:30:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Do not unconditionally break when searching for a target
	  Otherwise the loop is useless!
	  Fixes CID 1338051

2015-10-24 20:08:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

2015-10-24 20:05:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

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

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Clip input buffers to the segment before handling them
	  https://bugzilla.gnome.org/show_bug.cgi?id=757068

2015-11-01 23:34:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Assume 48kHz if no sample rate is given in the header

2015-10-30 20:59:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Place 48kHz first in the caps
	  For all the other sample rates the encoder will have to resample internally.

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

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: update orc backup code to fix build without orc

2015-10-26 21:32:41 +0100  Csaba Toth <tocsanti@gmail.com>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: fix "client-removed" signal on 64-bit platforms and with bindings
	  The client-removed signal used G_INT_TYPE instead of G_SOCKET_TYPE
	  in its definition leading to problems on platforms where the size
	  of a pointer is larger than the size of an integer, It would also
	  not work at all with dynamic language bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757155

2015-10-28 18:36:41 +0100  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix handling of Bayer format 'gbrg'
	  Due to a typo, videotestsrc did not handle the Bayer
	  format 'gbrg' properly and reported it as invalid,
	  causing negotiation errors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=757264

2015-10-30 17:36:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstaudioquantize.h:
	  audioconvert: rework audioconvert
	  Rewrite audioconvert to try to make it more clear what steps are
	  executed during conversion.
	  Add passthrough step that just does a memcpy when possible.
	  Add ORC optimized dither and quantization functions.
	  Implement noise-shaping on S32 samples only and allow for arbitrary
	  noise shaping coefficients if we want this later.

2015-10-30 17:33:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  channelmix: fix up API a little
	  don't use gpointer * for something that should be gpointer.

2015-10-28 11:40:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioquantize: make helper for add with saturation

2015-10-29 16:52:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print another time difference as a signed integer instead of a huge unsigned one

2015-10-29 16:01:26 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Print GstClockTimeDiff as a signed integer in debug logs

2015-10-29 00:01:01 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: fix two memory leaks
	  The removed GList link needs to be freed too, and
	  the G_OPTION_REMAINING arguments need to be freed.

2015-10-28 15:50:44 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Add a GST_ENCODING_TARGET_PATH envvar to find target files

2015-10-28 15:47:00 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Allow having encoding target without a category set
	  There was already some code to handle that, but the support was not
	  complete in those code paths.

2015-10-27 12:56:48 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-target.c:
	  encoding-target: Create directory before trying to save encoding targets

2015-10-27 12:50:26 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Allow specifying the target category in the serialized encoding target

2015-10-27 17:28:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audioconvert/gstaudioconvert.h:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstaudioquantize.h:
	  audioconvert: make the quantizer a reusable object
	  Turn the quantizer into a reusable object.

2015-10-27 13:24:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstchannelmix.c:
	* gst/audioconvert/gstchannelmix.h:
	  audioconvert: make the channel mixer a separate reusable object
	  A first attempt at making the channel mixer a separate object.

2015-10-28 11:32:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioquantize: fix 8-pole noise shaping
	  Fix the 8-pole noise shaping error update. We were mixing errors from
	  different channels.

2015-10-27 15:44:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send SEEK events directly to adaptive streaming demuxers
	  This makes sure that they will always get SEEK events, even if we're currently
	  in the middle of a group switch (i.e. switching to another
	  representation/bitrate/etc).
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

2015-10-06 15:20:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix event leak
	  As stated in GST_PAD_PROBE_HANDLED's documentation, we are
	  supposed to unref the event before returning.
	  Fixes an event leak in the validate.hls.playback.play_15s.hls_bibbop
	  validate scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754459

2015-10-23 19:13:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	  audioconvert: Update disted orc files

2015-10-23 16:58:17 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstaudioconvertorc.orc:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: use pack/unpack functions
	  Rework the converter to use the pack/unpack functions
	  Because the unpack functions can only unpack to 1 format, add a separate
	  conversion step for doubles when the unpack function produces int.
	  Do conversion to S32 in the quantize function directly.
	  Tweak the conversion factor for doing float->int conversion slightly to
	  get the full range of negative samples, use clamp to make sure we don't
	  exceed our int range on the positive axis (see also #755301)

2015-10-23 12:02:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Send upstream events directly to playsink
	  Send event directly to playsink instead of letting GstBin iterate
	  over all sink elements. The latter might send the event multiple times
	  in case the SEEK causes a reconfiguration of the pipeline, as can easily
	  happen with adaptive streaming demuxers.
	  What would then happen is that the iterator would be reset, we send the
	  event again, and on the second time it will fail in the majority of cases
	  because the pipeline is still being reconfigured

2015-10-23 17:25:50 +0900  Eunhae Choi <eunhae1.choi@samsung.com>

	* tests/check/gst/typefindfunctions.c:
	  tests: typefindfunctions: fix error leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=757008

2015-09-23 18:47:52 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Force alpha downstream if foreground color contains alpha
	  Otherwise the foreground color won't be fully represented in the
	  outputted frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755482

2015-10-22 12:07:44 +0800  Pavel Bludov <pbludov@gmail.com>

	* gst-libs/gst/video/video-overlay-composition.h:
	  video: overlay-composition: fix rectangle and composition cast macros
	  Closing parenthesis was missing in two cases.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756893

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

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

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

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

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

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

2015-10-20 12:08:23 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.h:
	  rtp: GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is Since 1.6.1

2015-10-20 03:58:26 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: track the exposable pads through connect_pad
	  The logic introduced by
	  [d50b713: decodebin: set the decode pad target before setting elements to PAUSED]
	  to expose pads would only ever be able to possibly expose one (the last) pad per element.
	  Make it so that any exposable pads are able to be exposed rather than just the
	  last pad returned by connect_element.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742924

2015-10-20 03:52:24 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: return the possibly new chain in analyze_new_pad
	  In the case of analyzing a demuxer chain, analyze_new_pad may create
	  a new GstDecodeChain.  This was not propagated to the calling function which as
	  of [d50b713f decodebin: set the decode pad target before setting elements to PAUSED]
	  is now required to be able to expose the correct pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742924

2015-10-19 15:32:19 +0530  Rajat Verma <rajat.verma@st.com>

	* gst/playback/gstplaysink.c:
	  playsink: relink text_pad in case of reconfiguration
	  In case of reconfiguration, text_pad should be re-connected with
	  stream synchronizer sink pad. Otherwise we'll leave an unlinked pad around if
	  there always was a streamsynchronizer text pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756804

2015-09-14 15:25:11 +0900  eunhae choi <eunhae1.choi@samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix issue about eos handling during flushing
	  If the flush-start is arrived during _eos_wait() in basesink,
	  the 'eos' flag is overwritten to TRUE after exiting the _eos_wait().
	  To resolve the overwritten issue,
	  the subclass doing the _eos_wait() call should return the right value.
	  If the eos flag is set to TRUE again, it will cause error(enter the eos flow)
	  of the following state changing from PAUSED to PLAYING in basesink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754980

2015-10-17 22:25:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	  decodebin/playbin/playsink/subtitleoverlay: Post async-done on state change failures
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

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

	* gst/playback/gstplaysink.c:
	  playsink: Immediately error out if state change fails
	  Otherwise we chain up to the parent class' change_state function and might
	  override the failure with SUCCESS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

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

	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playbin/uridecodebin: Always post async-done immediately if we're a live pipeline
	  Not only if the base class told us, but also if one of our own elements did.
	  https://bugzilla.gnome.org/show_bug.cgi?id=756611

2015-10-16 03:40:43 +1100  Matthew Waters <matthew@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: set the decode pad target before setting elements to PAUSED
	  Otherwise caps and context queries will disappear into nothing and therefore
	  fail.  With autoplug-query now actually working, users (such as playbin) can
	  proxy these queries to the selected video sink and be able to select an
	  more appropriate configuration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731204

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

	* gst-libs/gst/video/video.c:
	  video: Add out annotations to the out parameters of gst_video_calculate_display_ratio()
	  https://bugzilla.gnome.org/show_bug.cgi?id=754567

2015-10-16 10:48:50 +1100  Matthew Waters <matthew@centricular.com>

	* win32/common/libgstrtp.def:
	  win32 update exports for new rtp symbols

2015-07-22 11:31:05 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtpbuffer: Add map flag to skip padding
	  Encrypted RTP buffers may contain encrypted padding, hence it's
	  necessary to have an option to relax the validation in order to
	  successfully map the buffer.
	  When the flag GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING is set
	  gst_rtp_buffer_map() will map the buffer like if padding is not
	  present.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752705

2015-10-15 22:40:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  Revert "rtpbuffer: increase logging level when map fails"
	  This reverts commit e3c8a820176ba39dfae85944fa9c6ae202ec681d.
	  It causes too much noise in the logs.

2015-10-15 15:32:58 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: increase logging level when map fails
	  https://bugzilla.gnome.org/show_bug.cgi?id=756641

2015-10-15 10:01:38 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix volume element leak
	  In case sink implements a streamvolume interface, volume element is being got
	  from the sink. But this is transfer full. So the memory should be freed before
	  setting it to NULL. This was resulting in major memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=755867

2015-10-14 00:32:11 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Use 8 bit pointer type for byte-based pointer arithmetic
	  Usually these loops only run once, so there's no problem here. But sometimes
	  they run twice, and by adding the number of bytes to a 16 bit pointer type we
	  would advance twice as much as we should.
	  Also use snd_pcm_frames_to_bytes() in alsasrc to calculate
	  the number of bytes to skip, same as we do in alsasink.
	  Thanks to Lucio A. Hernandez <lucio.a.hernandez@gmail.com> for reporting.

2015-10-12 14:02:58 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  Revert "audioencoder: timestamp headers same as first buffer and use duration 0"
	  This reverts commit dd4d6d9ed54c2a63a7e45661519d9965417707c5.
	  It breaks ogg muxing and the vorbisenc unit test.

2015-08-28 11:44:19 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  audioencoder: timestamp headers same as first buffer and use duration 0
	  https://bugzilla.gnome.org/show_bug.cgi?id=754224

2015-08-28 11:25:22 +0200  Havard Graff <havard.graff@gmail.com>

	* tests/check/libs/audioencoder.c:
	  audioencoder-tests: port to use GstHarness
	  https://bugzilla.gnome.org/show_bug.cgi?id=754223

2015-08-27 17:28:30 +0200  Havard Graff <havard.graff@gmail.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder-test: port to using GstHarness
	  https://bugzilla.gnome.org/show_bug.cgi?id=754196

2015-10-04 18:36:00 +0100  Sebastian Dröge <sebastian@centricular.com>

	* sys/xvimage/xvimagepool.c:
	  xvimagesink: Put error message into debug output instead of just throwing it away

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

	* configure.ac:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Update GLib dependency to 2.40.0

2014-03-15 17:35:56 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  rtpbasepayload: Implement video SDP attributes
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726472

2015-09-25 15:17:53 +0300  Vivia Nikolaidou <vivia@toolsonair.com>

	* tools/gst-play.c:
	  gst-play: Removed erroneous comment
	  The "fall through" comment was wrong. Removed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755440

2015-09-22 23:12:10 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  gst-play: Add keyboard shortcut '0' to seek to beginning
	  https://bugzilla.gnome.org/show_bug.cgi?id=755440

2015-08-25 16:24:12 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: remove unnecessary break statement
	  Trivial patch to remove unncessary break statement used after
	  goto statement.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754054

2015-08-20 15:59:15 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/tag/mklicensestables.c:
	* tests/examples/encoding/encoding.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tests/examples/seek/scrubby.c:
	* tests/icles/stress-playbin.c:
	* tests/icles/test-effect-switch.c:
	* tools/gst-device-monitor.c:
	* tools/gst-discoverer.c:
	* tools/gst-play.c:
	  gstreamer: base: Fix memory leaks when context parse fails.
	  When g_option_context_parse fails, context and error variables are not getting free'd
	  which results in memory leaks. Free'ing the same.
	  And replacing g_error_free with g_clear_error, which checks if the error being passed
	  is not NULL and sets the variable to NULL on free'ing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753852

2015-06-24 23:55:35 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: Fix special case
	  Allows to run such a command line :
	  gst-launch-1.0 uridecodebin uri=file:///home/meh/Music/sthg.mp4 ! \
	  encodebin profile-string="audio/x-wav|1" ! filesink location=sthg.wav
	  Previously the code failed because wavenc is considered as a muxer.
	  We still want encodebin to audio/x-wav as an AudioEncodingProfile,
	  so this simple fix allows that.
	  Ability to mux raw streams in containers such as matroskamux
	  is a different issue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751470

2015-09-29 10:12:28 +0530  Rajat Verma <rajat.verma@st.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: free hidden groups at time of switching groups
	  hidden groups should be freed at time of switching groups to avoid memory use
	  from balloning up.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755770

2015-10-02 10:07:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstpbutils.def:
	  win32: Update exports for new audiovisualizer symbols

2015-10-02 15:04:34 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/Makefile.am:
	* tests/check/libs/baseaudiovisualizer.c:
	  tests: Add baseaudiovisualizer test, moved from -bad

2015-10-02 15:05:26 +1000  Jan Schmidt <jan@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't fixate framerate if downstream didn't provide one
	  intersection with a downstream that accepts any video/x-raw caps
	  with no further detail won't create a framerate field. If it's
	  not in the caps, don't fixate it, just set it to 30/1

2015-10-01 21:53:20 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-alsa.xml:
	  docs: add alsamidisrc to docs

2015-10-01 21:43:21 +0200  Antonio Ospite <ao2@ao2.it>

	* ext/alsa/Makefile.am:
	* ext/alsa/gstalsamidisrc.c:
	* ext/alsa/gstalsamidisrc.h:
	* ext/alsa/gstalsaplugin.c:
	  midi: add an ALSA MIDI sequencer source
	  The alsamidisrc element allows to get input event from ALSA MIDI
	  sequencer devices, and possibly convert them to sound using some
	  downstream element like fluiddec.
	  Fixes #738687

2015-10-01 15:27:55 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	  visual: make private all variable subclasses don't need
	  Subclasses don't need access to all variables. Making them private.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-10-01 11:55:59 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>

	* ext/libvisual/Makefile.am:
	* ext/libvisual/visual.h:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/pbutils/gstaudiovisualizer.c:
	* gst-libs/gst/pbutils/gstaudiovisualizer.h:
	  visual: merge audiovisalizer base classes
	  Move the audiovisualizer base class to pbutils, so it can be used by plugins
	  from other modules
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-10-01 12:48:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: minor clean-up
	  Remove unnecessary brackets from IS_MPEGTS_HEADER macro.

2015-10-01 12:32:33 +0100  Pankaj Darak <pankajdarak@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: mpeg-ts detection improvement
	  Allow AFC to be 0 for null pid packets.
	  https://bugzilla.gnome.org/show_bug.cgi?id=726117

2015-09-30 18:18:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	  tests: subparse: add unit test for closing tag detection
	  </ i> should be handled like </i>
	  https://bugzilla.gnome.org/show_bug.cgi?id=755875

2015-09-30 18:17:13 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: detect closing tags even if there's a space after the slash
	  </ i> should be handled like </i>
	  https://bugzilla.gnome.org/show_bug.cgi?id=755875

2015-09-23 11:59:22 -0400  Perry Hung <perry@leaflabs.com>

	* gst-libs/gst/app/Makefile.am:
	  app: pass PKG_CONFIG_PATH for gir files for libgstapp as well
	  gir include search directories should respect PKG_CONFIG_PATH,
	  just like we do everywhere else. Makes g-i pick up the right
	  paths when using ./configure --with-pkg-config-path=
	  https://bugzilla.gnome.org/show_bug.cgi?id=755494

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

	* configure.ac:
	  Back to development

=== release 1.6.0 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2015-09-24 18:06:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-dither: Use saturated add when adding ordered dither for > 8 bit targets
	  Otherwise our 16 bit integers are going to overflow in intermediate
	  calculations, causing video to become mostly black.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755392

2015-09-24 11:33:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Fix gst_video_frame_copy() for formats with pstride==0
	  v210, UYVP and IYU1 are complex formats for which pixel stride does not really
	  have a meaning. If we copy width*pstride bytes per line, it's not going to do
	  the right thing. As a fallback, copy stride bytes per line. This might copy
	  uninitialized bytes at the end of each line, but at least copies the frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755392

2015-09-10 15:08:35 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: remove 'allow-none' annotation in gst_fd_allocator_alloc() doc
	  gst_fd_allocator_alloc() ensure that passed allocator is a fd memory
	  allocator, so that we can't pass NULL allocator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754833

2015-09-10 15:08:35 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: remove 'allow-none' annotation in gst_dmabuf_allocator_alloc() doc
	  gst_dmabuf_allocator_alloc() ensure that passed allocator is a DMABuf
	  allocator, so that we can't pass NULL allocator.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754833

=== release 1.5.91 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2015-09-18 17:48:49 +0200  Christophe Fergeau <cfergeau@redhat.com>

	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsink.h:
	  appsink: Fix 'steaming' typo in API doc
	  There are several occurrences of 'steaming' where 'streaming' was meant.

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

	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2015-09-18 10:59:46 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: avoid critical on exit
	  Only free vis_entries array when not null on exit.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755201

2015-09-18 09:48:18 +0530  Prashant Gotarne <ps.gotarne@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix typo in debug log message
	  https://bugzilla.gnome.org/show_bug.cgi?id=755198

2015-09-17 14:27:33 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	* gst/tcp/gstmultisocketsink.c:
	  audiosink, multisocketsink: Fix error leak during failures
	  https://bugzilla.gnome.org/show_bug.cgi?id=755143

2015-09-16 19:53:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Use the correct caps name for MS Smooth Streaming manifests
	  Thanks to John Chang <r97922153@gmail.com> for reporting.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755098

2015-09-15 15:39:11 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusdec.c:
	  opusdec: remove check for number of channels
	  opus decoder can convert from different number of channels, no
	  need to check, just let it negotiate and create a new decoder if
	  needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=755059

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

	* gst-libs/gst/app/gstappsink.c:
	  appsink: minor docs fix

2015-09-11 23:36:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: ensure allocation alignment is consistent with video alignment requirements
	  Make sure GstAllocationParams alignment is not less than
	  any alignment requirement specified via GstVideoAlignment.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754120

2015-09-14 09:36:20 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix error leak when context creation fails
	  When context creation fails, error is getting leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754973

2015-09-11 11:22:35 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: improve deprecated properties docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=754819

2015-09-11 11:11:09 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: do not throw g_warning when getting deprecated properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=754819

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

	* gst/playback/gstplaybin2.c:
	  playback: Add POINTER_TO_ULONG() macro for consistency

2015-09-11 23:48:05 +0900  Kouhei Sutou <kou@clear-code.com>

	* gst/playback/gstplaybin2.c:
	  playback: fix build error for 64bit Windows build by MinGW
	  Casting to gpointer from gulong generates the following warning with
	  64bit Windows target MinGW:
	  gstplaybin2.c: In function 'pad_added_cb':
	  gstplaybin2.c:3476:7: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
	  (gpointer) group_id_probe_handler);
	  ^
	  cc1: all warnings being treated as errors
	  We should cast to guintptr from gulong before we cast to gpointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754755

2015-09-09 19:00:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add missing alpha flag for some formats
	  Some formats didn't have the alpha flag marked, use the correct
	  macro so they get it right.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754808

2015-09-09 12:33:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Always take the mutex before flushing the queue
	  Otherwise the application might push new buffers into the queue while we're
	  flushing, potentially causing the GQueue data structure to become inconsistent
	  and causing crashes soon after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754597

2015-09-08 01:35:19 +0530  Vikram Fugro <vikram.fugro@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/appsrc.c:
	  appsrc: retain the latest caps in queue when flushing
	  - Retain the latest caps in the internal queue, when
	  flushing.
	  - Add a unit test case for the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754597

2015-09-07 00:19:09 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video: improve GstVideoFormatUnpack docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=754650

2015-09-06 18:17:15 +0900  Kouhei Sutou <kou@clear-code.com>

	* gst-libs/gst/video/video-dither.c:
	  libs: Fix build error on MinGW where "%ll" is not available
	  "ll" isn't available on MinGW. We can use G_GINT64_MODIFIER for portable
	  64bit size data modifier.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754630

2015-08-31 10:46:43 +0200  Havard Graff <havard.graff@gmail.com>

	* gst-libs/gst/Makefile.am:
	  libs: build rtp after audio
	  The dependency setup does not seem to work for all systems,
	  causing the build to fail with:
	  gstrtpbaseaudiopayload.c:65:0:
	  fatal error: gst/audio/audio-enumtypes.h: No such file or directory
	  My setup:
	  gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
	  autoconf (GNU Autoconf) 2.69
	  automake (GNU automake) 1.14.1
	  libtool (GNU libtool) 2.4.2
	  https://bugzilla.gnome.org/show_bug.cgi?id=754344

2015-08-31 10:49:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/Makefile.am:
	  libs: rtp is no longer an independent subdir
	  https://bugzilla.gnome.org/show_bug.cgi?id=754344

2015-09-03 17:55:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix gamma-decode option
	  We need to use the enum to configure the option now.

2015-09-03 08:58:08 +0530  Prashant Gotarne <ps.gotarne@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: FIX crash if padding greater than video size
	  Skipping rendering of textimage if overlay is completely
	  outside video frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754429

2015-08-31 11:09:09 +0200  Philippe Normand <philn@igalia.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: remove duplicate get_size vfunc assignment

2015-08-29 21:38:52 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/allocators/allocators.h:
	  allocators: include gstfdmemory.h in the main library header, allocators.h

2015-08-29 10:44:28 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix misleading error message debug detail
	  https://bugzilla.gnome.org/show_bug.cgi?id=754260

2015-08-28 09:36:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: implement accept-caps handler
	  The default one will just go through the internal elements which might
	  just be identity when it is in passthrough which will lead to the query
	  being handled by the downstream sink, ignoring all that playsinkconvertbin
	  could actually handle and convert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=754235

2015-08-27 23:08:51 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	  audiobasesink: Fix incorrect/missing custom slaving method documentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=754199

2015-08-19 21:19:05 +0900  Eunhae Choi <eunhae1.choi@samsung.com>

	* gst/subparse/gstsubparse.c:
	  subparse: use g_clear_error instead of g_error_free
	  To avoid invalid pointer accees the err pointer should be set to NULL.
	  By using g_clear_error() it calls free and clear the pointer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753817

=== release 1.5.90 ===

2015-08-19 13:10:23 +0300  Sebastian Dröge <sebastian@centricular.com>

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/hu.po:
	* po/nb.po:
	* po/pl.po:
	* po/ru.po:
	* po/uk.po:
	* po/zh_CN.po:
	  po: Update translations

2015-08-19 08:37:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-discoverer.c:
	  tools: discoverer: When info is NULL just print error and return
	  In case discover_uri returns NULL info, passing the info to discoverer APIs
	  result in critical assertion errors. Hence instead of passing NULL info along,
	  print the error and return.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

2015-08-18 18:47:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Handle the preroll multi-queue size"
	  This reverts commit 5c8ef0ea05123506dfc35c70c8b165bca7435dad.

2015-08-18 18:47:21 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Store extra_buffer_required per group, not globally"
	  This reverts commit 1ea81114ea6bd48b581f19002018680933aa7a12.

2015-08-18 18:47:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: If extra buffers are going to be required, we're still prerolling"
	  This reverts commit a3b24f0241bd55a005a072ba8ddcd53e0fdbf827.

2015-08-18 16:28:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video(en|de)coder: Return TRUE when we consumed a tag event without creating a new event
	  Fixes spurious flow errors that especially break gst-validate.

2015-08-18 16:01:28 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: If there are no tags, don't try to do event handling on a NULL event
	  Fixes some crashes.

2015-08-18 15:58:57 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: If there are no tags, don't try to do event handling on a NULL event
	  Fixes some crashes.

2015-08-18 13:50:17 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: Use g_build_filename instead of g_strconcat
	  When running gst-play against a directory name, and suffix the path with a
	  directory separator (e.g. tab completion), gst-play was printing two directory
	  separators in a row. g_build_filename fixes this, and additionally allows for
	  both '/' and '\' as separators on Windows.

2015-08-18 15:16:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: If extra buffers are going to be required, we're still prerolling

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: Store extra_buffer_required per group, not globally
	  It's only relevant for each group, and by storing it in the group
	  we have locking and everything else like for the other buffering-related
	  variables. Locking looks a bit fishy still, but it was like that for a long
	  time already so shouldn't be worse than before.

2015-07-30 10:33:25 +0900  Myoungsun Lee <ohmygod0327@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Handle the preroll multi-queue size
	  Overview:
	  There are some of interleaved streams which has long-term location of audio data.
	  It mean the audio data is located far away more than multiqueue size.
	  In this case, because of multiqueue overrun, the pipeline is stopped.
	  To prevent hanging-like state, the decodebin needs to handle the queue size.
	  Caused:
	  The multiqueue size is not enough, the pipeline will stay being stalled status
	  and decodebin cannot complete to build decode chain.
	  In this issue file, decodebin did not receive no_more_pads signal or audio data yet.
	  Steps to Reproduce:
	  play the high-resolution(4K file) files or some streaming media(push mode).
	  Actual Results:
	  There is no audio or subtitle.
	  We can see only video or infinite loading.
	  Resolution:
	  Decodebin detect this problem, and add extra buffer size to multiqueue.
	  The multiqueue is larger than before, the next data can be pushed the downstream element.
	  Additional Information:
	  The max-preroll extra buffer size is set 8MB.
	  We can use total pre-roll buffer 10MB.
	  Only first overrun callback can handle multiqueue size.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733235

2015-08-18 12:29:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix tag handling
	  Merge upstream tags with encoder tags and update whenever
	  any of those changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-18 11:45:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: fix tag handling
	  Merge upstream tags with encoder tags and update whenever
	  any of those changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-18 12:56:33 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Add typefinder for TTML+XML
	  Used in DASH among other things, as SMPTE Timed Text.

2015-08-18 09:06:39 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: discoverer: Set GError when NULL info is being returned.
	  When discovering the URI, if info is NULL, then instead of just returning NULL,
	  set the GError, so the error can be printed and notified.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

2015-08-16 07:18:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  audioencoders: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough
	  Elements: faac, gsmenc, opusenc, sbcenc, voamrwbenc, adpcmenc, sirenenc

2015-08-17 11:18:25 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-discoverer.c:
	  discoverer: free context and error during failures
	  When g_option_context_parse or gst_discoverer_new fails, then there will
	  be memory leaks for ctx and err variables. Free'ing the same.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753701

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: try harder to avoid sending unnecessary tag updates

2015-08-16 17:55:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix tag handling
	  Before we just merged everything in pretty much random ways
	  ad-hoc instead of keeping state properly. In 0.10 that was
	  how it worked, but in 1.x the tag events sent should always
	  reflect the latest state and replace any previous tags.
	  So save the upstream (stream) tags, and save the tags set
	  by the decoder subclass with merge mode, and then update
	  the merged tags whenever either of those two changes.
	  This slightly changes the behaviour of gst_video_decoder_merge_tags()
	  in case it is called multiple times, since now any call replaces
	  the previously-set tags. However, it leads to much more predictable
	  outcomes, and also we are not aware of any subclass which sets this
	  multiple times and expects all the tags set to be merged.
	  If more complex tag merging scenarios are required, we'll have
	  to add a new vfunc for that or the subclass has to intercept
	  the upstream tags itself and send merged tags itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-14 17:59:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add unit test for tag handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

2015-08-14 17:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: fix tag handling
	  Before we just merged everything in pretty much random ways
	  ad-hoc instead of keeping state properly. In 0.10 that was
	  how it worked, but in 1.x the tag events sent should always
	  reflect the latest state and replace any previous tags.
	  So save the upstream (stream) tags, and save the tags set
	  by the decoder subclass with merge mode, and then update
	  the merged tags whenever either of those two changes.
	  This slightly changes the behaviour of gst_audio_decoder_merge_tags()
	  in case it is called multiple times, since now any call replaces
	  the previously-set tags. However, it leads to much more predictable
	  outcomes, and also we are not aware of any subclass which sets this
	  multiple times and expects all the tags set to be merged.
	  If more complex tag merging scenarios are required, we'll have
	  to add a new vfunc for that or the subclass has to intercept
	  the upstream tags itself and send merged tags itself.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679768

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

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough

2015-08-16 12:20:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: use more accurate sink pad template caps
	  Removes the need for custom caps query handling and makes it more
	  correct from the beginning on the template. It is a bit uglier
	  to read because there is 1 entry per channel but makes code easier
	  to maintain.

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

	* ext/theora/gsttheoraenc.c:
	  theoraenc: use template subset check for accept-caps
	  It is faster than doing a query that propagates downstream and
	  should be enough

2015-08-16 08:12:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: add src and sink query methods
	  Allows subclasses to do their own handling of GstQuery and still
	  chain up to the parent class to handle the ones that they don't want
	  to handle

2015-08-16 12:53:02 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix list iteration
	  We were using the wrong variable ...
	  CID #1316477

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

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

2015-05-04 11:19:28 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Handle flushing with multiple decode groups
	  When an upstream element wants to flush downstream, we need to take
	  all chains/groups into consideration.
	  To that effect, when a FLUSH_START event is seen, after having it
	  sent downstream we mark all those chains/groups as "drained" (as if
	  they had seen a EOS event on the endpads).
	  When a FLUSH_STOP event is received, we check if we need to switch groups.
	  This is done by checking if there are next groups. If so, we will switch
	  over to the latest next_group. The actual switch will be done when
	  that group is blocked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

2015-04-29 15:56:39 +0200  Edward Hervey <edward@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Forward event/queries for unlinked groups
	  When upstream events/queries reach sinkpads of unlinked groups (i.e.
	  no longer linked to the upstream demuxer), this patch attempts to find
	  the linked group and forward it upstream of that group.
	  This is done by adding upstream event/query probes on new group sinkpads
	  and then:
	  * Checking if the pad is linked or not (has a peer or not)
	  * If there is a peer, just let the event/query follow through normally
	  * If there is no peer, we find a pad to which to proxy it and return
	  GST_PROBE_HANDLED if it succeeded (allowing the event/query to be properly
	  returned to the initial called)
	  Note that this is definitely not thread-safe for the time being
	  https://bugzilla.gnome.org/show_bug.cgi?id=606382

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  Revert "audiodecoder: expose default query handling function"
	  Apparently I forgot how gobject works, there is no need to expose
	  it directly as one can call it from the parent_class pointer
	  This reverts commit 8a64592481dab985ca520a5b1cb394a609275c60.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  Revert "videodecoder: expose default query handling function"
	  Apparently I forgot how gobject works, there is no need to expose
	  it directly as one can call it from the parent_class pointer
	  This reverts commit ea9b6a7e3c4eea512650adf530b7f1acb0eccd84.

2015-08-15 07:41:24 -0300  Thiago Santos <thiagoss@osg.samsung.com>

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

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

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

2015-08-15 07:31:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: add option to use default pad accept-caps handling
	  Add gst_audio_decoder_set_use_default_pad_acceptcaps() to allow
	  subclasses to make videodecoder use the default pad acceptcaps
	  handling instead of resorting to the caps query that is, usually,
	  less efficient and unecessary
	  API: gst_audio_decoder_set_use_default_pad_acceptcaps

2015-08-15 07:20:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: add option to use default pad accept-caps handling
	  Add gst_video_decoder_set_use_default_pad_acceptcaps() to allow
	  subclasses to make videodecoder use the default pad acceptcaps
	  handling instead of resorting to the caps query that is, usually,
	  less efficient and unecessary
	  API: gst_video_decoder_set_use_default_pad_acceptcaps

2015-08-15 23:33:14 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Make stats creation threadsafe, fix a CRITICAL
	  Use the object lock to protect the internal segment when updating
	  against access from getting the stats property.
	  Fix a critical in gst-inspect or when retrieving the stats
	  before any segment has arrived by checking whether the
	  segment has been initted..

2015-08-12 03:00:15 +1000  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Make the H.264 typefind a tiny bit more lenient.
	  When we see prefix NALs before a Subset SPS has been spotted,
	  it might just be because the stream was truncated at the
	  start, so don't count those as either 'bad' or 'good' packets.

2015-08-14 18:43:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: unref the preroll buffer and cleanup the segments on stop()
	  Just for consistency. No need to keep data around.

2015-08-14 18:35:22 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: do not update preroll_caps unless the sink is prerolling
	  Just for consistency with the preroll_segment

2015-08-14 18:06:03 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* tests/check/elements/appsink.c:
	  tests/appsink: add test to ensure that the segment returned by pull-preroll/sample is correct
	  https://bugzilla.gnome.org/show_bug.cgi?id=751147

2015-06-18 12:30:24 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: put the correct segment in the preroll sample
	  last_segment is only being updated in dequeue_buffer(),
	  which is only called from _pull_sample(). _pull_preroll()
	  simply re-uses an old or dummy segment while the actual
	  one sits and waits in the queue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751147

2015-08-14 08:59:51 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: expose default query handling function
	  Subclasses can use it to select what queries they want to handle
	  and forward the rest to the default handling function.
	  API: gst_video_decoder_sink_query_default
	  https://bugzilla.gnome.org/show_bug.cgi?id=753623

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: expose default query handling function
	  Subclasses can use it to select what queries they want to handle
	  and forward the rest to the default handling function.
	  API: gst_audio_decoder_sink_query_default
	  https://bugzilla.gnome.org/show_bug.cgi?id=753623

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

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

2015-08-14 05:48:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: remove accept-caps handling
	  Just let the internal element of the bin do it instead of forcing a
	  caps query to do it.

2015-08-13 13:52:17 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: fixate the pixel-aspect-ratio
	  If the pixel-aspect-ratio is not fixed, try to get it as close
	  to 1/1 as possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=748635

2015-08-11 15:09:10 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: mention videorate is often needed in docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=748877

2015-08-11 14:10:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/Makefile.am:
	  rtp: Depend on the audio library

2015-07-01 16:25:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Copy metadata in the (de)payloader, but only the relevant ones
	  The payloader didn't copy anything so far, the depayloader copied every
	  possible meta. Let's make it consistent and just copy all metas without
	  tags or with only the audio tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751774

2015-08-10 22:03:48 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>

	* gst/videorate/gstvideorate.c:
	  videorate: add support for bayer formats
	  Since the videorate element just duplicates or drops frames
	  to achieve the desired framerate, it can accept video/x-bayer media
	  (in any format), which are not present in the current caps.
	  Just add "video/x-bayer(ANY);" to the caps of the static pad template
	  (fixing line style to pass the indent commit hook).
	  https://bugzilla.gnome.org/show_bug.cgi?id=753483

2015-08-05 15:32:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  basedepayloader: Don't re-timestamp with running-time
	  There was a confusion, six depayloaders where passing through the
	  timestamp while the base class was re-timestamping to running
	  time. This inconstancy has been unnoticed has in most use cases
	  the incoming segment is [0, inifnity] in which case timestamps are
	  the same as running time. With DTS/PTS shifting added (to avoid
	  negative values) and pcapparse sending a different segment this
	  started being an issue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753037

2015-08-10 09:49:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	  videoencoder: remove empty line to make g-i-scanner happy
	  gstvideoencoder.h:228: Warning: GstVideo: "@transform_meta"
	  parameter unexpected at this location:
	  * @transform_meta: Optional. Transform the metadata on ...

2015-08-10 08:17:09 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: documentation cleanup
	  Remove some whitespace and break lines longer than 80 columns

2015-08-10 00:21:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add test to make sure gap is pushed before segment
	  https://bugzilla.gnome.org/show_bug.cgi?id=753360

2015-08-09 23:23:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* tests/check/libs/videodecoder.c:
	  videodecoder: push pending events before gap
	  Push all pending events before pushing the gap. This ensures the
	  segment is pushed before the gap so it can be properly translated
	  to the running time
	  Includes unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753360

2015-07-30 16:39:03 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Set chain pointers to NULL
	  Otherwise, they will refer to freed memory
	  https://bugzilla.gnome.org/show_bug.cgi?id=753078

2015-07-31 13:31:56 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadend_details string leak
	  deadend_details need not be returned when the pad is not a deadend.
	  Hence checking if res value is TRUE and clearing the string instead of
	  passing it on
	  https://bugzilla.gnome.org/show_bug.cgi?id=753088

2015-08-04 14:41:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't set DTS on buffer
	  DTS is for encoded data and have no meaning for raw. It better to not
	  set it, as it's confusing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752791

2015-07-30 18:43:19 -0400  Olivier Crête <olivier.crete@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Return FLUSHING if pad if flushing
	  If the initial seek fails because the pad is
	  flushing, then return GST_FLOW_FLUSHING instead
	  of an error.

2015-07-30 15:16:57 +0100  Brian Peters <brianfpeters@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: avoid accessing NULL buffer even more
	  Previous commit was incompletely applied.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753001

2015-07-30 14:30:44 +0100  Brian Peters <brianfpeters@gmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: buffer: don't access NULL buffer pointer
	  unmap will set rtpbuffer->buffer to NULL, so we need to
	  save the pointer to access it while the RTP buffer is
	  unmapped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=753001

2015-07-30 12:50:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: fix leaks in error code paths
	  This was introduced when reshuffling the buffer unmaps
	  in commit bc14cdf529e21356ea7b2c8f34614958a91f7260
	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
	  Fixes make check-valgrind.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750235

2015-07-28 13:57:20 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Query downstream caps for checking if caps features are supported, not just accept-caps
	  accept-caps is not recursive and might stop at the next downstream element,
	  while caps queries are generally recursive. The next element might accept any
	  capsfeatures we want, but that doesn't mean that further downstream it will
	  also work.
	  Additionally for the future:
	  We should probably check if downstream *prefers* the
	  overlay meta, and only enforce usage of it if we can't handle
	  the format ourselves and thus would have to drop the overlays.
	  Otherwise we should prefer what downstream wants here.

2015-07-27 18:39:13 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* ext/opus/gstopuscommon.c:
	  opuscommon: Use GString instead of snprintf for concating
	  Safer, easier to understand, and more portable. Also, skip
	  all this if the log level is too low.

2015-07-23 15:28:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Use the extents rectangle for positioning
	  the extents rectangle is what you need to know to properly position
	  a buffer that has been rendered in a surface of the ink rectangle
	  size. This patch make the placement on par with the placement we had
	  before without having to over allocate.
	  This patch also enable placement for vertical rendering. Note that
	  the halginement, valighment and line-alignment default are set to
	  the previous default when this property is set. This is for backward
	  compatibility, you can change the value after setting vertical render.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728636

2015-07-23 15:19:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix clipping issues
	  This patch uses the ink rectangle in order to compute the size
	  of the surface require to render. It also correctly compute the
	  transformation matrix as the ink_rect position might not be at
	  0, 0. Additionally, shadow_offset and outline_offset (which is
	  in fact the diameter of a dot, not a really an offset) is now
	  taken into account. Redundant matrix operation has been removed
	  for the vertical rendering.
	  Take note that the matrix operation in cairo are excuted in
	  reverse order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728636

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

	* tools/gst-play.c:
	  tools: gst-play: seek at least in steps of a second
	  In case of very short files we might end up seeking in
	  steps of a fraction of a second, which is silly and gives
	  the impression that seeking doesn't actually work. Make
	  minimum seek step a second instead.

2015-07-22 16:19:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Improve further the negotiation function
	  * Only send the caps event once if the query had support for the
	  overlay composition meta.
	  * Only do the allocation query if it is supported through caps.
	  * Send overlay_caps before doing allocation query rather then normal
	  caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-22 20:50:10 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* ext/pango/Makefile.am:
	  basetextoverlay: Add missing linking against -lm

2015-07-21 18:40:59 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Ensure meta coordinate are in stream scale
	  The GstVideoOverlayComposition meta coordinates should always be
	  in stream scale, regardless of the window size downstream. This
	  way the sink can always scale the composition if the window size
	  have changed after a buffer (with his meta) was rendered before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-21 14:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Reorder and cleanup class attribute
	  Also add a minimum amount of comment so we can understand what
	  is doing what.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-15 21:56:17 +0300  Ville Skyttä <ville.skytta@iki.fi>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Treat *.umx (Unreal Music Package) as audio/x-mod
	  https://bugzilla.gnome.org//show_bug.cgi?id=752436

2015-07-20 16:25:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix upstream composition handling
	  We need to update the render when upstream composition changes
	  or if it was removed.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 16:20:24 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Clear reconfigure flags before negotation
	  This avoids negotiating twice. Current the _setcaps() patch does
	  not clear the initial reconfigure flags, which lead to systematic
	  double renegotiation.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 15:55:07 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetestoverlay: Always query window dimension
	  Remove the optimization to skip allocation query so we can
	  always have the latest window size information. Also, correctly
	  deal with the case where there is no window size information.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-07-20 15:11:06 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Send caps before doing allocation query
	  This is currently a limitation of BaseTransform base class. Which means
	  pretty much every filters out there.
	  http://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-06-18 06:31:00 +0200  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Log GstVideoOverlayComposition negotiation
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-03-25 14:10:10 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: Receive window size event and adjust rendering
	  * cache window size event and update handle ratio
	  * init width with 1, don't use 0
	  * don't update overlay when receiving same window size
	  * receive window size from allocation query
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-03-19 17:59:16 +0100  Lubosz Sarnecki <lubosz.sarnecki@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetestoverlay: Pass down meta buffers from upstream that supports GstVideoOverlayComposition
	  This makes pipelines with multiple textoverlay elements possible.
	  The meta data is collected from the upstream textoverlay element,
	  merged into a new GstVideoOverlayComposition and passed down downstream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751157

2015-04-20 15:04:56 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusdec.h:
	  opusdec: Fix PLC frame size calculations
	  Previously, PLC frames always had a length of 120ms, which caused audio
	  quality degradation and synchronization errors. Fix this by calculating an
	  appropriate length for the PLC frame.
	  The length must be a multiple of 2.5ms. Calculate a multiple of 2.5ms that
	  is nearest to the current PLC length. Any leftover PLC length that didn't
	  make it into this frame is accumulated for the next PLC frame.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725167

2015-07-10 12:49:01 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  depayloader: Use input segment start
	  When there is no clock_base provided, the start position is
	  set to 0 instead of the original segment start value. This
	  would break synchronization if start was not 0.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752228

2015-07-16 21:26:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: add DASH MPD typefinder
	  Moved from dashdemux plugin in -bad.

2015-07-16 10:07:45 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: fix memory leaks
	  ctx, list and visual_entries are not being freed
	  resulting in memory leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=752454

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

	* ext/ogg/gstogmparse.c:
	* ext/pango/gsttextrender.c:
	* gst/subparse/gstsubparse.c:
	* gst/videoconvert/gstvideoconvert.c:
	  Update mailing list address from sourceforge to freedesktop

2015-07-16 10:54:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-device-monitor.c:
	  tools: gst-device-monitor: fix props leak
	  CID 1311942

2015-07-15 18:22:28 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-device-monitor.c:
	  device-monitor: print device properties

2015-07-15 12:45:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideopool.c:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/videooverlay.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/videotestsrc.c:
	  video: improve logging
	  Add logging categories for most video objects.
	  Remove some useless debug lines in video-info and videotestsrc.
	  Add a performance debug line in the video scaler.

2015-07-15 12:46:07 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: fix tag list leak
	  tags are being leaked while updating the streams in jsseek
	  https://bugzilla.gnome.org/show_bug.cgi?id=752400

2015-07-15 10:50:46 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: fix tag list leak
	  tags are being leaked while updating the streams in playback-test
	  https://bugzilla.gnome.org/show_bug.cgi?id=752397

2015-07-14 17:17:34 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Include generated enum types in gstrtsptransport.h
	  GST_TYPE_RTSP_LOWER_TRANS used to be defined in there, not
	  including the generated file makes older gst-p-good fail to build,
	  so it constitues an API break.

2015-07-14 15:58:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	  socketsrc: add caps property
	  Add caps property that allows the src to easily negotiate a format.

2015-07-14 13:00:03 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: fix memory leak
	  context during main and filter list during init
	  visualization are not being freed resulting in memory leak
	  and app->vis_entries
	  https://bugzilla.gnome.org/show_bug.cgi?id=752359

2015-07-14 00:03:10 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: only try to expose complete groups
	  When switching to a new chain it might be that this new chain
	  is not yet ready to be exposed so check it before exposing.
	  Can happen with mpegts that might delay adding pads or pushing data
	  until it has found the PMT/PAT/PCR and that may take a while depending
	  on the stream.
	  It happened frequently with HLS:
	  http://vevoplaylist-live.hls.adaptive.level3.net/vevo/ch1/appleman.m3u8

2015-07-14 00:02:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix typo
	  Hided -> hid

2015-05-27 18:55:20 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	  rtp: rtpbasedepayload: add process_rtp_packet() vfunc
	  Add process_rtp_packet() vfunc that works just like the
	  existing process() vfunc only that it takes the GstRTPBuffer
	  that the base class has already mapped (with MAP_READ),
	  which means that the subclass doesn't have to map it again,
	  which allows more performant processing of input buffers
	  for most RTP depayloaders.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750235

2015-07-10 11:53:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Require the streamvolume interface on the sink when using the sink's volume/mute properties
	  If the sink has properties named volume and mute, we have no idea about their
	  meaning. The streamvolume interface standardizes the meaning.
	  In the case of osxaudiosink for example, the current volume property has a
	  range of 0.0 to 1.0, but we need 0.0 to 10.0 or similar. Also osxaudiosink
	  has no mute property. As such, the volume element should be used here instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752156

2015-07-09 10:47:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/video/video-frame.h:
	  doc/build: Fix doc typos
	  This minor update should workaround a build system bug. While the
	  makefile has been updated to generate more enum type, there is nothing
	  that updates the header and would lead to the generated code to be
	  produced again. This minor doc fix should ensure no one get a build with
	  missing symbols.

2015-07-09 17:20:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstvideo.def:
	  Revert "win32 def: Remove video flags symbol that don't exist"
	  This reverts commit b20cc6a02a007521eabceeceb60356e5a252f38a.
	  They are actually there in the autogenerated enum header/source file.

2015-07-09 10:15:11 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* win32/common/libgstvideo.def:
	  win32 def: Remove video flags symbol that don't exist
	  There has been a some refactoring and these symbols don't exist anynmore.
	  So remove it from the win32 def. This should fix distcheck.

2015-07-07 19:56:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: fix typo in comment

2015-07-07 15:05:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasepayload: fix possible segment event leak
	  Need to clear it when shutting down, not when starting up.
	  Fixes leak in rtp-payloading unit test.

2015-07-07 22:23:57 +0900  Hyunjun Ko <zzoonis@gmail.com>

	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  video/audio meta: transform_func: return FALSE if not supported or failed
	  https://bugzilla.gnome.org/show_bug.cgi?id=751778

2015-07-07 19:55:44 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: refactor to use gst_pad_push_event
	  Right now navigation events are being sent via gst_pad_send_event
	  after getting the peer pad of the sinkpad.
	  But the same functionality can be done using gst_pad_push_event
	  without need of getting peer pad in xvimagesink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752059

2015-07-07 14:32:25 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/Makefile.am:
	* win32/common/libgstvideo.def:
	  video: Add some more GTypes for enums

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

	* gst-libs/gst/video/video-scaler.c:
	  GstVideoScaler: Initialised scaling functions to get rid of compiler messages
	  E.g.
	  video-scaler.c: In function 'gst_video_scaler_horizontal':
	  video-scaler.c:1332:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  func (scale, src, dest, dest_offset, width, n_elems);
	  ^
	  video-scaler.c: In function 'gst_video_scaler_vertical':
	  video-scaler.c:1373:3: error: 'func' may be used uninitialized in this function [-Werror=maybe-uninitialized]
	  func (scale, src_lines, dest, dest_offset, width, n_elems);
	  ^
	  GCC's analyses seem to be correct, for the simple fact that if you pass
	  get_functions a known format, but no hscale or vscale, it'll return
	  True without having done anything.
	  Some callers check for the scale values to be not NULL, but then
	  hscale->resampler.max_taps could return 0.
	  A different approach to the one presented in this patch is to check
	  for those max_taps, too, before calling get_functions.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=752051

2015-07-07 19:45:43 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: Post navigation events as message on the bus
	  post unhandled events to bus, so that
	  application can utilise the same if needed
	  https://bugzilla.gnome.org/show_bug.cgi?id=752043

2015-07-07 19:35:40 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: fix navigation event leak
	  Create event only when pad is created
	  and send the event to pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752041

2015-07-07 09:31:01 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix pad memory leak
	  pad is not being freed when xwindow is not created
	  https://bugzilla.gnome.org/show_bug.cgi?id=752042

2015-07-07 08:53:09 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* tools/gst-play.c:
	  gst-play: fix memory leak
	  In gst-play, for GST_MESSAGE_ELEMENT bus message,
	  event is being allocated through
	  gst_navigation_message_parse_event, but not freed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752040

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

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* sys/ximage/ximage.c:
	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	* sys/ximage/ximagesink.c:
	* sys/ximage/ximagesink.h:
	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvimage.c:
	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagesink.c:
	* sys/xvimage/xvimagesink.h:
	  x/xv_image_sink: rename for consitency
	  Insert '_' to match the CamelCase. This is needed so that the plugin docs can
	  guess the names from the type name.

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

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	  docs: update master doc for plugins

2015-07-06 10:05:53 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: also check moof to recognize video/quicktime
	  Helps recognizing fragmented files with the right type

2015-07-06 15:36:07 +0300  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  docs: Add new symbols to the docs and .def files

2015-07-06 12:53:15 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/video/video-info.h:
	  {audio,video}info: Add GST_TYPE_{AUDIO,VIDEO}_INFO macros

2015-07-06 11:36:58 +0200  Marcin Kolny <marcin.kolny@flytronic.pl>

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video-info: implement GstVideoInfo as boxed type
	  GstVideoInfo usually is created on the stack, but boxed type can be useful
	  for bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=752011

2015-07-02 20:50:00 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Fix validation of packets with padding
	  The padding (if any) is included in the length of the last packet, see
	  RFC 3550.
	  Section 6.4.1:
	  padding (P): 1 bit
	  If the padding bit is set, this individual RTCP packet contains
	  some additional padding octets at the end which are not part of
	  the control information but are included in the length field. The
	  last octet of the padding is a count of how many padding octets
	  should be ignored, including itself (it will be a multiple of
	  four).
	  Section A.2:
	  *  The padding bit (P) should be zero for the first packet of a
	  compound RTCP packet because padding should only be applied, if it
	  is needed, to the last packet.
	  *  The length fields of the individual RTCP packets must add up to
	  the overall length of the compound RTCP packet as received.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751883

2015-07-01 17:09:35 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix setting default pixel-aspect-ratio
	  It's needed to check if pixel-aspect-ratio exists before fixating.
	  It does not exist if input caps is not set yet and allowed caps
	  does not contain pixel-aspect-ratio (e.g. when using GST_VIDEO_CAPS_MAKE)
	  https://bugzilla.gnome.org/show_bug.cgi?id=751932

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

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

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

	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* ext/cdparanoia/gstcdparanoiasrc.h:
	* gst/adder/gstadder.h:
	* gst/tcp/gstmultisocketsink.h:
	  docs: order and canonicalize the -sections.txt file
	  Have all sections in alphabetical order. Also make the macro order consistent.
	  This is a preparation for generating the file. Remove GET_CLASS macro for
	  some elements, since it is not used and the header is not installed.

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

	* ext/cdparanoia/gstcdparanoiasrc.h:
	  cdparanoiasrc: remove unused defines

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

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: fix debug categories
	  Use a local category for the default category and fix the import for the
	  performance category.

2015-07-02 10:47:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix bug with unused upstream_has_meta
	  The intention was to skip the allocation query if upstream has decided
	  to use the overlay meta feature in the caps. We can safely assume that
	  upstream have done that query already before making this decision. This
	  is an optimization since doing allocation queries is relatively
	  expensive.
	  CID #1308943

2015-07-02 10:27:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: remove dead code"
	  This reverts commit e863e5f8a98ceec0ec0bd24274bbae8795e0ab75.

2015-07-02 14:52:47 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: remove dead code
	  upstream_has_meta is set to FALSE and never changed. The two checks for if
	  upstream_has_meta will never go to the true branch. Removing the boolean
	  and the true branches of these checks.
	  CID #1308943

2015-07-02 13:15:58 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Don't try to get buffers from an empty adapter

2015-07-01 10:58:07 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  {audio,video}{en,de}oder: Also copy POOL metas and make sure to copy over metas when creating subbuffers
	  POOL meta just means that this specific instance of the meta is related to a
	  pool, a copy should be made when reasonable and the flag should just not be
	  set in the copy.

2015-06-29 18:00:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the audio tag. Same behaviour as in GstAudioFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 17:38:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioencoder.h:
	  audioencoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the audio tag. Same behaviour as in GstAudioFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 15:58:38 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the video tag. Same behaviour as in GstVideoFilter.
	  This currently does not work if the ::parse() vfunc is implemented as all
	  metas are getting lost inside GstAdapter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-29 13:59:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add transform_meta() vfunc with default implementation
	  The default implementation copies all metadata without tags, and metadata
	  with only the video tag. Same behaviour as in GstVideoFilter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742385

2015-06-30 10:37:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Don't copy memory if not needed, just append payload to the RTP buffer

2015-06-30 07:26:00 +0900  danny song <danny.song.ga@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: remove unnecessary break
	  https://bugzilla.gnome.org/show_bug.cgi?id=751690

2015-06-29 16:16:06 +0100  Luis de Bethencourt <luis@debethencourt.com>

	* gst-libs/gst/video/video-scaler.c:
	  videoscaler: remove check for below zero for unsigned value
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it is a division of an unsigned integer (i). Removing that check
	  and only checking if it is bigger than max and setting it appropriately.
	  CID #1308950

2015-06-29 13:06:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

2015-06-29 13:06:49 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

2015-06-29 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

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

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Also copy metas if their API has no tags attached to it
	  This is the default basetransform behaviour, being more strict than that
	  is not really useful.

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

	* configure.ac:
	  Back to development

=== release 1.5.2 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2015-06-17 18:03:09 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Unblock EOS wait when track switching.
	  sink_event () will blocked on EOS event. which will cause can't
	  send event when switch EOS track to non-EOS one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750761

2015-06-22 20:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't wait for sparse streams when doing stream switches
	  Their stream-start event might come a bit later, like just before the first
	  buffer... and queues might run full before that happens.

2015-06-22 20:29:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Add some more debug output

2015-06-22 20:17:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Reset group start time when flushing
	  We reset the group start time to the running time of the start of the other
	  streams that are not flushed. This fixes seeking in gapless mode after the
	  first track has played.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750013

2015-06-22 19:51:32 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Only drop everything after the ; of a session header in requests
	  For responses it is actually allowed and used to signal the timeout to the
	  client!
	  https://bugzilla.gnome.org/show_bug.cgi?id=736267

2015-06-18 17:38:09 +0800  Lyon Wang <lyon.wang@freescale.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Fix alaw/mulaw channel positions
	  For alaw/mulaw we should also try to initialize the channel positions in the
	  ringbuffer's audio info. This allow pulsesink to directly use the channel
	  positions instead of using the default zero-initialized ones, which doesn't
	  work well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751144

2015-06-22 16:53:06 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/libsabi.c:
	  tests: fix cpp directives

2015-06-22 15:59:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	* tests/check/libs/libsabi.c:
	* tests/check/libs/struct_ppc64.h:
	  tests: add PPC64 abi struct sizes

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

	* gst/playback/gstplaybin2.c:
	  playbin: Reset suburi also when receiving an error message from the sub uridecodebin
	  http://bugzilla.gnome.org/show_bug.cgi?id=751118

2015-06-17 10:20:54 -0500  Brijesh Singh <brijesh.ksingh@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: free group->suburi on failure
	  If suburidecodebin is failed to negotiate (e.g file does not exist)
	  then free internal suburi variable so that 'current-suburi' property
	  returns correct status.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751118

2015-06-15 16:08:10 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: set building_chain to NULL when deactivating chain
	  The chain is about to be invalidated so we shouldn't keep it around.
	  Prevent a double free crash when the demuxer is being finalized.
	  https://bugzilla.gnome.org/show_bug.cgi?id=751000

2015-06-15 13:43:53 +0200  Mersad Jelacic <mersad@axis.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Add bitrate to the tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=750992

2015-06-19 19:51:25 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* tools/gst-play.c:
	  tools: gst-play: fix seeking issue
	  For positive seeking segment.stop value will be -1,
	  when we change rate to -1, then the stop value will be udpated
	  with the current position. And then again if we change rate to 1,
	  the segment.stop value does not get updated and remains as position
	  where we last changed rate to -1. Hence playback stops at that point.
	  In case of positive rates, call gst_element_new_seek with correct values
	  https://bugzilla.gnome.org/show_bug.cgi?id=751213

2015-06-18 21:02:48 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtphdrext.c:
	  doc: Fix gsttrtphdrext section name

2015-06-18 18:23:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* win32/common/libgstvideo.def:
	  video: Add missing new symbol to win32 def file
	  Fixes make distcheck

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  Add gst_video_multiview_guess_half_aspect() to the docs

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

	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-multiview.h:
	  multiview: Add gst_video_multiview_guess_half_aspect()
	  Add a utility function that, given a video size and a
	  packed stereoscopic mode, attempts to guess if the video
	  is packed at half resolution per view or not, since
	  very few videos provide the information.

2015-06-17 17:09:46 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: make sure we draw enough border for YUY2 formats
	  Round width up to 2 so that we draw all border pixels for YUY2 formats

2015-06-17 16:43:03 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix scaling of odd width for YUY2 formats
	  We need to scale groups of 4 bytes for YUY2 formats so round up to 4.
	  It's possible that there is no Y byte for the last pixel so make sure
	  we clamp correctly.

2015-06-17 10:02:08 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  discoverer: Fix a wrong naming in the documentation
	  gst_discoverer_stream_get_missing_elements_installer_details does not
	  exist, one should use gst_discoverer_info_get_missing_elements_installer_details

2015-06-16 18:04:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  gi: Use INTROSPECTION_INIT for --add-init-section
	  This new define was added to common. The new init section fixed
	  compilation warning found in the init line that was spread across
	  all files.

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

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

2015-06-16 22:32:49 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: error out instead of crashing if there's no playbin element

2015-06-16 16:08:39 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-scaler.c:
	  gi: Skip Scaler, Chroma, Conveter, Dither constructor
	  Please box these types before removing the skip mark.

2015-06-16 16:07:27 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-overlay-composition.c:
	  gi: Add (transfer none) for various video meta
	  These method chains gst_buffer_add_meta() which is also transfer
	  none.

2015-06-16 15:50:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  gi: Fix warnings in GstRtsp
	  * The custom GSource is not boxed (skip for now)
	  * The comment block has wrong name for _read_socket()

2015-06-16 15:16:33 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/riff/Makefile.am:
	  gi: Don't produce gir and typlib for GstRiff
	  The API does not follow the type naming convention. Re-enable
	  only if one take the time to box and rename (see (rename-to SYMBOL)
	  annotation) all types.

2015-06-16 14:36:44 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/fft/gstfftf32.c:
	* gst-libs/gst/fft/gstfftf64.c:
	* gst-libs/gst/fft/gstffts16.c:
	* gst-libs/gst/fft/gstffts32.c:
	  gi: Skip fft constructor for now
	  These types have never been boxed, hence cannot be used
	  safely in interpreted languages. This fixes warnings.

2015-06-16 14:34:04 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	  gi: Fix warnings in libgstaudio
	  * Duplicate section
	  * Miss-named parameter
	  * Missing transfer none annotation for meta

2015-05-27 12:20:19 +0300  Lazar Claudiu <lazar.claudiu.florin@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstbasetextoverlay.h:
	  basetextoverlay: add "draw-shadow" and "draw-outline" properties
	  https://bugzilla.gnome.org/show_bug.cgi?id=749823

2015-06-13 13:41:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix gtk-doc chunk for new function

2015-05-12 14:12:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Rewrite negotiation method
	  This cleanup the negotiation function by properly splitting the probe
	  and the decisions. This allow handling correctly pipeline where upstream
	  caps have special memory type. An example pipeline is:
	  gltestsrc ! textoverlay text=bla ! fakesink
	  The upstream caps will be memory:GLMemory, which isn't supported by the
	  blitter.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749243

2015-06-05 14:30:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Don't share internal pool
	  Sharing the internal pool results in situation where the pool may have
	  two upstream owners. This creates a race upon deactivation. Instead,
	  always offer a new pool, and keep the internal pool internal in case
	  we absolutely need it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748344

2015-06-05 14:28:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* sys/ximage/ximagesink.c:
	  ximagesink: Don't share internal pool
	  Sharing the internal pool results in situation where the pool may have
	  two upstream owners. This create a race upon deactivation. Instead,
	  always offer a new pool, and keep the internal pool internal in case
	  we absolutely need it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748344

2014-11-26 21:06:57 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	* win32/common/libgstvideo.def:
	  videoencoder: Add gst_video_encoder_set_min_pts()
	  For streams with reordered frames this can be used to ensure that there
	  is enough time to accomodate first DTS, which may be less than first PTS
	  https://bugzilla.gnome.org/show_bug.cgi?id=740575

2015-06-12 19:58:34 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2015-06-13 01:35:52 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Copy multiview-mode, flags and view count from ref info
	  When copying info from the reference input state, duplicate
	  all the fields of the video info. The sub-class will have the
	  chance to override them later.

2015-06-12 16:57:39 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: enforce same taps when combining scalers

2015-06-12 16:52:27 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: make sure to clamp to max width
	  When estimating the area that should first be vertically scaled, make
	  sure we clamp to the max input size or else we get invalid reads.

2015-06-12 16:47:03 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: Enforce same taps on Y and UV scalers for merged formats
	  Make sure we have the same number of taps for the Y and UV scalers so
	  that the scalers can be merged correctly.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=749764

2015-06-12 12:50:35 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Add a FIXME 2.0 for gst_rtsp_connection_create_from_socket()
	  There's a couple of redundant arguments from the pre-GIO days.

2015-06-11 23:32:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: check for full UTF-8 BOM in MSS typefinder
	  https://bugzilla.gnome.org/show_bug.cgi?id=750802

2015-06-11 18:14:47 +0200  Philippe Normand <philn@igalia.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: UTF-8 MSS Manifest detection support
	  Check if the first bytes of data contain an UTF-8 BOM.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750802

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

	* gst/playback/gstplaybin2.c:
	  playbin: Check in autoplug_continue against the subtitle factory caps correctly
	  6a2f017bfa9cb73c6db65eea0b84b1d5b56febb7 changed it to check the subtitle
	  factory caps if there is a text-sink but we fail to get its sinkpad. What
	  actually should be done here is to use the factory caps if there is no
	  text-sink at all.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750785

2015-06-11 23:01:48 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix some warnings with clang around multiview enums
	  There is the GstVideoMultiviewMode enum and the
	  GstVideoMultiviewFramePacking, which is a subset of the
	  multiview modes, with the same values as the corresponding
	  types from the full enum. Do some casts and use the right
	  times to avoid implicitly using/passing GstVideoMultiviewFramePacking
	  when a GstVideoMultiviewMode is needed.

2015-06-11 12:21:08 +1000  Jan Schmidt <jan@centricular.com>

	* tests/check/libs/video.c:
	  tests: Fix video libs test for multiview GstVideoInfo change
	  The GstVideoInfo struct was changed late in integrating the
	  multiview changes, and I forgot to run and fix the unit test.

2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Implement multiview frame-packing overrides
	  Add GstVideoMultiviewFramePacking enum, and the
	  video-multiview-mode and video-multiview-flags
	  properties on playbin.
	  Use a pad probe to replace the multiview information in
	  video caps sent out from uridecodebin.
	  This is a part implementation only - for full
	  correctness, it should also modify caps in caps events,
	  accept-caps and allocation queries.
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-06-11 11:12:39 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* gst-libs/gst/video/video-multiview.c:
	* gst-libs/gst/video/video-multiview.h:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	* win32/common/libgstvideo.def:
	  video: Add multiview/stereo support
	  Add flags and enums to support multiview signalling in
	  GstVideoInfo and GstVideoFrame, and the caps serialisation and
	  deserialisation.
	  videoencoder: Copy multiview settings from reference input state
	  Add gst_video_multiview_* support API and GstVideoMultiviewMeta meta
	  https://bugzilla.gnome.org/show_bug.cgi?id=611157

2015-06-10 14:33:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Use GST_BUFFER_PTS() instead of GST_BUFFER_TIMESTAMP()

2015-06-10 12:26:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* gst/playback/gstplaysink.c:
	  playsink: fix the channel of color balance element
	  When traversing the color balance element channel list to find the one that
	  matches with the playsink proxy, the assignation was set to iterator of the
	  playsink proxy, not the balance element. Thus, the mapping to the values of
	  the balance element channel was wrong.
	  This patch fixes the assignation of the color balance element channel, so the
	  mapping to the channel of the color balance element is fixed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750691

2015-06-10 15:50:12 +0900  Vineeth TM <vineeth.tm@samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: cannot enable text flag while playing
	  when text playbin is not enabled in the beginning, then
	  video_srcpad_stream_synchronizer gets linked to videochain->sinkpad
	  and when we try to enable text bin during play, since it is already linked to videochain,
	  text chain does not get linked properly. Hence unlinking the same
	  before linking to text chain
	  https://bugzilla.gnome.org/show_bug.cgi?id=748908

2015-06-10 09:59:49 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstrtsp.def:
	  win32: Update defs file

2015-06-05 22:04:24 -0400  Xavier Claessens <xavier.claessens@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  GstRTSPConnection: Add GTlsInteraction support
	  https://bugzilla.gnome.org/show_bug.cgi?id=750471

2015-06-09 21:24:07 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: don't print 64 whitespaces next to the time indication
	  Printing 64 whitespaces to erase the "Paused" message (after \r) would make
	  it wrap to the next line on shorter terminals. Instead we only print the
	  amount of spaces needed. Also mark the "Paused" string for translation
	  while we're at it.

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

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

2015-06-09 22:03:37 +1000  Jan Schmidt <jan@centricular.com>

	* win32/common/libgstaudio.def:
	  Update win32 exports

2013-12-09 18:46:14 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* ext/alsa/gstalsasink.c:
	  alsa: report recoverable device failures to base class
	  This gives custom slave methods in the base class a chance to
	  resynchronize themselves
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=708362

2013-12-09 17:08:15 +0100  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	  audiobasesink: added custom clock slaving method
	  This new clock slaving method allows for installing a callback that is
	  invoked during playback. Inside this callback, a custom slaving
	  mechanism can be used (for example, a control loop adjusting a PLL or an
	  asynchronous resampler). Upon request, it can skew the playout pointer
	  just like the "skew" method. This is useful if the clocks drifted apart
	  too much, and a quick reset is necessary.
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
	  https://bugzilla.gnome.org/show_bug.cgi?id=708362

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

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

2015-06-09 10:16:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: add shortcuts to switch audio/subtitle/video tracks

2014-11-05 09:41:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybackutils.c:
	  playback: Skip 'ANY' capsfeature while finding the count of common capsfeatures
	  https://bugzilla.gnome.org/show_bug.cgi?id=687182

2014-11-05 09:40:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/Makefile.am:
	* gst/playback/gstplaybackutils.c:
	* gst/playback/gstplaybackutils.h:
	* gst/playback/gstplaybin2.c:
	  playback: Add gstplaybackutils.{h,c} to deploy the common subroutines
	  Bring some of the helper functions in gstplaybin2.c to new files
	  gstplaybackutils.{h,c} which can be utilized by other files
	  in gst/playback too.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687182

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

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

2015-06-08 20:32:02 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* tools/gst-play.c:
	  tools: gst-play: sort directory entries
	  When adding a directory to the playlist, the order would be whatever
	  g_dir_read_name returned. Sorting these using natural sort order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750585

2015-06-08 20:17:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvcontext.c:
	  ximagesink, xvimagesink: fix string leaks when setting class hint
	  https://bugzilla.gnome.org/show_bug.cgi?id=750455

2015-06-08 13:01:43 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-color.c:
	  video: Allow using bt2020 by name in colorimetry
	  As the lookup stops at the first element in the array with a NULL
	  name, bt2020 could not be used by name. Moving up this entry
	  fixes the issue.

2015-06-05 16:01:05 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: set WM_CLASS of window
	  Set WM_CLASS of the ximagesink window so window managers can apply rules
	  based on xprop filtering.

2015-06-05 15:58:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* sys/xvimage/xvcontext.c:
	  xvimagesink: set WM_CLASS of window
	  Set WM_CLASS of the xvimagesink window so window managers can apply rules
	  based on xprop filtering.

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

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

2015-06-07 18:49:48 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: clean dereferences of private structures
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-06-07 18:23:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  libvisual: make private all variable subclasses don't need
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

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

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

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

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

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

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

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

	* configure.ac:
	  Back to development

=== release 1.5.1 ===

2015-06-07 10:04:41 +0200  Sebastian Dröge <sebastian@centricular.com>

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

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

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Always prefer downstream's ssrc suggestion if any
	  Otherwise ssrc changes via rtpsession's (deprecated!) internal-ssrc property
	  are not possible anymore. rtpsession was now patched to only suggest an ssrc
	  if it makes sense to do so.
	  In 2.0 we should get rid of all the properties that are also negotiated via
	  caps, the code and behaviour is too confusing otherwise.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749581

2015-06-05 10:16:56 +0200  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* win32/common/libgstrtp.def:
	  rtcpbuffer: Improve documentation of new functions a bit
	  Also actually add them to the documentation.

2015-06-03 11:20:35 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtcpbuffer: Update package validation to support reduced size rtcp packets
	  According to this section of the rfc.
	  https://tools.ietf.org/html/rfc5506#section-3.4.2
	  The validation should be updated to accept more types of RTCP
	  packages, with this mask change feedback packages will be also
	  accepted.
	  Change-Id: If5ead59e03c7c60bbe45a9b09f3ff680e7fa4868

2015-06-04 19:03:51 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioresample/gstaudioresample.c:
	  audioresample: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-06-04 19:00:45 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/gstaudiofilter.c:
	  audiofilter: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-06-04 17:59:17 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: copy metadata that only has the "audio" tag.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750406

2015-05-20 18:16:07 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Serialize the top level DiscovererInfo
	  Which contains fields such as duration, uri and tags.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749673

2015-06-04 16:31:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Add AAC channel configurations 11, 12 and 14 and levels 6 and 7

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

	* ext/opus/gstopusdec.c:
	  opusdec: If channel/rate negotiation fails, fall back to stereo and 48kHz

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

	* ext/opus/gstopusdec.c:
	  opusdec: gst_structure_fixate_field_nearest_int() only works if the structure has this field
	  Just set the rate/channels directly if the caps don't have this field.

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

	* tests/check/generic/clock-selection.c:
	* tests/check/libs/allocators.c:
	* tests/check/libs/audio.c:
	* tests/check/libs/fft.c:
	* tests/check/libs/navigation.c:
	* tests/check/libs/rtp.c:
	* tests/check/libs/rtsp.c:
	* tests/check/libs/rtspconnection.c:
	* tests/check/libs/tag.c:
	* tests/check/libs/xmpwriter.c:
	* tests/check/pipelines/basetime.c:
	* tests/check/pipelines/capsfilter-renegotiation.c:
	* tests/check/pipelines/gio.c:
	* tests/check/pipelines/simple-launch-lines.c:
	* tests/check/pipelines/theoraenc.c:
	* tests/check/pipelines/vorbisdec.c:
	* tests/check/pipelines/vorbisenc.c:
	  check: Use GST_CHECK_MAIN () macro everywhere
	  Makes source code smaller, and ensures we go through common initialization
	  path (like the one that sets up XML unit test output ...)

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

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

2015-06-02 12:47:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for video/x-cavs caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=727731

2015-06-02 12:28:19 +0200  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstpbutils.def:
	  win32: Update def file for new encoding API

2015-05-29 14:15:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: optimise payload mapping for buffers with one memory
	  Micro-optimisation: if the buffer consist of just one memory, we
	  know we have already mapped that memory to read the headers, so
	  no need to map it another time to get to the payload data, we
	  can just set up the payload data details right there and then
	  and avoid another map call in gst_rtp_buffer_get_payload().
	  Adds up when receiving RTP-payloaded raw video which can easily
	  be thousands of packets per frame.

2015-05-21 13:59:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* gst-libs/gst/rtp/gstrtpbasedepayload.h:
	  rtpbasedepayload: provide chain_list function on sink pad
	  Implement a chain_list function, which avoids lots of locking
	  compared to the default fallback implementation in GstPad.
	  We may also want to do some more sophisticated timestamp
	  tracking here at some point, but for now leave it up to the
	  jitterbuffer and/or subclasses (in case buffers in the
	  buffer list have no timestamp set on them, there may only
	  be a timestamp for the whole list on the first buffer).
	  This provides the exact same behaviour as the default
	  fallback implementation.

2015-05-07 10:26:47 +0200  Thibault Saunier <tsaunier@gnome.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	  encodebin: Add a way to enable/disabled a GstEncodingProfile
	  Summary:
	  So that the user can easily use the same encoding profile to render
	  with/without audio/video stream.
	  API:
	  gst_encoding_profile_is_disabled
	  gst_encoding_pofile_set_enabled
	  https://bugzilla.gnome.org/show_bug.cgi?id=749056

2015-05-30 15:34:51 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tools/gst-play.c:
	  tools: gst-play: remove unnecessary variable
	  The second assignment of sret is never used. We can remove the first assignment
	  and use the value directly instead.

2015-05-30 08:12:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2frames: Fix compiler warnings
	  id3v2frames.c:951:20: error: unused variable 'utf16enc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16enc[] = "UTF-16";
	  ^
	  id3v2frames.c:952:20: error: unused variable 'utf16leenc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16leenc[] = "UTF-16LE";
	  ^
	  id3v2frames.c:953:20: error: unused variable 'utf16beenc' [-Werror,-Wunused-const-variable]
	  static const gchar utf16beenc[] = "UTF-16BE";
	  ^

2015-05-30 01:03:46 +1000  Jan Schmidt <jan@centricular.com>

	* docs/design/part-stereo-multiview-video.markdown:
	  part-stereo-multiview-video: Add a section of open design questions

2015-05-30 00:58:38 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Fix minor docs typo

2015-03-16 19:37:26 +1100  Jan Schmidt <jan@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: Document the solid-color pattern

2015-03-16 19:28:35 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplay-enum.h:
	  playback: Document GST_PLAY_FLAG_SOFT_COLORBALANCE

2014-10-09 01:13:29 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* win32/common/libgstvideo.def:
	  video: Make gst_buffer_get_video_meta() a real function, Return lowest id
	  Instead of returning the first video meta found on a buffer, return the
	  one with the lowest id (which is usually the same thing, except on
	  multi-view buffers)

2015-05-29 15:30:41 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't crash on unknown info types when deserializing
	  Handle unknown info types when deserializing instead of
	  dereferencing NULL pointers.
	  Coverity CID 1302394

2015-05-29 13:15:59 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: prevent the sdp message parser from reading past the end of the buffer
	  Otherwise, a malformed SDP message could crash the application,
	  or even maliciously gather data from the memory located after
	  this buffer...
	  https://bugzilla.gnome.org/show_bug.cgi?id=750096

2015-05-28 19:49:31 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* tests/check/elements/videorate.c:
	  tests: add test for videorate caps renegotiation after a framerate has been calculated and added to caps
	  The original 0/1 framerate must still be allowed to be configured
	  on the upstream side of videorate, otherwise future caps renegotiation
	  is going to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750032

2015-05-28 12:51:35 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst/videorate/gstvideorate.c:
	  videorate: update the caps framerate only in the GST_PAD_SINK transform_caps direction
	  When a stream has a variable framerate, videorate calculates it and
	  forces it on the output caps. However, the code in _transform_caps()
	  currently also does that if the transform is going in the opposite
	  direction (GST_PAD_SRC), so during a renegotiation it tries to force
	  upstream to use the calculated framerate and it fails.
	  https://bugzilla.gnome.org/show_bug.cgi?id=750032

2015-05-26 08:06:50 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysink.c:
	  playsink: use queue to avoid lock in audiotee audio branches
	  This part of pipeline is:
	  tee name=t ! visualizationbin ! streamsynchronizer name=s
	  t. ! s.
	  streamsynchronizer might block and it could starve the visualization
	  branch of the pipeline when it is enabled.
	  The visualization bin has queues internally but the other branch
	  that links the audiotee directly to the synchronizer is vulnerable
	  to block. Adding a queue between "t. ! s." fixes deadlocks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749676

2015-05-26 13:11:00 +0300  Claudiu Florin Lazar <lazar.claudiu.florin@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: make deltax and deltay properties controllable
	  This will be more useful once we have absolute direct
	  control bindings.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749824

2015-05-05 18:01:46 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix chain leak
	  Don't leak the building_chain when destroying.
	  Fix leaks with the validate.http.playback.reverse_playback.vorbis_theora_1_ogg
	  scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748964

2015-05-25 22:37:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: id3v2: fix parsing of UTF-16 text on systems with crippled iconv
	  Use g_utf16_to_utf8() instead of the more generic g_convert(), so
	  that we can extract text in UTF-16 format even on embedded systems
	  with crippled iconv support.
	  This code path is exercised by the id3demux test_unsync_v23
	  check in gst-plugins-good.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741144

2015-05-25 22:37:06 +0100  Tim-Philipp Müller <tim@centricular.com>

	* .gitignore:
	  Add new generated rtp enum files to .gitignore

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

	* tools/gst-play.c:
	  tools: gst-play: keep configured playback rate and trick mode when seeking
	  Instead of resetting rate to 1.0

2015-05-24 18:47:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: update for new translatable strings

2015-05-24 18:46:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: mark more strings for translation

2015-05-23 01:50:11 +0900  danny song <danny.song.ga@gmail.com>

	* tools/gst-play.c:
	  tools: gst-play: add keyboard shortcut help
	  https://bugzilla.gnome.org/show_bug.cgi?id=749740

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

	* tests/check/Makefile.am:
	  tests: add back videoscale unit test
	  Has been removed in 835422b2 as part of porting
	  things over to the new videoscale API.

2015-05-21 12:10:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  tools: gst-play: enable interative mode by default
	  And change --interactive option to --no-interactive.

2015-05-21 13:07:50 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	  rtp: Clean G-I files on make clean too

2015-05-20 16:23:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	  rtp: Add builddir to the include path for gobject-introspection
	  And also add missing headers/sources
	  https://bugzilla.gnome.org/show_bug.cgi?id=749632

2015-05-20 15:40:53 +0300  Sebastian Dröge <sebastian@centricular.com>

	* win32/common/libgstrtp.def:
	* win32/common/libgstrtsp.def:
	  win32: Update exports

2015-05-20 13:36:30 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtpdefs.h:
	* gst-libs/gst/rtp/rtp.h:
	  rtp: Add GstRTPProfile enum

2015-05-20 13:35:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Add FIXME 2.0 comment about GstRTSPTransport being an enum instead of flags

2015-05-20 13:33:42 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp: Use glib-mkenums to generate GstRTSPProfile and GstRTSPLowerTrans GTypes

2015-05-20 10:22:48 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  Revert "oggdemux: Prevent seeks when _SCHEDULING_FLAG_SEQUENTIAL is set"
	  This reverts commit 76647f2710d718e27f207b005956b7dba72c2d19.
	  Avoiding pull mode activation is a feature regression, and
	  demuxers should always use pull mode where that is possible,
	  e.g. if there's an upstream queue2 with a ring buffer or
	  a download buffer.
	  This patch made reverse playback no longer possible over http.
	  If the goal is to minimise seeks, then that can still be done
	  by making the demuxer behave differently in pull mode if
	  the SEQUENTIAL flag is set. If there are bugs, like the demuxer
	  needlessly scanning the entire file on start-up in pull mode,
	  then those should be fixed instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746010

2015-05-19 19:48:54 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

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

	* gst/gio/gstgiobasesink.c:
	* gst/gio/gstgiobasesrc.c:
	  gio: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

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

	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: don't use soon-to-be-deprecated g_cancellable_reset()
	  From the API documentation: "Note that it is generally not
	  a good idea to reuse an existing cancellable for more
	  operations after it has been cancelled once, as this
	  function might tempt you to do. The recommended practice
	  is to drop the reference to a cancellable after cancelling
	  it, and let it die with the outstanding async operations.
	  You should create a fresh cancellable for further async
	  operations."
	  https://bugzilla.gnome.org/show_bug.cgi?id=739132

2015-05-19 18:53:09 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  gstdiscoverer: Add since annotation.
	  Forgot to add the since annotation to the
	  GstDiscovererSerializeFlags in the previous commit.

2015-05-03 03:18:28 +0200  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* tests/check/libs/discoverer.c:
	* win32/common/libgstpbutils.def:
	  discoverer: Add serialization methods.
	  [API] gst_discoverer_info_to_variant
	  [API] gst_discoverer_info_from_variant
	  [API] GstDiscovererSerializeFlags
	  + Serializes as a GVariant
	  + Adds a test
	  + Does not serialize potential GstToc (s)
	  https://bugzilla.gnome.org/show_bug.cgi?id=748814

2015-05-19 16:32:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Try harder to reuse previously configured caps values and give more preference to anything set as properties
	  This affects the pt, ssrc, seqnum-offset and timestamp-offset properties. If
	  they were set from a property, or we configured caps before, we try to use
	  that value for them. Even if the first structure of the downstream caps
	  specifies a different value, we check if the value is supported by other
	  structures.
	  Only if all this fails, we use the values given by downstream in the first
	  structure, i.e. if no properties were set and these are the first caps we
	  negotiate or downstream does not support our values.
	  By doing this we ensure that we don't spuriously change ssrcs or other fields
	  in the middle of the stream (and also consider property values more). Ssrc
	  changes would currently happen after sending an RTX packet (thus creating a
	  new internal source inside the rtpsession), and then renegotiating the
	  payloader (which then gets the RTX ssrc from rtpsession).
	  https://bugzilla.gnome.org/show_bug.cgi?id=749581

2015-05-18 21:09:25 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-scaler.c:
	  docs: a random set of trivial fixes for the library docs
	  Warnings down to 35, unused symbols doen to 112.

2015-05-18 20:56:28 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  docs: add fdmemory to docs

2015-05-18 20:45:45 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/allocators/gstfdmemory.h:
	* gst-libs/gst/video/colorbalance.h:
	* gst-libs/gst/video/video-scaler.c:
	  docs: a random set of trivial fixes for the library docs
	  All those where super straight forward from the warnings gtkdoc prints. It kind
	  of makes sense to apply them before the list of warnings is >100 and people
	  complain that gtkdoc is noisy.

2015-05-18 20:31:30 +0200  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/gstmikey.h:
	  mikey: fix a bunch of doc warnings
	  Rename header/source mismatch of parameters. Update the exposed API in
	  sections.txt.

2015-05-18 20:01:49 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  Revert "doc: Workaround gtkdoc issue"
	  This reverts commit df7ef3c35d34352257a28307c07d4673f239452e.
	  This is fixed by the gtk-doc 1.23 release.

2015-05-18 11:23:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	* tests/check/elements/appsrc.c:
	  appsrc: optimise caps changing when previously-set caps have not taken effect yet
	  Only negotiate/change caps once when setting caps twice and
	  the first-set caps have not been used yet.
	  Based on patch by Eunhae Choi.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747517

2015-05-18 16:16:10 +0900  Vineeth T M <vineeth.tm@samsung.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix pool leak
	  During set caps when config fails, the referenced newpool
	  is not unref ed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749530

2015-05-18 15:45:01 +0900  eunhae choi <eunhae1.choi@samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: check the flags before set again
	  check the previous flags of playsink to avoid the reconfigure of playsink repeatedly
	  https://bugzilla.gnome.org/show_bug.cgi?id=749528

2015-05-16 23:33:55 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  doc: Workaround gtkdoc issue
	  With gtkdoc 1.22, the XML generator fails when a itemizedlist is
	  followed by a refsect2. Workaround the issue by wrapping the refsect2
	  into para.

2015-05-15 14:49:47 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	  playback: use the new gst_object api
	  Use gst_object_has_as_anchestor instead of the now deprecated _has_ancestor.

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

	* ext/ogg/gstoggmux.c:
	  docs: fix up example pipeline

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

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/pango/gstclockoverlay.c:
	* ext/pango/gsttextoverlay.c:
	* ext/pango/gsttextrender.c:
	* ext/pango/gsttimeoverlay.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* ext/vorbis/gstvorbistag.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/tcp/gsttcpclientsink.c:
	* gst/tcp/gsttcpclientsrc.c:
	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/volume/gstvolume.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  docs: update element example pipelines
	  - gst-launch -> gst-launch-1.0
	  - use autoaudiosink and audiovideosink more often
	  - review pipeline examples and descriptions

2015-05-10 10:51:09 +1000  Jan Schmidt <jan@centricular.com>

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

2015-05-08 15:21:16 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	  videoconvert: Expose some properties from the videoconverter API
	  Expose chroma resampler, alpha mode, alpha value, chroma mode, matrix mode,
	  gamma mode and primaries mode from the videoconverter API.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749105

2015-05-08 14:57:03 +0300  Vivia Nikolaidou <vivia@ahiru.eu>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-resampler.h:
	* gst/videoscale/gstvideoscale.c:
	  video-converter: Change some implicit string enums to real enums
	  GST_VIDEO_CONVERTER_OPT_ALPHA_MODE, GST_VIDEO_CONVERTER_OPT_CHROMA_MODE,
	  GST_VIDEO_CONVERTER_OPT_MATRIX_MODE, GST_VIDEO_CONVERTER_OPT_GAMMA_MODE and
	  GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE were G_TYPE_STRING with only a few valid
	  options. Changed those to real enums.
	  https://bugzilla.gnome.org/show_bug.cgi?id=749104

2015-05-08 15:06:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Also negotiate with downstream if needed before handling a GAP event

2015-05-08 15:02:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Also negotiate with downstream if needed before handling a GAP event

2015-05-06 12:40:48 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try to be smarter when clipping buffers without duration/framerate to the segment
	  2 second frame duration is rather unlikely... but if we don't clip
	  away buffers that far before the segment we can cause the pipeline to
	  lockup. This can happen if audio is properly clipped, and thus the
	  audio sink does not preroll yet but the video sink prerolls because
	  we already outputted a buffer here... and then queues run full.
	  In the worst case we will clip one buffer too many here now if no
	  framerate is given, no buffer duration is given and the actual
	  framerate is less than 0.5fps.
	  Fixes seeking on HLS/DASH streams, when seeking into the middle of
	  fragments and having no framerate/buffer duration.

2015-05-04 17:59:30 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix navigation event leak when early returning
	  Create the event *after* the early return check so it's not leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-04 18:00:18 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix navigation event leak when not handled
	  gst_navigation_message_new_event() is *not* consuming the event so we should
	  always drop our extra reference.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-04 17:58:38 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/video/navigation.c:
	  navigation: fix structure leak if subclass doesn't implement send_event()
	  The send_event() implementation is supposed to consume @structure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748903

2015-05-05 15:35:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't override segment.base from upstream with 0
	  Upstream might want to use it to properly map timestamps to running/stream
	  times, if we just override it with 0 synchronization will be just wrong.
	  For this we remove some old 0.10 code related to segment accumulation, and
	  remove some more code that is useless now, and accumulate the group start time
	  (aka segment.base offset) manually now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-05-05 13:14:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Add some debug output

2015-03-19 10:50:22 +0100  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-scaler.c:
	  video: add NV61 format support
	  https://bugzilla.gnome.org/show_bug.cgi?id=746466

2015-05-04 20:33:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new video API to docs

2015-05-04 10:35:55 +0200  Jose Antonio Santos Cadenas <santoscadenas@gmail.com>

	* ext/opus/gstopusheader.c:
	  opusheader: Do not include rate in caps if it is 0
	  As expressed in gst_opus_header_create_caps, value 0 means unset.
	  Setting rate value to 0 make negotiation with decoder fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748875

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

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	  video: check colorimetry and chroma_site equality in gst_video_info_is_equal()
	  Add VideoInfo accessors for colorimetry and chroma_site and use them
	  when checking the equality of two GstVideoInfo

2015-05-04 02:10:17 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* win32/common/libgstvideo.def:
	  video-color: Add gst_video_colorimetry_is_equal()
	  Add a function for comparing the equality of 2 colorimetry
	  structures.

2015-04-10 16:05:45 +0900  Young Han Lee <y.lee@lge.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: remove unused code
	  These lines have done nothing for about 10 years.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748820

2015-04-10 15:24:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: Use more strict profile checking for hevc
	  Use the profile_idc value to set the profile string in caps.
	  Don't use compatibility flags for this purpose.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747613

2015-04-30 14:55:14 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Remove unused macro
	  Remove unused macro GET_TMP_LINE
	  https://bugzilla.gnome.org/show_bug.cgi?id=748687

2015-04-29 15:44:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: add some more key navigation mappings
	  And don't feed multi-character key descriptors to the
	  event handler, it won't be what it expects.

2015-04-29 15:30:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	* win32/common/libgstvideo.def:
	  navigation: sprinkle some since markers and add new API to .def file
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-02 16:16:58 +0200  Edward Hervey <edward@centricular.com>

	* tools/gst-play.c:
	  tools: Add mouse/keyboard handling from messages
	  Allows the user to control playback with the window in focus
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

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

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: Post unhandled navigation events on the bus
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-02 16:09:13 +0200  Edward Hervey <edward@centricular.com>

	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/navigation.h:
	  video: Add a new "event" navigation message type
	  This will be useful for elements that wish to post unhandled navigation
	  events on the bus to give the application a chance to do something with
	  it
	  https://bugzilla.gnome.org/show_bug.cgi?id=747245

2015-04-28 17:24:04 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/opus/gstopusdec.h:
	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opus: fix includes and compilation against opus in non-standard prefix
	  https://bugzilla.gnome.org/show_bug.cgi?id=748594

2015-04-28 16:58:21 +0200  Mersad Jelacic <mersad@axis.com>

	* ext/opus/gstopusdec.c:
	* ext/opus/gstopusenc.c:
	  opus: don't use deprecated gst_buffer_new_and_alloc
	  Use the helper function available in the base class instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748585

2015-04-28 12:01:02 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-info.h:
	* win32/common/libgstvideo.def:
	  video-info: expose InterlaceMode conversion to/from string
	  Expose the methods used to convert a GstVideoInterlaceMode to and
	  from a string.

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

	* gst/audioconvert/gstaudioconvert.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/encoding/gstsmartencoder.c:
	  Rename property enums from ARG_ to PROP_
	  Property enum items should be named PROP_ for consistency and readability.

2015-04-27 11:06:58 +0200  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: Keep colorimetry and chroma-site fields if passthrough
	  https://bugzilla.gnome.org/show_bug.cgi?id=748141

2015-04-27 10:08:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: Change the remaining "samples" in the ::delay() vfunc docs to "frames"
	  https://bugzilla.gnome.org/show_bug.cgi?id=748289

2015-04-26 20:13:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/pipelines/tcp.c:
	  tests: tcp: remove SOCK_CLOEXEC which causes build problems on OS/X
	  It's not needed here.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747692

2015-04-26 21:08:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: The delay vfunc returns the number of frames, not samples
	  https://bugzilla.gnome.org/show_bug.cgi?id=748289

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

	* Android.mk:
	* android/NOTICE:
	* android/alsa.mk:
	* android/app.mk:
	* android/app_plugin.mk:
	* android/audio.mk:
	* android/audioconvert.mk:
	* android/audioresample.mk:
	* android/audiotestsrc.mk:
	* android/decodebin.mk:
	* android/decodebin2.mk:
	* android/gdp.mk:
	* android/pbutils.mk:
	* android/playbin.mk:
	* android/queue2.mk:
	* android/riff.mk:
	* android/rtp.mk:
	* android/rtsp.mk:
	* android/sdp.mk:
	* android/tag.mk:
	* android/tcp.mk:
	* android/typefindfunctions.mk:
	* android/video.mk:
	* android/videoconvert.mk:
	* android/videoscale.mk:
	* android/videotestsrc.mk:
	* ext/ogg/Makefile.am:
	* ext/vorbis/Makefile.am:
	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	* gst/adder/Makefile.am:
	* gst/app/Makefile.am:
	* gst/audioconvert/Makefile.am:
	* gst/audiorate/Makefile.am:
	* gst/audioresample/Makefile.am:
	* gst/audiotestsrc/Makefile.am:
	* gst/encoding/Makefile.am:
	* gst/playback/Makefile.am:
	* gst/tcp/Makefile.am:
	* gst/typefind/Makefile.am:
	* gst/videoconvert/Makefile.am:
	* gst/videorate/Makefile.am:
	* gst/videoscale/Makefile.am:
	* gst/videotestsrc/Makefile.am:
	* gst/volume/Makefile.am:
	* tools/Makefile.am:
	  Remove obsolete Android build cruft
	  This is not needed any longer.

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

	* tests/check/gst/typefindfunctions.c:
	  tests: typefindfunctions: add test for UTF-16 MSS manifest typefinding

2015-04-26 14:44:33 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: don't read more data than needed in MSS typefinder

2015-04-26 14:27:30 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: detect MSS manifests without using g_convert()
	  Embedded systems often have limited charset conversion
	  functionality, so don't rely on g_convert() (i.e. iconv)
	  for UTF-16 to UTF-8 conversions, we can easily enough do
	  that ourselves by converting to native endianness and
	  then using GLib's helper functions.

2015-04-25 18:45:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  audiovisualizer: fix the license from GPL to LGPL
	  This was a copy'n'paste buf in the initial commit done by myself.

2015-04-24 14:59:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: fix invalid reads in GST_DEBUG statement
	  Don't try to print a string that is not NUL-terminated. This
	  log line does not really seem useful so let's just drop it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748413

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

	* gst/audiotestsrc/gstaudiotestsrc.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gsturidecodebin.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/videotestsrc/gstvideotestsrc.c:
	  remove unused enum items PROP_LAST
	  This were probably added to the enums due to cargo cult programming and are
	  unused. Removing them.

2015-04-03 00:44:12 +0900  Wonchul Lee <chul0812@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Add sink and src query virtual method
	  API: GstAudioDecoderClass::src_query()
	  API: GstAudioDecoderClass::sink_query()
	  https://bugzilla.gnome.org/show_bug.cgi?id=747293

2015-04-23 15:57:37 +0100  Tim-Philipp Müller <tim@centricular.com>

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

2015-04-23 15:42:41 +0100  Tim-Philipp Müller <tim@centricular.com>

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

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

	* .gitignore:
	* tests/check/libs/.gitignore:
	* tests/check/pipelines/.gitignore:
	  Update .gitignore

2015-04-23 09:50:12 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: n_lines member should be a guint not a boolean
	  https://bugzilla.gnome.org/show_bug.cgi?id=748348

2015-04-21 15:27:57 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix event leaks
	  gst_event_replace() takes its own reference on the event so we should drop
	  ours after creating and storing an event using it.
	  This fix leaks which can be reproduced using the
	  validate.http.media_check.vorbis_theora_1_ogg scenario.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748247

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

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

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

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

2015-04-21 13:31:44 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix YUY2 scaling some more
	  Take into account the different steps between Y and UV when calculating
	  the line size for vertical resampling or else we might not resample
	  enough pixels and leave bad lines.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790

2015-04-21 13:16:29 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: scale enough pixels in YUY2 (and friends) mode
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747790

2015-04-17 16:21:05 +0900  Hyunjun Ko <zzoon.ko@samsung.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasedepayload: fix crash in test when passing varargs
	  Need to pass 64 bits where 64 bits are expected.
	  https://bugzilla.gnome.org/show_bug.cgi?id=748027

2015-04-17 11:18:22 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Remove unused variables
	  Remove unused variables n_taps, max_taps in setup_scale()
	  https://bugzilla.gnome.org/show_bug.cgi?id=748021

2015-04-16 10:03:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideoutils.h:
	  video: add missing part of documentation text

2015-03-31 13:26:21 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix GstToc leak when parsing toc messages
	  gst_message_parse_toc() returns a reffed GstToc which is owned by the
	  GstDiscovererInfo. But we have to make sure we unref its previous value before
	  setting the new one.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747103

2015-04-17 11:45:34 +0200  Edward Hervey <edward@centricular.com>

	* win32/common/libgstallocators.def:
	  win32: Update defs for new API

2015-04-17 09:31:40 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  allocators: make GstFdAllocator non-abstract
	  Make the GstFdAllocator non-abstract because it is perfectly possible
	  to make memory from a generic fd. Mark the memory as simply "fd".

2015-04-15 11:24:17 +0200  Bernhard Miller <bernhard.miller@streamunlimited.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: fix mixed usage of gint and gint32 in int matrix
	  This is a fixup for b2db18cda2e4e7951655cb2a34108a8523b6eca9
	  audioconvert: avoid float calculations when mixing integer-formatted channels
	  The int matrix was using gint and gint32 synonymously, which can theoretically
	  cause problems if gint and gint32 are actually different types.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747005

2015-04-14 12:47:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* common:
	* gst/gio/gstgio.c:
	  gio: fix gvfs plugin dependencies
	  Try harder to look for gvfs backend changes in the right
	  place, to make sure the plugin gets reloaded when backends
	  are removed or installed. We watch the gvfs mounts directory
	  because the files there contain absolute paths to the
	  backend executables, and those may not be in the usual gio
	  path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747841

2015-04-14 15:08:09 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: disconnect scale callback in scrubby
	  When the position slider's button is released, disconnect the "value_changed"
	  callback to avoid triggering false seek callbacks.

2015-04-13 17:35:36 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: keep scrubby command consistent
	  scrubby has two options, wav and playbin. Wav takes a file location so make
	  the playbin option take a file location as well instead of an uri. This also
	  means the usage help string will be correct for the playbin option.

2015-04-13 17:28:45 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: no need to set intermediate states

2015-04-13 16:09:26 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: wavparse doesn't need dynamic linking
	  In scrubby, there is no need to link wavparse with the sink dynamically.
	  The pad is available when the element is generated.
	  Change video and audio sinks to the automatically detected sinks.

2015-04-11 19:51:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Break instead of return if default negotiation on GAP events fails
	  Otherwise we're going to leak the event.

2015-04-11 00:03:29 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/app/Makefile.am:
	* gst/videorate/Makefile.am:
	  app, videorate: fix CFLAGS and LIBADD order
	  Make sure local headers are included before installed -base.

2015-04-10 14:30:36 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/playrec/playrec.c:
	  examples: remove reference to 0.10 in playrec

2015-04-10 13:41:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/overlay/gtk-videooverlay.c:
	  examples: remove deprecated function in gtk-videooverlay
	  gtk_widget_set_double_buffered () has been deprecated since GTK 3.14.
	  Also, widgets are realized automatically and gtk_wiget_realize () is only
	  meant to be used in widget implementations.

2015-04-09 17:03:11 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix buffer leak in chain function
	  If we don't consume the buffer by passing its reference to
	  overlay->text_buffer then we need to unref it.
	  Fix a leak with validate.file.playback.fast_forward.test5_mkv
	  when running inside Valgrind.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747602

2015-04-08 18:32:29 +0300  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: docs grammar fixes
	  https://bugzilla.gnome.org/show_bug.cgi?id=747516

2015-04-09 16:49:44 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/gio/giosrc-mounting.c:
	  examples: add example description to giosrc-mounting
	  Also, use GST_MESSAGE_TYPE instead of accessing the GstMessage structure

2015-04-09 13:00:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: fix ring buffer leak on open failure

2015-04-09 12:59:38 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: fix ring buffer leak on open failure

2015-04-09 11:23:25 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/encoding/encoding.c:
	  examples: reuse variables in encoding example

2015-04-08 20:49:24 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't post error messages while holding the stream lock

2015-04-08 20:48:39 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't get and parse the current srcpad caps
	  We only get here if we don't have any srcpad caps, and we're going
	  to override the GstAudioInfo a few lines below anyway without ever
	  using it if for whatever reason we get caps here.

2015-04-08 20:45:58 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try to invent default caps instead of setting none at all when getting a GAP event before CAPS
	  Otherwise we would forward the GAP event without ever providing any caps,
	  which then would make decodebin expose a srcpad without any caps set. That's
	  confusing for applications and can lead to all kinds of interesting bugs.
	  Instead do the same as already is done in GstAudioDecoder, and try to invent
	  caps based on the sinkpad caps and the caps allowed by downstream and the
	  srcpad template caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747190

2015-04-08 20:44:15 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also log the pointer value of sticky events in debug output
	  Makes it easier to follow them in the debug logs.

2015-04-08 17:12:22 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/dynamic/addstream.c:
	  examples: remove unused return value in addstream
	  Removing unused return value of pause_play_stream ().
	  Fixing code style to satisfy the git hook.

2015-04-08 15:31:39 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/dynamic/sprinkle.c:
	  examples: avoid sprinkle running endlessly
	  Quit sprinkle when there are no more frequencies to remove.
	  Also rename for readability the check for linking elements.

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

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

2015-04-07 16:43:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.h:
	  rtp: rtcpbuffer: fix typo in enum
	  and in docs. Spotted by Rob Swain.

2015-04-07 15:32:35 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src2.c:
	  tests: remove unused filename string from appsink-src2

2015-04-07 15:30:30 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src.c:
	  tests: check file exists before running appsink-src

2015-04-07 15:16:41 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/app/appsink-src.c:
	* tests/examples/app/appsink-src2.c:
	* tests/examples/app/appsrc_ex.c:
	  tests: add missing license headers for example apps

2015-04-06 19:20:00 -0700  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  {audio,video}decoder: Forward SEGMENT_DONE events immediately and drain decoders
	  Otherwise we're going to wait with draining until the next data comes, which
	  is a bit suboptimal and might take a long time... or maybe never happens.

2015-04-05 13:53:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsrc.c:
	  tests: appsrc: clean up block_deadlock test and make it work in valgrind
	  Remove all the bus watch and main loop code from the block_deadlock
	  test, it's not needed: neither pipeline will ever post an EOS or ERROR
	  message on the bus, and we're the only ones posting an error, from a
	  timeout. Might just as well just sleep for a bit and then do whatever
	  we want to do.
	  Don't gratuitiously set tcase timeout, just use whatever is the
	  default (or set via the environment).
	  Make individual pipeline runs shorter.
	  Check for valgrind and only do a handful iterations when running
	  in valgrind, not 100 (each iteration takes about 4s on a core i7).
	  Make videotestsrc output smaller buffers than the default resolution,
	  we don't care about the buffer contents here anyway.
	  Fixes test timeouts when run in valgrind.

2015-04-05 12:30:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/multisocketsink.c:
	  tests: multisocketsink: fix flaky unit test
	  On slower systems, or under high system load (e.g. check-valgrind),
	  the sending_buffers_with_9_gstmemories test would sometimes fail,
	  because the read call only returns 32 bytes instead of the full
	  36 bytes expected. This is because multisocketsink might end up
	  doing a partial write of 32 bytes first, and then write the
	  missing 4 bytes later, but since we don't wait for all of data
	  to be written, there's a short window where our read call in the
	  unit test might then only receive the 32 bytes written so far,
	  which makes it deeply unhappy.
	  Instead, make sure we loop to read all bytes.

2015-04-04 21:38:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gstmultisocketsink.c:
	  tcpserversink: don't error out if clients send us something, just ignore it
	  We don't expect clients to send us any data, but if they do, just
	  ignore it. Web browsers might send us an HTTP request for example,
	  but some will still be happy if we just send them data without
	  a proper HTTP response.
	  There was a bug in the reading code path. We only have a small
	  read buffer and would provoke an EWOULDBLOCK trying to read
	  because we don't bail out of the loop early enough.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743834

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

	* tests/check/pipelines/basetime.c:
	  tests: basetime: fix timeouts when running under valgrind
	  This test sets a rather short timeout, increase this when
	  we run under valgrind. Also add a short sleep to the
	  fakesrc ! fakesink pipeline to avoid thrashing the CPU,
	  which would often not stop the main loop when it should.
	  Also fix wrong (0.10) return value from pad probe callback.

2015-04-04 00:46:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: downgrade left-over ERROR debug message

2015-04-04 00:42:52 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/videorate/gstvideorate.c:
	* tests/check/elements/videorate.c:
	  videorate: fix a couple of memory leaks
	  tests: videorate: fix leak in unit test

2015-04-03 18:18:32 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Add gst_video_encoder_get_allocator() to doc

2015-04-03 21:00:53 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exiftag: don't try to convert utf-8 to latin1 if string is ASCII already
	  Bypass g_convert/iconv if there's nothing to convert. That way,
	  conversion won't fail on systems where iconv doesn't support
	  converting utf-8 to latin1 and there's nothing to convert.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723252

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

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

2015-03-12 16:01:48 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: fix wrong duration on partial streams with a skeleton index
	  When a stream has a skeleton index, the stream time is taken from that
	  index. However, when part of the stream is captured, the index is
	  invalid as its offsets are now wrong. To avoid this, we ignore the index
	  when the last offset points beyond the end of the stream (when its
	  byte length is known).
	  https://bugzilla.gnome.org/show_bug.cgi?id=744070

2015-03-18 16:32:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: fix disappearing text with high deltax
	  When deltax is large enough to cause the text to push past the
	  width of the frame, it would disappear due to a bug in setting
	  the layout width.
	  While there, fix a log printing an incorrect width to set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739689

2014-12-17 12:17:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix deadlock when not pulling a buffer from collectpads
	  oggmux keeps a cached buffer per pad, and pulls buffers from
	  collectpads to this cached buffer for all pads before processing
	  the best pad. In some cases, the move from collectpads buffer
	  to cached buffer is delayed till next call. However, when there
	  is only one pad, this can't be delayed till next call as there
	  will be a deadlock since collectpads has no other pad to push to.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740565

2015-03-25 15:36:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: fix deadlock on chain shutdown
	  When shutting down the chain, we can get a deadlock when removing
	  a pad, if that chain was being busy streaming but blocked (eg, while
	  waiting for a queue to have free space).
	  https://bugzilla.gnome.org/show_bug.cgi?id=746480

2015-04-03 13:20:58 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: add license header to scrubby

2015-03-19 10:48:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	  audio,video: use gst_segment_is_equal instead of memcmp
	  memcmp will blindly compare the reserved fields, as well as any
	  padding the compiler may choose to sprinkle in GstSegment.
	  Fixes valgrind complaints in unit tests, as well as some found via
	  https://bugzilla.gnome.org/show_bug.cgi?id=738216

2014-04-04 12:32:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/xvimage/xvimageallocator.c:
	  xvimagsink: fix failure to allocate large shared memory blocks
	  A previous patch increased allocations by 15 bytes in order to ensure
	  16 byte alignment for g_malloc blocks. However, shared memory is
	  already block aligned, and this extra 15 bytes caused allocation
	  to fail when we were already allocating to the shared memory limit,
	  which is a lot smaller than typical available RAM.
	  Fix this by removing the alignment slack when allocating shared
	  memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706066

2014-04-04 12:40:14 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/ximage/ximagepool.c:
	  ximage: do not allocate extra alignment slack for shared memory
	  A previous patch increased allocations by 15 bytes in order to ensure
	  16 byte alignment for g_malloc blocks. However, shared memory is
	  already block aligned, and this extra 15 bytes is not needed. Since
	  shared memory limits are low compared to RAM, we remove this waste.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727236

2015-04-03 13:56:28 +0900  Chihyoung Kim <chihyoung2.kim@lge.com>

	* configure.ac:
	  tests: require Gtk+ 3.10 for examples
	  Fixes build of playback and seek tests when an
	  older Gtk+ version is present on the system.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747283

2015-04-03 11:46:12 +0530  Arun Raghavan <arun@centricular.com>

	* ext/opus/gstopusenc.c:
	  opus: Fix incorrect fall-through condition in property getter

2014-12-09 13:18:42 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/videorate/gstvideorate.c:
	* gst/videorate/gstvideorate.h:
	* tests/check/elements/videorate.c:
	  videorate: Detect framerate if not forced to variable downstream
	  In case upstream does not provide videorate with framerate information,
	  it will detect the current framerate from the buffer it received,
	  but if downstream forces the use of variable framerate (most probably
	  through the use of a caps filter with framerate = 0 / 1), videorate will
	  respect that.
	  And add some unit tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=734424

2014-12-09 11:31:30 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/videorate/gstvideorate.c:
	  videorate: Do not loop forever pushing first buffer when variable framerate
	  In the case the framerate is variable (represented by framerate=0/1),
	  we currently end up loop pushing the first buffer and then recompute
	  diff1 and diff2 without updating the videorate->next_ts at all
	  leading to infinitely looping pushing that first buffer.
	  In the case of variable framerate, we should just compute the next_ts
	  as previous_pts + previous_duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734424

2015-04-02 14:32:15 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: update deprecated API

2015-04-02 11:33:12 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	  tests: fix deprecated API in colorkey and videooverlay

2015-04-02 11:14:08 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/scrubby.c:
	  examples: fix deprecated API in scrubby

2015-03-19 14:34:07 +0100  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't use GST_ERROR() for debug messages
	  Fix https://bugzilla.gnome.org/show_bug.cgi?id=746457

2015-04-01 15:58:28 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/volume.c:
	  tests: use elapsed label of volume example

2015-03-30 11:24:46 +0200  Bernhard Miller <bernhard.miller@streamunlimited.com>

	* gst/audioconvert/audioconvert.h:
	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: avoid float calculations when mixing integer-formatted channels
	  The patch calculates a second channel mixing matrix from the current one. The
	  matrix contains the original values * (2^10) as integers. This matrix is used
	  when integer-formatted channels are mixed.
	  On a ARM Cortex-A8, single core, 800MHz this improves performance in a
	  testcase from 29s to 9s for downmixing 6 channels to stereo.
	  https://bugzilla.gnome.org/show_bug.cgi?id=747005

2015-04-01 15:02:13 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/volume.c:
	  tests: fix deprecated API in audio volume example

2015-04-01 14:37:23 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: update deprecated GTK API

2015-04-01 13:50:51 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/seek/jsseek.c:
	  jsseek: switch deprecated GtkTable for GtkGrid

2015-04-01 11:01:57 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* tests/examples/audio/audiomix.c:
	  tests: update deprecated GTK API in audiomix

2015-03-31 11:21:25 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/app/Makefile.am:
	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/fft/Makefile.am:
	* gst-libs/gst/pbutils/Makefile.am:
	* gst-libs/gst/riff/Makefile.am:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/tag/Makefile.am:
	* gst-libs/gst/video/Makefile.am:
	  introspection: Don't use g-ir-scanner cache at compile time
	  It pollutes user directories and we don't need to cache it
	  https://bugzilla.gnome.org/show_bug.cgi?id=747095

2014-04-10 12:03:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/tag/id3v2frames.c:
	  id3v2: ignore RVA2 tags with more than 64 peak bits
	  The spec for this does not say nor imply how this should be
	  interpreted.  The previous code would try to shift by 64 bits,
	  which is undefined.
	  Coverity 1195119
	  https://bugzilla.gnome.org/show_bug.cgi?id=727955

2015-03-30 10:50:45 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: avoid possible deference of null pointer
	  For safety, check the pointer playbin->curr_group is valid before
	  reading parameters of the structure.
	  CID #1291624

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: resurrect some flow return handling
	  https://bugzilla.gnome.org/show_bug.cgi?id=744572

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

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: handle a sample not having caps or a buffer more gracefully
	  https://bugzilla.gnome.org/show_bug.cgi?id=746908

2015-03-27 16:22:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  basedepay: Handle initial gaps and no clock-base
	  When generating segment, we can't assume the first buffer is actually
	  the first expected one. If it's not, we need to adjust the segment to
	  start a bit before.
	  Additionally, we if don't know when the stream is suppose to have
	  started (no clock-base in caps), it means we need to keep everything in
	  running time and only rely on jitterbuffer to synchronize.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-03-26 23:53:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: improve debug message by printing the object
	  Print the pad object that EOS'd too early

2015-03-27 13:39:43 +0800  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Keep sticky events around when doing a soft reset
	  The current code will first discard all frames, and then tries to copy
	  all sticky events from the (now discarded) frames. Let's change the order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=746865

2015-03-26 18:03:12 -0700  David Schleef <ds@schleef.org>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add FLLR tag

2015-03-25 18:40:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	* tests/check/libs/rtpbasedepayload.c:
	  basedepayload: Fix generated segment
	  This fixes playback position in RTSP.
	  https://bugzilla.gnome.org/show_bug.cgi?id=635701

2015-03-25 08:20:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: ignore new pads if it is shutting down
	  If a new pad is added after playbin has been put to READY/NULL it
	  should ignore new pads as it is shutting down.
	  This can happen when the pipeline fails to preroll (is still in READY)
	  and the user gives up on waiting or an error that doesn't reach
	  the demuxer occurs (on some event handling) and it will continue to
	  work and exposing pads while playbin has been put to NULL.
	  Without this check an input-selector is created and set to PAUSED
	  state, preventing playbin from properly shutting down in case it
	  has data blocked inside it.

2015-03-24 15:47:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  Revert "theoradec: Disable usage of crop meta"
	  This reverts commit da52868f468bd75ddb595a3eb52aaa38ecbbac41.

2015-03-24 15:18:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/videorate/gstvideorate.c:
	  videorate: Don't leak the pools
	  gst_query_set_nth_alloction_pool() is transfer none on the pool, so we must
	  unref the pool when done.

2015-03-01 11:44:22 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Disable usage of crop meta
	  This is a temporary workaround that simply disables usage of crop
	  meta for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

2015-03-24 17:28:51 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst/audioconvert/gstaudioquantize.c:
	  audioconvert: Eliminate unsigned quantizers
	  audio_convert_convert unpacks to default format (signed) before calling
	  quantize, and the unsigned variants were equivalent to signed anyway,
	  so we just get rid of them.

2015-03-24 03:01:22 +0200  Ilya Konstantinov <ilya.konstantinov@gmail.com>

	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioconvert/gstfastrandom.h:
	  audioconvert: Avoid int division in quantization
	  Since range size is always 2^n, we can simply use modulo (implemented
	  with a bitmask).
	  The previous implementation used 64-bit integer division, which is
	  done in software on ARMv7. Although the divisor was constant, the
	  division could not be transformed into "multiplication by magic number"
	  since the dividend was 64-bit.
	  The now-unused and not-so-fast gst_fast_random_(u)int32_range functions
	  were removed.
	  Also, implementing bug fixes:
	  1) ADD_DITHER_TPDF_HF_I no longer discards bias.
	  2) We change TPDF's noise range to be the same as RPDF's. Previously,
	  RPDF's noise ranged:
	  { bias - dither, bias + dither }
	  while TPDF's noise ranged:
	  { bias/2 - dither/2, bias/2 + dither/2 - 1 } +
	  { bias/2 - dither/2, bias/2 + dither/2 - 1 } =
	  { bias - dither, bias + dither - 2 }
	  Now, both range:
	  { bias - dither, bias + dither - 1 }
	  https://bugzilla.gnome.org/show_bug.cgi?id=746661

2015-03-24 15:13:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: fall through switch statement
	  Adding a comment makes coverity happy and quells the issue.
	  CID 1291629

2015-02-16 09:25:03 +1000  Duncan Palmer <dpalmer@digisoft.tv>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Set multiqueue sizes before use-buffering.
	  This fixes a race where the use-buffering property on a multiqueue was
	  set before the queue depth was changed from it's high preroll limits to
	  lower playback limits. This resulted in buffering messages being emitted
	  by the multiqueue in the short window between use-buffering being
	  set and the queue depth being reset.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744308

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

	* gst-libs/gst/allocators/gstfdmemory.c:
	  Revert "fdmemory: freed pointer will always be 0"
	  This reverts commit 7fbcefb753f944a79eae6957ea2789c960eb9eea.

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

	* gst-libs/gst/allocators/gstfdmemory.c:
	  fdmemory: freed pointer will always be 0

2015-03-23 13:15:30 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Set output format immediately after creating the encoder instance
	  We know the caps by then, there's no need to wait until we actually receive
	  the first buffer.

2015-03-23 13:13:35 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: Remove another unused variable

2015-03-23 13:11:42 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	* ext/opus/gstopusheader.c:
	  opusenc: Remove useless headers and header_sent variables from the instance struct
	  They are only used inside a single function.

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

	* ext/opus/gstopusdec.c:
	  opusdec: Take channels and sample rate from the caps if we have no stream header

2015-03-23 12:07:52 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Reset the decoder if the caps change

2015-03-23 11:57:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusdec.c:
	  opusdec: Take output sample rate from the stream headers too
	  This way we let opusdec do the resampling if needed and don't carry
	  around buffers with a too high sample rate if not required.
	  While Opus always uses 48kHz internally, this information from the
	  header specifies which frequencies are safe to drop.

2015-03-23 11:56:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusheader.c:
	  opusheader: Put number of channels and sample rate into the caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=746617

2015-03-20 17:45:03 +0900  Wonchul Lee <chul0812@gmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix compiler warning
	  gstoggdemux.c:1233:11: error: format specifies type 'long' but the argument has type 'ogg_int64_t' (aka 'long long') [-Werror,-Wformat]
	  granule);
	  ^~~~~~~
	  https://bugzilla.gnome.org/show_bug.cgi?id=746512

2015-03-19 13:31:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstallocators.def:
	  defs: update

2015-03-19 12:42:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-convert: fix clamping for 16 bits alpha mult

2015-03-18 20:38:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix height/width assertions
	  As commit 274984e8 states:
	  When doing CROP META it is expected that the width and/or height
	  in the GstVideoMeta is bigger or equal to the caps negotiated size.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

2015-03-18 15:12:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: make a base class for allocating fd-backed memory
	  Make a base class that can help with allocating fd-backed memory.
	  Make dmabuf extend from the base class.
	  We can now make methods to check if memory has an fd and get the fd for
	  all the different types of fd-backed memory.

2015-03-16 20:41:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/multisocketsink.c:
	  multisocketsink: Allocate enough memory on the stack in the test
	  Otherwise we just overwrite other things on the stack and cause crashes.

2015-03-16 11:53:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix playback regression on streams with clipped data at start
	  The code that was calculating the start granule from packet durations
	  was interpreting a negative value as an error, but this is actually a
	  valid case, to indicate clipping of data at start.
	  https://bugzilla.gnome.org/show_bug.cgi?id=743900

2015-03-15 17:27:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: add flags to control behaviour
	  Add some flags to the GstFdMemory to control how memory is mapped and
	  unmapped.

2015-03-15 16:41:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	* tests/check/libs/allocators.c:
	  allocators: add allocators test

2015-03-15 15:16:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/allocators/Makefile.am:
	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstfdmemory.c:
	* gst-libs/gst/allocators/gstfdmemory.h:
	  fdmemory: add fd backed GstMemory to separate file
	  Make a separate file for the code to handle the fd backed memory.
	  This would make it possible later to add other allocators also using
	  fd backed memory.

2015-03-14 18:08:15 +0000  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: fix deadlock condition
	  The variables could have changed when the lock was released
	  to push a gap event. Streamsynchronizer needs to check them
	  again before going to sleep.
	  Bonus: fix a comment typo

2015-03-13 18:07:12 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: remove redundant else statements

2015-03-13 18:23:46 +0000  Ramiro Polla <ramiro.polla@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: don't escape percent sign in documentation code sample

2014-11-03 12:47:18 +0000  William Manley <will@williammanley.net>

	* configure.ac:
	* tests/check/Makefile.am:
	* tests/check/pipelines/tcp.c:
	  Add test_that_multisocketsink_and_socketsrc_preserve_meta
	  This test is in a seperate commit to the previous two because it depends
	  on and tests the functionality in both.

2015-03-13 16:19:28 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Add support for GstNetControlMessageMeta
	  multisocketsink now understands the new GstNetControlMessageMeta to allow
	  sending control messages (ancillary data) with data when writing to Unix
	  domain sockets.
	  Thanks to glib's `GSocketControlMessage` abstraction the code introduced
	  in this commit is entirely portable and doesn't introduce and additional
	  dependencies or conditionally compiled code, even if it is unlikely to be
	  of much use on non-UNIX systems.

2014-10-30 17:53:15 +0000  William Manley <will@williammanley.net>

	* configure.ac:
	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: Add support for GstNetControlMessageMeta
	  multisocketsink now understands the new GstNetControlMessageMeta to allow
	  sending control messages (ancillary data) with data when writing to Unix
	  domain sockets.
	  A later commit will introduce a new socketsrc element which will similarly
	  understand `GstNetControlMessageMeta`.  This, when used with a
	  `GSocketControlMessage` of type `GUnixFDMessage` will allow GStreamer to
	  send and receive file-descriptions in ancillary data, the first step to
	  using memfds to implement zero-copy video IPC.
	  Thanks to glib's `GSocketControlMessage` abstraction the code introduced
	  in this commit is entirely portable and doesn't introduce and additional
	  dependencies or conditionally compiled code, even if it is unlikely to be
	  of much use on non-UNIX systems.

2015-03-13 13:56:13 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	* tests/check/pipelines/tcp.c:
	  socketsrc: Add `connection-closed-by-peer` signal
	  This provides notification that the socket in use was closed by the peer
	  and gives an opportunity to replace it with a new one which is not
	  closed, allowing reading from many sockets in order.
	  I use this in pulsevideo to implement reconnection logic to handle the
	  pulsevideo service dieing, such that is can be restarted without
	  disrupting downstream.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 13:43:59 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Tidy up usage of `g_object_unref`/`g_clear_object` and locking
	  This is clearer, and should make future changes safer.  No functional
	  change intended.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 13:30:48 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstsocketsrc.c:
	  socketsrc: Refactor to simplify
	  * Don't bother polling, just do a blocking read, the `GCancellable` will
	  take care of unlocking.  This should also be faster on MS Windows where
	  the GIO documentation for `g_socket_get_available_bytes` states: "Note
	  that on Windows, this function is rather inefficient in the UDP case".
	  * Implement `GstPushSrc.fill` rather than `GstPushSrc.create`.  This means
	  that we will be using the downstream allocator which may be more
	  efficient.  It also means that socketsrc is likely to respect its
	  "blocksize" property (assuming that there is enough data available).
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2014-11-03 02:47:14 +0000  William Manley <will@williammanley.net>

	* docs/plugins/Makefile.am:
	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	* docs/plugins/inspect/plugin-tcp.xml:
	* gst/tcp/Makefile.am:
	* gst/tcp/gstsocketsrc.c:
	* gst/tcp/gstsocketsrc.h:
	* gst/tcp/gsttcpplugin.c:
	* tests/check/pipelines/tcp.c:
	* win32/vs7/libgsttcp.vcproj:
	* win32/vs8/libgsttcp.vcproj:
	  tcp: Add element socketsrc
	  `socketsrc` can be considered a source counterpart to `multisocketsink`.
	  It can be considered a generalization of `tcpclientsrc` and
	  `tcpserversrc`:  it contains all the logic required to communicate over
	  the socket but none of the logic for creating the sockets/establishing
	  the connection in the first place, allowing the user to accomplish this
	  externally in whatever manner they wish making it applicable to other
	  types of sockets besides TCP.
	  This commit essentially copies the implementation directly from
	  tcpserversrc.  Later patches will tidy the implementation up and
	  re-implement `tcpclientsrc` and `tcpserversrc` in terms of `socketsrc`.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=739546

2015-03-13 23:24:23 +0530  Arun Raghavan <git@arunraghavan.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Log with the ringbuffer object where possible

2015-03-13 12:49:31 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstmultisocketsink.c:
	* tests/check/elements/multisocketsink.c:
	  multisocketsink: Map `GstMemory`s individually when sending
	  If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map`
	  has to copy all the data into a new `GstMemory` which is contiguous.  By
	  mapping all the `GstMemory`s individually and then using scatter-gather
	  IO we avoid this situation.
	  This is a preparatory step for adding support to multisocketsink for
	  sending file descriptors, where a GstBuffer may be made up of several
	  `GstMemory`s, some of which are backed by a memfd or file, but I think this
	  patch is valid and useful on its own.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150

2015-03-13 10:30:43 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Relax width/height assertion
	  When doing CROP META it is exepcted that the width and/or height in the
	  GstVideoMeta is bigger or equal to the caps negotiated size.

2015-03-12 16:32:31 +0000  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: Choose the biggest buffer size
	  We should respect what has been negotiated.

2015-03-12 10:06:15 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: recover from EOS when searching for chain in push mode
	  If we get EOS when we're trying to build a chain, we disable seeking
	  and continue instead of posting an error. This can happen for corner
	  cases such as a stream with a video that stops before the end, for
	  instance.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745980

2015-03-11 16:46:38 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix seeking in files with a "missing" stream
	  When looking for pages when seeking, we stop looking for non sparse
	  streams if we don't find one within a given threshold. This fixes
	  seeking filling up queues and blocking in corner cases such as an
	  audio file with a pathological 1 frame video stream (yes, I saw one).
	  https://bugzilla.gnome.org/show_bug.cgi?id=745980

2015-03-13 01:06:57 +1100  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst/videoscale/gstvideoscale.h:
	  docs: Add new video functions and objects. Cleanup a little.
	  Add GstVideoChroma, GstVideoDither, GstVideoScaler and friends to the docs.
	  Remove and clean up a few obsolete/deleted refs and typos

2015-03-12 12:49:40 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: replace cbr and constrained-vbr properties with an enum
	  It was deemed confusing before.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744909

2015-03-12 12:17:11 +0000  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Disconnect signals and invalidate group if it fails to activate
	  Otherwise playbin might move to the group directly after EOS of the next
	  group, and then error out again.

2015-02-01 03:39:07 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoradec.h:
	  theoradec: Fix decoding in the presence of GstVideoCropMeta
	  Store the video info of the internal frame decode width/height
	  separate to the exposed (cropped) frame info, so that it can be
	  used for mapping the downstream allocated video frame buffer correctly
	  when using GstVideoCropMeta.
	  Fixes playback of files with sizes that aren't a multiple of 16-pixels
	  width or height.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741030

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

	* tests/check/pipelines/streamsynchronizer.c:
	  streamsynchronizer: Should wait state change complete before start another state change
	  Should wait state change complete before start another state change.
	  Can't ensure can received async-done message when state change from PLAYING to PAUSED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-02-27 16:40:23 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Remove unnecessary ERROR message.
	  Remove unnecessary ERROR message.
	  Push GAP will fail as flushing. Needn't ERROR message.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-03-05 17:42:53 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: do not send seek events from the streaming thread
	  This will usually deadlock, despite this patch being in master for
	  quite some time and working fine. Nevertheless, we deem it to be
	  not working, disregarding facts.
	  As such, we fix it by keeping track of seek events, and sending
	  them upstream from a separate thread. Buffers are then discarded
	  till we get a new segment with the expected seqnum.

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

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: set correct seqnum on segment events after a seek in push mode
	  There is already a seqnum field for this, which was used to overwrite
	  the seqnum that was set by the push specific code.

2015-02-23 11:30:36 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: try harder to query duration from upstream
	  READY->PAUSED can be too early as souphttpsrc can get the HTTP
	  headers after this. Try again in the chain function.
	  Also use seeking query to disable seeking if upstream reports
	  being unseekable.

2014-10-31 10:55:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: add non flushing time seeking in push mode
	  Some resetting code has to be done in the NEW_SEGMENT
	  event handler, instead of the missing FLUSH_STOP one.
	  Segment base was also wrongly accounted for. This was hidden
	  by the fact that flushing resets the base.
	  A discontinuity is now also signalled on seeking. We have to
	  also ensure that the discontinuity "sticks" till a buffer
	  with a valid timestamp goes out, or the audio decoder base
	  class will ignore the discontinuity for purposes of keeping
	  track of the current time.
	  This allows using non flushing segment seeks for looping
	  HTML audio in particular, and more generally non flushing seeks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729198

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix wrong first granule
	  The code was using the first nonnegative granulepos to seed the
	  granule tracking, which appeared to work since headers have zero
	  granulepos. However, this does not work for files with a hole at
	  start, which are common in live streaming.
	  The correct behavior is to look for the first granule, and subtract
	  the duration of all the packets finishing on this page.
	  The function which does this relies on the fact that the ogg_stream
	  structure can be duplicated by shallow copy, in order to pull the
	  packets from the first page(s) on the copy without affecting the
	  original stream state.

2015-03-11 09:48:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix border handling of YUY2 and friends
	  Don't draw the border in groups of 4 pixels for YUY2 but instead in
	  groups of 2 with alternating U and V. This avoids a crash on odd width
	  borders.

2015-03-11 09:47:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: force yuv conversion for border
	  Make sure we always do yuv conversion for the border.

2015-03-10 17:29:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix A422 subsampling description

2015-03-10 15:12:30 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add table based matrix8 implementation
	  Based on patch from Mozzhuhin Andrey <nopscmn at gmail.com>
	  Add a table based matrix8 multiplication implementation. The algorithm
	  does not do any clipping so we need to make sure we never call this on
	  input that might need to be clipped. In general, this algorithm is
	  2 times faster than the orc optimized one and would be chosen for all
	  RGB -> YUV conversions and some YUV->YUV and RGB->RGB conversions.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732186

2015-03-10 11:55:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add all colors mode

2015-03-10 10:19:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for 10 bit planar AYUV formats

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

	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/volume/gstvolume.c:
	* sys/xvimage/xvimagepool.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/video.c:
	  Fix double semicolons

2015-03-09 21:35:59 -0400  Olivier Crete <olivier.crete@collabora.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Accept any capsfeatures

2015-03-09 16:28:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: validate parsed colorimetry
	  Validate the parsed colorimetry and reset to defaults when we get RGB
	  with a matrix or YUV without a matrix.

2015-03-09 16:01:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: detect identity matrix
	  Do nothing if we have an identity matrix conversion.

2015-03-09 15:58:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: use default colorimetry on error
	  When we fail to parse the colorimetry property, fall back to the default
	  colorimetry for the format and dimension instead of leaving things
	  undefined.

2015-03-09 11:25:41 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: unused value
	  Value set in ret is immediately overwritten in the next line outside of the if
	  block. Run reset but don't store return.
	  CID #1226470

2015-03-09 12:13:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only convert to/from rgb when needed
	  Only use the YUV->RGB matrix when we have YUV as input and only use the
	  matrix when we need to make YUV output.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745780

2015-03-09 11:12:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Link to an explanation why the seqnum comparison function does the right thing even for wraparounds

2015-02-22 21:13:35 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: only return EOS upon clipping if applicable
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-22 21:11:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: only return EOS upon clipping if applicable
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-03-07 16:49:07 +0100  Sebastian Dröge <sebastian@centricular.com>

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

2015-03-06 12:54:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add transfer full annotation for config

2015-03-06 09:30:51 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: correct right-border location for YUY2, YVYU, UYVY
	  Remove 'r_border /= 2' in convert_fill_border(). It doesn't
	  take the right border to correct location.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745719

2015-03-05 12:31:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/volume/gstvolume.c:
	  volume: Explicitly cast integers to doubles and then back to integers after multiplication
	  gcc 4.9.1 on ARM seems to have a bug that causes it to cast the float to an
	  integer first, resulting in a 0 scale factor for volume < 1.0.
	  As a side effect this change here will also improve accuracy of the result a
	  bit because we go via doubles instead of floats.
	  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65325
	  https://bugzilla.gnome.org/show_bug.cgi?id=745667

2015-03-05 09:52:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid scaler when size is unchanged

2015-03-04 16:45:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add horizontal 2tap u16 orc function
	  Add slightly faster u16 horizontal resampler orc function.

2015-03-04 12:28:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  check: add another generic converter test
	  Run conversion and scaling with borders.

2015-03-04 12:21:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* tests/check/libs/video.c:
	  video-converter: don't reuse the input line when adding borders
	  When we need to add borders, we need a writable input line, so
	  don't reuse the source memory directly.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745207

2015-03-04 09:24:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusdec.c:
	  opusdec: fix latency query in FEC case
	  The max latency parameter is "the maximum time an element
	  synchronizing to the clock is allowed to wait for receiving all
	  data for the current running time" (docs/design/part-latency.txt).
	  https://bugzilla.gnome.org/show_bug.cgi?id=744338

2015-03-03 16:36:20 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Re-render if video size changed
	  https://bugzilla.gnome.org/show_bug.cgi?id=745554

2015-03-03 22:56:37 +0530  Arun Raghavan <arun@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	  audiobasesink: Reset audio clock if necessary
	  When the ringbuffer is deactivated and then acquired, if the audio clock
	  provided by the sink gets reset to zero, we need to add an offset to the
	  clock to make sure that subsequent samples are written out at the right
	  times. While we need to leave this to derived classes to take care of
	  when they provide their own clock (since that clock may or may not be
	  reset to zero), we can do this ourselves if we know the provided clock
	  is our own (which does reset to zero on a re-acquire).

2015-03-02 16:42:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid making scalers for outsize == 0

2015-03-02 16:33:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: v-resample enough pixels
	  When we are using the fast linear resampler, use the ->inc to calculate
	  the first and last pixel we need so that we can do vertical resampling
	  on the right amount of pixels.

2015-03-02 15:07:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix unpack functions for RGB/RGB15 on BE
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337

2015-03-02 13:27:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: more fixes for big endian

2015-03-02 12:26:23 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: add big-endian versions of RGB/BGR 15/16 pack/unpack
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745337

2015-02-28 13:31:41 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: fix compiler warning
	  ‘return’ with no value, in function returning non-void

2015-02-28 12:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	* tools/gst-play.c:
	  gst-play: add keyboard shortcut to cycle through trick modes
	  Make "t" activate trick modes and cycle through the various
	  modes.

2015-02-28 11:37:27 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: fix indentation
	  Prevent gst-indent from messing up indentation, it
	  really doesn't like the G_GNUC_PRINTF thing here.

2015-02-27 20:22:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/audioencoder.c:
	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  tests: fix crashes in {audio,video}{decoder,encoder} tests on 32-bit
	  Don't feed 64-bit integer variable into vararg function that expects
	  an unsigned integer to go with GST_TAG_TRACK_NUMBER. This would
	  cause crashes on 32-bit platforms, and if not that then test
	  failures if the comparisons fail later (at least on big endian
	  platforms).

2015-02-27 15:07:36 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: Make static strings static
	  Otherwise, they're not guaranteed to still be valid when leaving the scope.
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-27 14:28:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/pbutils.c:
	  tests: pbutils: more checking of returned description strings
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-27 00:36:43 +0530  Arun Raghavan <arun@accosted.net>

	* gst/adder/gstadder.c:
	  adder: Drop custom latency querying logic
	  The default latency query handler now implements the same logic already.

2015-02-26 14:47:28 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: remove check for below zero for unsigned int
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it in an unsigned integer. Removing that check and only checking
	  if it is bigger than max and setting it appropriately.
	  CID #1271606

2015-02-26 12:06:23 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstdecodebin2.c:
	  playback: Fix broken GList modification
	  When we modify a GList (via g_list_delete_link), always reassign the
	  new head to the original GList. Otherwise we end up with
	  filtered_errors being corrupt (the head might have been the element
	  removed)

2015-02-26 11:06:35 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	  gst-play: add new keyboard shortcuts to man page

2015-02-26 10:57:56 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: more fine-grained playback rate control
	  Use smaller steps for lower rates to allow more
	  fine-grained control. Handle jump across 0 properly
	  from both sides (just flip direction where we would
	  have gone down to 0 instead). Don't artificially
	  limit rates to +/- 10x. Print new rate.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

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

	* tools/gst-play.c:
	  gst-play: stash current playback rate in app structure
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

2015-02-25 18:52:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* tools/gst-play.c:
	  gst-play: support changing the playback rate in interactive mode
	  It is fun to have this feature, also it is useful for testing decoders.
	  https://bugzilla.gnome.org/show_bug.cgi?id=745174

2015-02-25 17:00:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: we can use the scaler without scalers to copy

2015-02-25 16:50:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only make a scaler when we are scaling
	  Only make a scaler when we are actually doing any scaling. Without
	  scalers, the scale function will simply do a copy.

2015-02-25 16:49:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for copy
	  When no scalers are given, simply do a copy of the requested area.

2015-02-25 16:15:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: activate scaler fastpath depending on method
	  Only activate the scaler fastpath for x2 up and downscale when the
	  scaler method is respectively nearest and linear because that is what
	  those fastpaths really implement.

2015-02-25 15:33:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add scaler optimization
	  If we are vertically downscaling, it is better to first downscale and
	  then do the horizontal scaling in most cases.

2015-02-25 15:32:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: remove unused case

2015-02-25 11:38:17 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: don't overwrite border alpha
	  Let border alpha and image alpha be independent.

2015-02-24 17:33:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: use 1.0 as default alpha

2015-02-24 17:26:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add alpha handling
	  Add support for alpha. Make it possible to copy, set and multiply the
	  alpha value of a frame during conversion.
	  Set the border alpha to 0xff by default.
	  Go over some of the fastpaths and add alpha handling.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=745006

2015-02-24 17:20:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix chroma subsampling
	  Also adjust the output line number with the offset.

2015-02-24 10:01:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: disable fastpath when scaling and gamma
	  Disable the fastpath when scaling and doing gamma remap.

2015-02-24 09:54:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't do gamma on alpha channel
	  The alpha channel is not supposed to be gamma encoded.

2015-02-24 16:06:08 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadlock when resetting buffering
	  This function is static, and only ever called with the expose lock
	  taken. It thus has no reason to take this lock itself.
	  This was introduced by one of my locking fixes from 741355.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-24 12:38:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: minor docs fix

2014-05-27 13:54:06 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: forward template and ring buffer settings to existing decodebins
	  https://bugzilla.gnome.org/show_bug.cgi?id=744844

2015-02-23 17:24:52 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: move null check
	  Check if dbin->decode_chain is NULL before running drain_and_switch_chains()
	  because if it is, we shouldn't run that function or it will segfault.
	  CID #1271074

2015-02-23 01:32:14 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't send pending events before decode
	  Make sure to update the output segment to track the segment
	  we're decoding in, but don't actually push it downstream until
	  after buffers are decoded.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744806

2015-02-08 05:19:25 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add drain() vfunc
	  drain() is a new vfunc which does what finish() does, while
	  explicitly requiring the decoder be able to continue processing
	  data afterward.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-22 16:57:57 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: drain current segment upon new one to ensure correct flow return"
	  This reverts commit cc1b4eaf9ebe4568f9c2c64338cef1b2edbdca3f.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-22 16:57:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  Revert "audiodecoder: drain current segment upon new one to ensure correct flow return"
	  This reverts commit 696b8cdc40f033ff0a45ebe620279130152fb2f8.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=734617

2015-02-21 17:42:08 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: drain current segment upon new one to ensure correct flow return
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-21 17:41:50 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: drain current segment upon new one to ensure correct flow return
	  See also https://bugzilla.gnome.org/show_bug.cgi?id=709224

2015-02-20 12:34:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only consider non-parser factories for generating the post-parser capsfilter caps
	  Otherwise if there are multiple parsers we would most likely break negotiation
	  of the stream-format/alignment wanted by the decoders as parsers generally
	  support all possible stream-formats and alignments.

2015-02-19 15:51:19 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  audio: video: fix a few GI annotations
	  transfer-full -> transfer full
	  @Since -> Since

2015-02-05 12:07:50 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix deadlock between downward state change and pad addition
	  If caps on a newly added pad are NULL, analyze_new_pad will try to
	  acquire the chain lock to add a probe to the pad so the chain can
	  be built later. This comes from the streaming thread, in response
	  to headers or other buffers causing this pad to be added, so the
	  stream lock is taken.
	  Meanwhile, another thread might be destroying the chain from a
	  downward state change. This will cause the chain to be freed with
	  the chain lock taken, and some elements are set to NULL here, which
	  can include the parser. This causes pad deactivation, which tries
	  to take the element's pad's stream lock, deadlocking.
	  Fix this by keeping track of which elements need setting to NULL,
	  and only do this after the chain lock is released. Only the chain
	  manipulation needs to be locked, not the elements' state changes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-04 11:46:09 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: guard against the decode chain going while a pad is added
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-03 17:06:43 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: possible fix for deadlock when spamming "next song"
	  There was a deadlock between a thread changing decodebin/demuxer
	  state from PAUSED to READY, and another thread pushing data
	  when starting.
	  From the stack trace at
	  https://bug741355.bugzilla-attachments.gnome.org/attachment.cgi?id=292471,
	  I deduce the following is happening, though I did not reproduce the
	  problem so I'm not sure this patch fixes it.
	  The streaming thread (thread 2 in that stack trace) takes the demuxer's
	  sink pad's stream lock in gst_ogg_demux_perform_seek_pull and will
	  activate a new chain. This ends up causing the expose lock being taken
	  in _pad_added_cb in decodebin.
	  Meanwhile, a state changed is triggered on thread 1, which takes the
	  expose lock in decodebin in gst_decode_bin_change_state, then frees
	  the previous chain, which ends up calling gst_pad_stop_task on the
	  demuxer's task, which in turn takes the demuxer's sink pad's stream
	  lock, deadlocking as both threads are now waiting for each other.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741355

2015-02-18 20:58:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: ensure tags have been fetched before pulling data
	  Otherwise upstream can get confused about offsets as there will
	  be a jump once the tags have been parsed due to the stripped area.
	  If upstream pulls from 0 to 100, and then tagdemux does the
	  tag reading and finds out that the first 200 bytes are the tag, the
	  next pull from upstream will have an offset of 200 bytes. So
	  upstream will get the following data:
	  0 - 100, 300 - (EOS), as it will continue requesting from where
	  it has last stopped, but tagdemux will add an offset to skip the
	  tags.
	  This patch makes sure that the tags have been parsed and skipped
	  since the first pull range call.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744580

2015-02-19 01:30:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Reset the default query return value when the iterator has to resync

2015-02-19 01:21:47 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Let the latency query fail if one of the source queries fails

2015-02-18 17:41:25 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Remove g_warnings() for the deprecated audio property
	  Otherwise there are g_warnings() already when just using gst-inspect or
	  dumping a pipeline graph.

2015-02-18 11:34:15 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: fix MPEG-2 video profiles in description
	  We would accidentally use the profile nick as profile name
	  in the description for MPEG video that's not version 4.

2015-01-29 18:49:45 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Pass object, not GValue to debug print

2015-02-16 23:54:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  audiovisualizer: don't use private GMutex implementation details
	  Don't use private GMutex implementation details to check
	  whether it has been freed already or not. Just turn dispose
	  function into finalize function which will only be called
	  once, that way we can just clear the mutex unconditionally.

2015-02-15 13:51:36 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Use the same waiting function for EOS and stream switches
	  Also improve the waiting condition for stream switches, which was assuming
	  before that the condition variable will only stop waiting once when it is
	  signaled. But the documentation says that there might be spurious wakeups.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-26 11:14:13 +0800  Song Bing <b06498@freescale.com>

	* tests/check/Makefile.am:
	* tests/check/pipelines/streamsynchronizer.c:
	  streamsynchronizer: Unit test for streamsynchronizer's EOS handling
	  Test that a pipeline can change from PLAYING to PAUSED and back in
	  the following scenarios:
	  1. One track reach EOS after pushed some buffers while another track
	  still pushes buffers
	  2. One track reach EOS without buffers while another track still pushes
	  buffers
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-12 17:40:25 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Send GAP events from the pads' streaming threads
	  Change the GAP events that are currently sent from the chain function of
	  the current pad to all other EOS pads. They should instead be sent from
	  their own streaming threads.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-01-12 16:08:33 +0800  Song Bing <b06498@freescale.com>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Send GAP event to finish preroll when change state from PLAYING to PAUSED
	  Wait in the event function when EOS is received until all pads are EOS
	  and then forward the EOS event from each pads own event function.
	  Also send a new GAP event for EOS pads from the event function whenever
	  going from PLAYING->PAUSED by shortly waking up the GCond. This is needed
	  to allow sinks to pre-roll again, as they did not receive EOS yet because
	  we blocked that, but also will never get data again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736655

2015-02-16 09:48:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  Revert "codec-utils: Handle the two rext profiles for h265"
	  This reverts commit 19b93566801a56e7b043a670b7edcf8f2da06619.
	  These two "profiles" are actually a complete set of profiles, which we will
	  need to handle separately. Unfortunately it seems like we need information
	  from the SPS to detect the exact profile.

2015-02-15 20:08:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: description: move some code into utility function

2015-02-15 20:05:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add H.265 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

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

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add MPEG-4 video profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-15 18:37:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add Dirac/VC-2 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-15 18:14:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: add H.264 profile to description if available
	  https://bugzilla.gnome.org/show_bug.cgi?id=673976

2015-02-13 22:56:00 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	  install-plugins: fix indentation and add Since marker
	  Forgot to squash this into the actual patch before pushing.

2015-02-13 22:49:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstpbutils.def:
	  install-plugins: add new API to exports .def and to docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-03 10:47:11 +0100  Kalev Lember <kalevlember@gmail.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	  install-plugins: Add API to suppress confirmation before searching
	  The new gst_install_plugins_context_set_confirm_search() API can be used
	  to pass a hint to modify the behaviour of the external installer
	  process.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-02 16:16:46 +0100  Kalev Lember <kalevlember@gmail.com>

	* gst-libs/gst/pbutils/install-plugins.c:
	* gst-libs/gst/pbutils/install-plugins.h:
	  install-plugins: Add API for passing desktop ID and startup ID
	  The new gst_install_plugins_context_set_desktop_id() and
	  gst_install_plugins_context_set_startup_notification_id() API can be
	  used to pass extra details to the external installer process.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744465

2015-02-12 12:08:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video-orc: update with new methods

2015-02-12 11:38:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: add orc function for RGB15/16 unpack

2015-02-10 21:57:02 -0800  Stefan Sauer <ensonic@users.sf.net>

	* gst/playback/gstplaybin2.c:
	  playbin: improve debug log
	  Log the human readable pad_link_return desc as well.

2015-02-11 15:57:54 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  codec-utils: Handle the two rext profiles for h265
	  These values are for now taken from x265 and need to be checked against
	  the spec. Especially we need to check if information from other fields
	  need to be taken into consideration too, e.g. the bit depth and chroma
	  index from the SPS.
	  This however makes 4:4:4 output of x265enc actually work.

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

	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst/adder/gstadder.c:
	* gst/playback/gsturidecodebin.c:
	  Improve and fix LATENCY query handling
	  This now follows the design docs everywhere, especially the maximum latency
	  handling.
	  https://bugzilla.gnome.org/show_bug.cgi?id=744106

2015-02-11 14:16:21 +0100  Sebastian Dröge <sebastian@centricular.com>

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

2015-02-11 13:32:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* win32/common/libgstvideo.def:
	  video-scaler: add 2d scaler
	  Make a convenience function that combines 2 scalers to perform a 2d
	  scale. This removes quite a bit of overhead in method calls when doing a
	  typical scale and it also can reuse a piece of unused memory in the
	  vertical scaler.
	  Use the 2d scaler in video-converter and remove the other scalers and
	  temp memory.

2015-02-10 16:43:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix YUY2 formats and friends
	  Only merge scalers for selected formats.
	  Use nearest neighbour scaling for chroma when doing nearest neighbour
	  for the luma.
	  Also fastpath GRAY16_OE in nearest neighbour.
	  configure parameters correctly for packed fastpath.

2015-02-10 16:40:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Small performance tweaks
	  Small performance tweaks for RGB and friends.
	  Add, but ifdef out, alternative nearest neighbour scaling, it is slower
	  than the current table based version.
	  Use memcpy instead of orc_memcpy because it is measurably faster.
	  Fix YUY2 and friends vertical scaling.

2015-02-10 16:44:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Guard against (impossible) bits!=16 && bits!=8 case to fix compiler warning with clang
	  video-scaler.c:1331:14: error: variable 'func' is used uninitialized whenever 'if' condition is false
	  [-Werror,-Wsometimes-uninitialized]
	  } else if (bits == 16) {
	  ^~~~~~~~~~
	  video-scaler.c:1348:3: note: uninitialized use occurs here
	  func (scale, src_lines, dest, dest_offset, width, n_elems);
	  ^~~~
	  video-scaler.c:1331:10: note: remove the 'if' if its condition is always true
	  } else if (bits == 16) {
	  ^~~~~~~~~~~~~~~~
	  video-scaler.c:1260:27: note: initialize the variable 'func' to silence this warning
	  GstVideoScalerVFunc func;
	  ^
	  = NULL

2015-02-10 16:38:05 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Use correct enum type to fix compiler warnings with clang
	  video-converter.c:3406:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3413:44: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3471:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3487:42: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d + out_x, i,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3551:12: error: implicit conversion from enumeration type 'GstVideoFormat' to different
	  enumeration type 'GstFormat' [-Werror,-Wenum-conversion]
	  format = convert->fformat[plane];
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~
	  video-converter.c:3569:46: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3577:42: error: implicit conversion from enumeration type 'GstFormat' to different enumeration
	  type 'GstVideoFormat' [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d + out_x, i,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~

2015-02-10 15:25:04 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-converter: bits variable always set
	  In function gst_video_scaler_vertical() the bits variable is always
	  set to either 8 or 16 in every possible format. No need to initialize it.
	  If the format isn't valid it goes to no_func, so there is no need to
	  handle the case of bits not being 8 or 16.
	  CID #1268401

2015-02-10 11:15:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only enable backlog for interlaced video
	  Skip lines we don't need.

2015-02-10 09:30:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add fastpath for NV formats

2015-02-10 09:20:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix pstride of NV16 and NV24 formats

2015-02-09 18:01:30 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* tests/check/libs/rtsp.c:
	  rtspmessage: map headers we know that are added by string to their enum
	  That way we can look them up by their field enum later as well.

2015-02-09 17:49:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtsp.c:
	  tests: rtsp: add some unit tests for new GstRTSPMessage API

2015-02-09 16:24:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtspmessage.h:
	* win32/common/libgstrtsp.def:
	  rtspmessage: add API to add and get custom headers
	  Add API to add and get custom headers that are not
	  covered by our header fields enum. This is backwards
	  compatible in that it will also work for our defined
	  fields, so if we ever add a new header field to the
	  enum, get_header_by_name() for the same header string
	  will still work.
	  API: gst_rtsp_message_add_header_by_name()
	  API: gst_rtsp_message_take_header_by_name()
	  API: gst_rtsp_message_remove_header_by_name()
	  API: gst_rtsp_message_get_header_by_name()

2015-02-09 17:51:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: Add more fastpaths
	  Add fastpaths for all planar conversion and scaling.
	  Improve gray and alpha handling.
	  Add option to specify the chroma resampler method and set to linear as
	  default.

2015-02-09 13:20:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add generic planar scaler/converter
	  Add code to convert and scale between any planar format and use it in
	  the fastpaths of some planare converters.

2015-02-09 10:20:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warnings by using the correct enum type
	  video-converter.c:3645:24: error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = fformat;
	  ~ ^~~~~~~
	  video-converter.c:3667:24: error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = fformat;
	  ~ ^~~~~~~
	  video-converter.c:3963:50: error: implicit conversion from enumeration type
	  'const GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  if (!setup_scale (convert, transforms[i].fformat))
	  ~~~~~~~~~~~           ~~~~~~~~~~~~~~^~~~~~~

2015-02-07 03:56:05 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: Don't pass GstCollectData as a GstObject to GST_DEBUG

2015-02-06 13:39:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add more scaler fastpaths

2015-02-06 13:25:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix loading of param
	  param loading ignores the x4, loading only part of the param.

2015-02-06 12:35:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add border and crop to more fastpaths

2015-02-06 12:28:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix border for YUY2 and friends
	  Convert as many pixels as the max subsampling so that we convert a
	  complete group of pixels.

2015-02-06 15:39:14 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: support AYUV border
	  Convert the border color from ARGB to AYUV, using
	  colorimetry matrix when output format is YUV.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741640

2015-02-06 10:57:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix swapped border width
	  And also do nothing when there is no border.

2015-02-06 10:56:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: actually draw the border in some fastpaths
	  Don't forget to draw the border after doing the fastpath conversion.

2015-02-06 10:53:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp width and heigth
	  Clamp the width and height based on the in and out offsets.

2015-02-06 10:50:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add unaligned fallbacks
	  Add fallback C implementations for when we can't call the ORC function
	  because of bad alignment.

2015-01-28 05:20:19 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Where possible, skip decode for GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO
	  If we have timestamps on input buffers and are in trickmode no-audio
	  mode, then don't pass anything to the subclass for decode and simply
	  send gap events downstream
	  Only for forward playback for now - reverse requires accumulating
	  GAP events and pushing out in reverse order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-02-05 17:44:59 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Re-work GAP buffer and trick-mode handling
	  In trickmode no-audio mode, or when receiving a GAP buffer,
	  discard the contents and render as a GAP event instead.
	  Make sure when rendering a gap event that the ring buffer will
	  restart on PAUSED->PLAYING by setting the eos_rendering flag.
	  This mostly reverts commit 8557ee and replaces it. The problem
	  with the previous approach is that it hangs in wait_preroll()
	  on a PLAYING-PAUSED transition because it doesn't commit state
	  properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-02-03 20:38:44 +1100  Jan Schmidt <jan@centricular.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Add a little timestamping debug output

2015-02-03 01:19:05 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theora: If no header packets in stream, look for them in the caps
	  Makes theora work in cases where the header packets are only in the caps
	  (because theoradec was connected to oggdemux late and missed the
	  beginning of the stream)

2015-02-02 22:23:51 +1100  Jan Schmidt <jan@centricular.com>

	* ext/theora/gsttheoradec.c:
	  theora: Remove FIXME and return GST_CUSTOM_FLOW_DROP for header packet handling
	  This FIXME is easily fixed :)

2015-01-31 05:12:10 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Remove pointless else{} around some code

2015-01-31 05:09:46 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix reverse playback when there's only one gather set.
	  The decoder can fail to drain on EOS if there was only one gather
	  set, because it will never have sent the segment event downstream
	  and set the output segment, and fail to detect that the rate < 0.0
	  Make sure to send pending events before sending all the gather data
	  for decode.

2014-10-09 03:31:58 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-frame.h:
	  video: Fix simple typo in GstVideoFrameMapFlags docs

2015-02-05 17:49:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add crop and border to some fastpaths

2015-02-05 17:18:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add support for borders in scale fastpath
	  Add support for borders and cropping in the scaler fastpaths.

2015-02-05 15:03:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: disable fastpath for crop and border
	  Add crop and border properties to the fastpath table and only select
	  fastpath functions when it can handle the cropping or borders.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=744028

2015-02-04 18:01:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add fastpath for some gray formats

2015-02-04 17:44:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	  video-converter: add fastpath for some more RGB formats
	  Add fastpath for RGB and BGR.
	  Add fastpath for nearest resampling for RGB15 and RGB16 formats.

2015-02-04 16:37:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: skip lines we don't need
	  Make sure to skip unused lines instead of doing a useless horizontal
	  resampling.

2015-02-04 12:08:21 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix memory leak
	  In gst_video_scale_fixate_caps () it can goto done without freeing the memory
	  of the tmp GstStructure. This makes it go out of scope and leak.
	  CID #1265766

2015-02-04 11:25:54 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: make sure params.envelope is initialized
	  In gst_video_resampler_init () if method is GST_VIDEO_RESAMPLER_METHOD_NEAREST
	  then params.envelope is not initialized but still used later in line 382.
	  Make sure this variable is initiliazed to avoid undefined behaviour.
	  CID #1256568

2015-02-03 12:23:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{enc,dec}oder: Don't reset latency all the time and handle max=GST_CLOCK_TIME_NONE correctly
	  max=NONE means that *this* element has no maximum latency. If upstream had a
	  maximum latency we must not override it with NONE.

2015-02-03 12:15:25 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{enc,dec}oder: Always directly post latency messages on the bus when the subclass sets the latency
	  Instead of doing it only in setcaps for the encoder, and never at all for the
	  decoder.

2015-02-03 12:12:18 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio{enc,dec}oder: Handle max_latency == GST_CLOCK_TIME_NONE
	  And initialize the latencies with 0 and NONE.

2015-01-28 05:26:06 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Don't render a GAP silence buffer
	  Don't render out silence samples to a buffer, just
	  start the clock running, since any buffer with the
	  GAP flag will be discarded in render() now anyway.

2015-01-28 22:42:17 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Make sure the ringbuffer is started before waiting
	  Don't call the basesink wait_event implementation until we're sure
	  the ringbuffer is running, because it might wait on a non-running
	  clock.

2015-01-27 02:04:22 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: drop GAP buffers, or all buffers in trickmode no-audio mode
	  Make the base audio sink throw away buffers marked GAP, or all
	  incoming buffers when performing a trick play with
	  GST_SEGMENT_TRICKMODE_NO_AUDIO flag set, and make sure to start
	  the ringbuffer when that happens so the clock starts running.
	  Preserve the timing calculations when rendering, so state is all
	  updated the same, but just don't render samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-01-29 17:58:27 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not throw a flow error on flushing
	  If the streaming task attempts to read a chain while the pipeline
	  is stopping (which can happen if the pipeline stops shortly after
	  start or a new URI being setup in gapless playback case), it will
	  see a flushing return from upstream, and should then also return
	  flushing to the caller, rather than emit a flow error.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722442

2015-01-28 16:43:59 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: change audio property to audio-type
	  This is now an enum with values generic (default) and voice.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740891

2015-01-28 17:44:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warnings
	  video-converter.c:3073:48: error: implicit conversion from enumeration type 'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  gst_video_scaler_horizontal (h_scaler, format,
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3081:44: error: implicit conversion from enumeration type 'GstFormat' to different enumeration type 'GstVideoFormat'
	  [-Werror,-Wenum-conversion]
	  gst_video_scaler_vertical (v_scaler, format, lines, d, i, out_w);
	  ~~~~~~~~~~~~~~~~~~~~~~~~~            ^~~~~~
	  video-converter.c:3137:24: error: implicit conversion from enumeration type 'const GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = GST_VIDEO_INFO_FORMAT (in_info);
	  ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  ../../../gst-libs/gst/video/video-info.h:125:43: note: expanded from macro 'GST_VIDEO_INFO_FORMAT'
	  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	  ../../../gst-libs/gst/video/video-format.h:361:59: note: expanded from macro 'GST_VIDEO_FORMAT_INFO_FORMAT'
	  ~~~~~~~~^~~~~~
	  video-converter.c:3157:24: error: implicit conversion from enumeration type 'GstVideoFormat' to different enumeration type 'GstFormat'
	  [-Werror,-Wenum-conversion]
	  convert->fformat = GST_VIDEO_FORMAT_GRAY8;

2015-01-28 17:43:59 +0100  Sebastian Dröge <sebastian@centricular.com>

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

2015-01-28 17:37:35 +0100  Wim Taymans <wtaymans@redhat.com>

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

2015-01-28 17:32:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-converter: add fast-path scaler for some packed YUV formats
	  Add fast path scaling for YUY2 and other packed YUV formats. Add a new
	  method to merge the scalers of the Y and UV components into one scaler.
	  Add faster horizontal 2tap scaler.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-28 17:30:53 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: don't do dithering

2015-01-28 17:30:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.h:
	  video-converter: the default is BAYER dithering

2015-01-28 17:29:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't do dither when set to NONE

2015-01-28 11:38:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix taps calculation for pstride == 1
	  Take pstride into consideration when calculating the scaler taps.

2015-01-28 04:51:25 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Make sure the ringbuffer really starts when we need it to
	  Some audio sink sub-classes (pulsesink) don't start their clock
	  when the ringbuffer starts, but always have to on EOS. When we
	  explicitly need to start the ringbuffer, make sure sub-classes will
	  do it by (ab)using the existing eos_rendering flag.

2014-12-11 01:54:07 +1100  Jan Schmidt <jan@centricular.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Support new skip seek flags
	  Support the new SEEK_TRICKMODE_KEY_UNITS and SEEK_TRICKMODE_NO_AUDIO
	  flags added to core
	  https://bugzilla.gnome.org/show_bug.cgi?id=735666

2015-01-27 13:39:14 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	  orc: update orc files

2015-01-27 10:28:35 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add fastpath for planar scaling
	  Add fastpaths for scaling of planar subsampled formats.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-27 10:04:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for monochroma formats
	  Add support for scaling of images with pstride == 1. This can be used
	  to scale individual planes later.
	  Rework some of the scaling code to take the pstride as a parameter.

2015-01-27 09:51:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: disable chroma and matrix operations
	  Ignore chroma subsampling and color matrix transformations like the
	  old videoscale used to do. This is to make the performance like it was
	  before.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741987

2015-01-26 12:52:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix GBR unpack

2015-01-27 01:31:50 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	  audiodecoder: Fix typo in documentation
	  Fix a couple of harmless warnings in the gtk-doc parsing

2015-01-23 12:46:41 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video-dither.c:
	  video: Fix leaked dither object in error cases
	  Coverity CID : 1256564

2015-01-21 15:22:15 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: fix caps leak
	  Fix leak of caps event and of caps objects when setting caps on sink and src
	  pads. Sync audiovisualizer class implementation to the one in gst-plugins-bad.
	  This commit matches c5ef1bee7318f057aa1f542d5a1474b75e85131a in that module.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

2015-01-21 14:46:15 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: post QoS messages when dropping frames due to QoS
	  https://bugzilla.gnome.org/show_bug.cgi?id=742875

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

	* ext/cdparanoia/gstcdparanoiasrc.h:
	* gst-libs/gst/video/video-format.c:
	* gst/audioconvert/audioconvert.c:
	* gst/audioconvert/gstaudioquantize.c:
	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.c:
	  Constify some static arrays everywhere

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

	* ext/alsa/gstalsa.c:
	  alsa: Constify channel position table

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

	* ext/alsa/gstalsa.c:
	  alsa: Fix indention

2015-01-21 08:33:57 +0100  Thomas Roos <thomas.roos@industronic.de>

	* ext/alsa/gstalsa.c:
	  alsa: Allow to use 8 bit samples with ALSA
	  8 bit samples have no (0) as endianness, not the native endianness.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

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

	* gst-libs/gst/audio/audio-format.c:
	  audio-format: Constify the audio format table

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

	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiosrc: Fill in the correct silence
	  For unsigned raw formats this is not all zeroes, and for non-raw formats
	  we just continue to assume all zeroes for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

2015-01-21 08:47:26 +0100  Thomas Roos <thomas.roos@industronic.de>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: Fill in the correct silence
	  For unsigned raw formats this is not all zeroes, and for non-raw formats
	  we just continue to assume all zeroes for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739446

2015-01-20 19:14:21 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Only emit EOS signal after all buffers are consumed
	  Otherwise the application will possibly shut down the pipeline already
	  because EOS is received, while there are still some buffers pending.

2015-01-20 15:08:24 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  dcodebin2: fix lock/unlock mismatch on multiqueue overrun

2015-01-13 16:07:06 +0100  Jan Alexander Steffens (heftig) <jsteffens@make.tv>

	* gst/audioresample/resample.c:
	  audioresample: Try to prevent endless looping
	  Speex may decide not to consume any samples because it can't write any. I've
	  seen a hang during draining caused by the resample loop never terminating.
	  In that case, resampling happened as normal until olen was 0 but ilen was
	  still 1. _process_native then reduced ichunk to 0, so ilen never decreased
	  below 1 and the loop never terminated.
	  Instead of reverting 684cf44 ({audioresample: don't skip input samples),
	  break only if all output samples have been produced and speex refuses
	  to consume any more input samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732908

2015-01-19 11:17:18 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/Makefile.am:
	  videorate: Add $(GST_PLUGINS_BASE_CFLAGS) to be able to find gst/video/video.h

2015-01-18 14:58:36 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  videorate: Implement allocation query
	  The videorate element keeps 1 buffer internally. This buffer need
	  to be requested during allocation query otherwise the pipeline may
	  stall.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738302

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

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  Revert "videorate: Implement allocation query"
	  This reverts commit 3c04db4a307048db70ee1d08c1d62e26ad9569d8.

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

	* gst/videorate/Makefile.am:
	* gst/videorate/gstvideorate.c:
	  videorate: Implement allocation query
	  VideRate keeps 1 buffer in order to duplicate base on closest buffer
	  relative to targeted time. This extra buffer need to be request
	  otherwise the pipeline may stall when fixed size buffer pool is used.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738302

2015-01-17 14:51:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix compilation

2015-01-12 14:38:09 +0100  Branislav Katreniak <bkatreniak@nuvotechnologies.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: do call set_queue_size in no_more_pads_cb
	  Consider pipeline: gst-launch-1.0 playbin uri=http://example.com/a.ogg
	  Consider 128kbit audio stream.
	  As soon as uridecodebin detects the bitrate, it configures its input
	  queue2 max-size to 32000 bytes.
	  The 2MB buffer in multiqueue is nearly 2 orders of magnitude bigger.
	  This non-deterministically drives queue2 buffer anywhere from
	  100% to 0% until multiqueue is filled.
	  This patch sets multiqueue size to 5 buffers early in no_more_pads_cb.
	  Partly reverts commit db771185ed750627a6a1824c42b651d739e1b4a4.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740689

2015-01-16 15:21:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: free old groups when switching groups
	  Old groups are freed with one switch's delay when switching groups.
	  They're freed in a scratch thread to avoid delaying the switch.

2014-12-12 17:02:35 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix clipped duration determination for non 0 based segments
	  https://bugzilla.gnome.org/show_bug.cgi?id=740422

2015-01-15 10:51:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	  audio: Keep caps features when building the downstream filter
	  Based on 5fd4e3e0b6cc4f30d7b1489a105db946b43f1a9f for video
	  by Alessandro Decina.

2015-01-15 13:54:14 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: keep caps features in account when building the downstream filter
	  See 00c2ce6 and https://bugzilla.gnome.org/show_bug.cgi?id=741263 for reference.

2015-01-14 10:35:34 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/examples/playback/playback-test.c:
	  examples: playback: add labels with supported seek range
	  Add the supported seeking range in the advanced seek area.
	  Also implement seeking querying the pipeline to retrieve those
	  values and show to the user. It is done in a smaller frequency
	  compared to the position/duration querying.

2015-01-13 19:25:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: disable pad link checks as it has already been done
	  Decodebin has already added the element to the bin and should only
	  select caps compatible pads. It should disable the pad link checks
	  to avoid doing those again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742885

2015-01-13 16:58:34 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: cleanup
	  Shameful fix to a silly mistake in the previous commit. Above email address for
	  any mockery

2015-01-13 16:36:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: handle the return of the setup function
	  Make the baseclass future proof by handling the gboolean return of the setup
	  function. So if/when a child class uses this the base class is ready.

2015-01-13 16:09:49 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  Revert "visual: remove unnecessary variable"
	  This reverts commit a91d521a3602f33083405467db9454d422b9da1b.
	  Being a base class it is better to check the value instead of ignoring it since
	  a child class could be created that returns valuable information.

2015-01-13 15:07:56 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: remove unnecessary variable
	  klass->setup (scope) will always return TRUE since all children of this class
	  do so, no need to store the return. Besides, the value is overwritten a few
	  lines down before it is ever used. Save the unnecessary memory and instructions.
	  CID #1226467

2015-01-12 15:27:18 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/libvisual/gstaudiovisualizer.c:
	  visual: use unused value
	  ret is assigned but not used and in the next cycle of the loop it is overwritten
	  with default_prepare_output_buffer (). If there is a flow error the function
	  should return instead.
	  CID #1226475

2015-01-12 15:56:06 +0100  Stefan Sauer <ensonic@users.sf.net>

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

2015-01-08 21:20:14 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: start ringbuffer if needed upon commit
	  ... to provide for a running clock.

2015-01-02 14:34:41 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix comment typo

2015-01-09 15:38:09 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-dither.c:
	  video-dither: remove check for below zero for unsigned value
	  CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
	  number since it is an unsigned integer. Removing that check and only checking if
	  it is bigger than max and setting it appropriately.
	  CID 1256559

2015-01-09 15:28:06 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: remove check for below zero for unsigned value
	  CLAMP checks both if n_taps is '< 0' and '> max_taps'. n_taps will never be a
	  negative number because it is an unsigned integer. Removing that check and only
	  making sure it isn't set bigger than max.
	  CID 1256558

2015-01-08 10:45:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for BT2020 colorspace (UHD)

2015-01-07 15:54:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: remove useless debug

2015-01-07 15:52:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add options to control chroma resampling
	  Add an option to disable chroma resampling.
	  Improve the matrix option values so that you can choose to use the input
	  or output matrix or disable conversion.

2015-01-02 15:27:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: remove unused enum

2014-12-31 19:40:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: fix silly GQueue iteration code

2014-12-26 20:48:55 +0000  Sam Thursfield <sam@afuera.me.uk>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	  Fix documentation that incorrectly says a return value should be freed
	  The gst_discoverer_info_get_missing_elements_installer_details()
	  documentation and annotation says that the return value should be freed
	  with g_strfreev(), but actually it's owned by the GstDiscovereInfo
	  object and should definitely not get freed by the caller as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=742006

2014-12-27 14:44:51 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Explicitly document that buffer-time and latency-time may be ignored

2014-12-26 18:55:08 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: only clip by duration if end of buffer is ahead of segment
	  It might happen that the timestamp is before the segment and the
	  check would succeed. In this case reducing the duration makes no
	  sense and would lead to broken results.

2014-12-22 22:04:41 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Report our latency properly in live mode
	  While we have no latency at all in theory, any other live source has the
	  duration of one buffer as minimum latency. Do the same in videotestsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741879

2014-12-22 22:00:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audiotestsrc/gstaudiotestsrc.c:
	  audiotestsrc: Report our latency properly in live mode
	  While we have no latency at all in theory, any other live source has the
	  duration of one buffer as minimum latency. Do the same in audiotestsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741879

2014-12-22 09:25:04 -0500  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  videopool: update video alignment after applying
	  Video buffer pool will update video alignment to respect stride alignment
	  requirement. But haven't updated it to video alignment in configure.
	  Which will cause user get wrong video alignment.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741501

2014-11-28 14:36:23 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: get the internal time before the clock reset
	  Otherwise calls to get the clock time might change its internal state
	  and the internal/external time for calibration get unbalanced leading to
	  a clock jump
	  https://bugzilla.gnome.org/show_bug.cgi?id=740834

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

	* MAINTAINERS:
	  MAINTAINERS: Update my mail address

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{en,de}coder: Call reset() before the start() vfunc
	  This makes sure that the element is in the same state before start() is called
	  the very first time and every future call after the element was used already.
	  Also it ensure that we always have a clean state before start(), cleaned the
	  same way in every case.

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

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Call reset() before the start() vfunc to guarantee a clean state
	  The same was done already in the decoder, and we cleaned some state just above
	  manually that would also be taken care of by reset().
	  This makes sure that the element is in the same state before start() is called
	  the very first time and every future call after the element was used already.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video{en,de}coder: Reset the codec after calling the stop() vfunc
	  The stop() vfunc might mess with some of our fields we have just
	  reset, which could cause memory leaks or invalid state taken over
	  to later.
	  Also the stop() vfunc, or anything called until it from another thread,
	  might want to be able to use the fields that were just resetted and
	  become confused because of that.
	  In the decoder we already had a workaround for things like this happening,
	  this workaround is not needed anymore.

2014-12-22 10:45:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobase{sink,src}: Don't hold the object lock while calling create_ringbuffer() vfunc
	  The implementation of that vfunc might want to use the object lock for
	  something too. It's generally not a good idea to keep the object lock while
	  calling any function implemented elsewhere.
	  Also the ringbuffer can only be NULL at this point, remove a useless if block.
	  And in the sink actually hold the object lock while setting the ringbuffer on
	  the instance. Code accessing this is expected to use the object lock, so do it
	  here ourselves too.

2014-12-18 13:24:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Error out early if we observe an invalid audio format

2014-12-18 13:22:17 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Also handle invalid block aligns for raw audio
	  Fixes audio playback of
	  http://demo.archermind.com/Test%20Sample/Video/MPEG%204/Divx3/Low-Motion/576-320.avi
	  Audio and video together is still broken because of other issues.

2014-12-18 10:57:13 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/Makefile.am:
	  audio: Fix private header include/dist
	  We want to dist it, but we don't want to install it.
	  Fixes make dist/distcheck

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

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

2014-12-17 21:52:13 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/opus/gstopusenc.c:
	  opusenc: plug ref leak of template caps
	  the pad template caps is already a new ref. No need to copy.

2014-12-17 19:14:38 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: audio: fix GI annotations for proxy caps function
	  Add the annotations to parameters that can be null and also for stating
	  the ownership of the returned caps

2014-12-17 15:21:48 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: tests for caps query implementation
	  Copied from videodecoder tests and updated to audio features

2014-12-17 15:21:16 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* win32/common/libgstaudio.def:
	  audiodecoder: expose getcaps virtual function
	  Allows subclasses to do custom caps query replies.
	  Also exposes the standard caps query handler so subclasses can just
	  extend on top of it instead of reimplementing the caps query proxying.

2014-12-16 18:36:57 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: implement caps and accept-caps queries
	  Allows decoders to proxy downstream restrictions on caps.
	  Also implements accept-caps query to prevent regressions caused by the
	  new fields on the return of a caps query that would cause the accept-caps
	  to fail as it uses subset caps comparisons

2014-12-16 11:13:40 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/Makefile.am:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.c:
	* gst-libs/gst/audio/gstaudioutilsprivate.h:
	  audioencoder: refactor getcaps proxy function to be reusable
	  Makes the audioencoder's getcaps function that proxies downstream
	  restriction available to other elements in the audio module to use it

2014-12-17 14:18:03 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* tests/check/libs/videodecoder.c:
	* win32/common/libgstvideo.def:
	  videodecoder: expose getcaps virtual function
	  Allows subclasses to do custom caps query replies.
	  Also exposes the standard caps query handler so subclasses can just
	  extend on top of it instead of reimplementing the caps query proxying.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-15 18:46:21 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: accept-caps should only require fields from the template
	  With the new caps query results the caps returned might have extra fields
	  that are not required by the decoder (framerate for image decoders) and it
	  causes a regression making, for example, jpegdec reject caps that don't
	  have framerates.
	  The accept-caps implementation will do 2 checks:
	  1) Do subset check with the template caps, making sure all the required
	  fields that are present on the template are present on the received caps.
	  2) Do a intersection check with the result of a caps query, making sure
	  that downstream can accept the fields in the received caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

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

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: proxy filter when doing a caps query downstream
	  Allows downstream to use the filter and possibly reduce caps complexity
	  to speed up negotiation
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-09 16:05:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideoutilsprivate.c:
	  videoutils: return empty if the element has no possible allowed caps
	  Instead of returning the template caps and having a failure happen
	  later because there are no possible caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-08 16:33:33 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoutilsprivate.c:
	* gst-libs/gst/video/gstvideoutilsprivate.h:
	* tests/check/libs/videodecoder.c:
	  videodecoder: implement caps query
	  Refactor the encoder's caps query proxying function to a common place
	  and use it in the videodecoder to proxy downstream restrictions.
	  The new function is private to the gstvideo lib.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741263

2014-12-17 12:01:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: require release version of orc now that there is one

2014-12-16 12:57:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  ximagesink: clear src and dest rectangles
	  Now that the center function also takes into account the x and y
	  coordinates of the dest rectangle, better clear all the fields before
	  using them.

2014-12-16 12:10:53 +0100  Song Bing <b06498@freescale.com>

	* gst-libs/gst/video/gstvideopool.c:
	* sys/ximage/ximagepool.c:
	* sys/xvimage/xvimagepool.c:
	  videopool: update buffer size after video alignment
	  Update the new buffer size after alignment in the pool configuration
	  before calling the parent set_config. This ensures that the parent knows
	  about the buffer size that we will allocate and makes the size check
	  work in the release_buffer method.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741420

2014-12-15 20:57:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	  audiobasesrc/sink: Add _CAST macros

2014-12-15 14:10:17 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/gstvideosink.c:
	* tests/check/libs/video.c:
	  video: Fix non-default usage of gst_video_sink_center_rect
	  Make sure we take into account non-0 x/y destination rectangles

2014-12-15 12:12:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: improve playback-test help text a little
	  And allow pipeline type to be specified as string.

2014-12-15 10:35:35 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.h:
	  pango: Add license/copyright header to header file

2014-12-15 09:45:43 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Only emit the drain signal for the main decode chain, not any subchains"
	  This reverts commit a391dfe17f1a325f60e1d51a6d40c1a68eb196de.
	  It breaks gapless playback: https://bugzilla.gnome.org/show_bug.cgi?id=740045

2014-12-09 03:18:37 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Fill gap events
	  https://bugzilla.gnome.org/show_bug.cgi?id=741281

2014-12-10 16:10:58 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audio: Add error handling to gst_audio_decoder_drain()
	  https://bugzilla.gnome.org/show_bug.cgi?id=740686

2014-12-13 16:14:49 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: Fix redundant definitions compiler warning
	  gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_init' [-Werror=redundant-decls]
	  G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);
	  gstaudioclock.c:51:31: error: redundant redeclaration of 'gst_audio_clock_class_init' [-Werror=redundant-decls]
	  G_DEFINE_TYPE (GstAudioClock, gst_audio_clock, GST_TYPE_SYSTEM_CLOCK);

2014-12-13 16:04:40 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: No need to get the parent class in class_init, G_DEFINE_TYPE does that for us

2014-12-13 16:01:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudioclock.c:
	  audioclock: Use G_DEFINE_TYPE instead of a custom get_type() function

2014-12-12 08:32:15 -0800  Zaheer Abbas Merali <zaheermerali@gmail.com>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: fix spelling of word in comment

2014-12-12 14:59:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: rtpbasepayload: fix indentation

2014-12-12 14:59:03 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix indentation

2014-12-12 14:56:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: fix broken refcounting in unit test
	  The set_format vfunc does not pass ownership of the caps
	  to the decoder, so we mustn't unref the caps there.
	  gst_event_new_caps() does not take ownership of the caps
	  passed, so we must unref the caps afterwards.
	  Fixes leaks when running test in valgrind in 1.4 branch.

2014-12-12 10:02:43 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	  video: Update disted orc source files

2014-12-12 10:01:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  Revert "video-converter: Fix compiler warning because of missing prototype of non-static function"
	  This reverts commit 406f32a9468c837a4d71f988de10dc2198a8edc9.
	  The problem was apparently that my video-orc.h was not updated and did not
	  include the prototype for that function. Only a "make clean" caused it to
	  be regenerated.

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

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Fix compiler warning because of missing prototype of non-static function
	  video-converter.c:838:1: error: no previous prototype for function
	  '_custom_video_orc_matrix8' [-Werror,-Wmissing-prototypes]

2014-12-09 22:47:31 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: do not use fixed caps on source pad
	  decoders can change the caps on their source pads, so they don't
	  use fixed caps. Having fixed caps can cause renegotiation issues.

2014-12-09 22:46:42 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not use fixed caps on source pad
	  decoders can change the caps on their source pads, so they don't
	  use fixed caps. Having fixed caps can cause renegotiation issues.

2014-12-11 13:45:38 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Do not mix up stream type when getting stream combiner element
	  We were always returning the video stream combiner whatever stream type
	  combiner was wanted.

2014-12-10 13:23:23 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin2: always unref the combiner sinkpad when removing the srcpad
	  Create a function to do the pad cleanup of the GstSourceCombine struct
	  and use it to not forget to also cleanup the sink pad and fix a memory
	  leak.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741198

2014-12-10 16:42:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: make RGB pack/unpack faster
	  Avoid all the merging and splitting and use a pair of shifts and or

2014-12-11 01:53:15 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add GST_VIDEO_DECODER_CAST macro
	  It's used in some macros already, so let's make it exist.

2014-11-25 13:31:48 +0100  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: No remove child if destroyed.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740730

2014-12-08 18:53:35 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/test-reverseplay.c:
	  reverse-play: fix seek to end when starting reverse
	  Start reverse playback by actually seeking to the end of
	  the file.

2014-12-06 21:02:37 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: set bits and format after conversion
	  Update the current format, bits and pstride.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741187

2014-12-05 22:09:45 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: free dither_lines
	  Avoid a memory leak

2014-12-05 18:16:53 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* configure.ac:
	  Bump ORC requirement to 4.22.1
	  We now depend on git commit f1cfa5, "orcc: allow setting custom
	  backup function"

2014-12-05 14:51:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: use custom backup function
	  Use the new orc feature to set a custom backup function.

2014-12-05 12:18:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: improve matrix8 function
	  Avoid using a constant.
	  Avoid doing saturated adds, results are not supposed to overflow here.
	  Rework the C backup function a little in preparation for custom backup
	  functions in ORC.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=741015

2014-11-28 15:06:27 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Push pending events before sending EOS.
	  Segments are added to the pending events, and pushing a segment
	  is mandatory before sending EOS.
	  + Adds a test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740853

2014-11-27 05:53:20 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Fix seeking before the first frame.
	  The previous code was setting keytarget to target
	  to make sure the keyframe found for each pad was
	  indeed before the target.
	  Then if target == keytarget, it assumed a keyframe had been
	  found, which was not the case if target was before the first frame
	  in the file.
	  This patch checks that a keyframe was indeed found, and if not
	  seeks to 0, without bisecting again.
	  Assuming default gst qa assets in $HOME/gst-validate
	  seek_before_first_frame.scenario:
	  description, seek=true, handles-states=true
	  pause, playback-time=0.0
	  seek, playback-time=0.0, start=0.0, flags=accurate+flush
	  seek, playback-time=0.0, start=0.01, flags=accurate+flush
	  seek, playback-time=0.0, start=0.1, flags=accurate+flush
	  GST_DEBUG=*theoradec*:2 gst-validate-1.0 playbin \
	  uri=file://$HOME/gst-validate/gst-qa-assets/medias/ogg/vorbis_theora.0.ogg \
	  --set-scenario seek_before_first_frame.scenario
	  https://bugzilla.gnome.org/show_bug.cgi?id=741097

2014-10-08 08:54:57 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Only check sinks which are in >= GST_STATE_READY
	  Otherwise we endup with bogus caps intersection (from the pad template
	  caps and not from what the actual hardware/device supports)
	  https://bugzilla.gnome.org/show_bug.cgi?id=738131

2014-12-03 10:15:18 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix chroma resampling check
	  Decide if we need chroma resampling by checking if we have a progressive
	  or interlaced chroma resampler.

2014-12-03 10:14:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: only do dithering when needed
	  Only do dithering when one of the quantizers is > 1.

2014-12-02 15:58:00 -0500  Chad <crh184@psu.edu>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: Use gst_util_uint64_scale_int_round()
	  Using gst_util_uint64_scale_int() causes slight drift
	  which accumulates over time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=741045

2014-12-02 13:39:52 +0100  Wim Taymans <wtaymans@redhat.com>

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

2014-12-02 11:51:19 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	  videoconvert: add dither-bits option
	  Fix the dither option.
	  Add a new option to set the quantizer

2014-12-02 11:48:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add where orc functions could go
	  Add the disabled orc functions in #if 0 lines for when we can enable
	  them.

2014-12-02 11:40:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-dither.c:
	  video-converter: add dithering
	  Use the new dither object to perform dithering.
	  Add option to select dithering method.
	  Add option to quantize to a specific value

2014-12-02 11:39:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add palette when needed

2014-12-02 11:32:28 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-dither.c:
	* gst-libs/gst/video/video-dither.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video.h:
	  video-dither: add video dither helper object
	  Add a new object that implements various dithering methods.

2014-12-01 22:28:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tools/gst-play.c:
	  gst-play: do not set system's volume to 100% by default
	  Only change the volume if requested

2014-12-01 09:50:24 +0100  Thomas Klausner <wiz@danbala.tuwien.ac.at>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Use EPIPE instead of ESTRPIPE if the latter does not exist
	  NetBSD does not have ESTRPIPE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740952

2014-11-28 14:28:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggmux.c:
	* ext/vorbis/gstvorbisdec.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/tag/gsttagdemux.c:
	* gst-libs/gst/tag/id3v2frames.c:
	* gst-libs/gst/video/navigation.c:
	* gst-libs/gst/video/video-converter.c:
	* gst/adder/gstadder.c:
	* gst/encoding/gstencodebin.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	* gst/subparse/gstsubparse.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* tests/examples/playback/playback-test.c:
	* tests/examples/seek/jsseek.c:
	* tools/gst-discoverer.c:
	  Don't compare booleans for equality to TRUE and FALSE
	  TRUE is 1, but every other non-zero value is also considered true. Comparing
	  for equality with TRUE would only consider 1 but not the others.

2014-11-16 15:54:56 +0100  Thibault Saunier <tsaunier@gnome.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst-libs/gst/pbutils/encoding-profile.h:
	* gst/encoding/gstencodebin.c:
	* win32/common/libgstpbutils.def:
	  encodebin: Add a way to disable caps renegotiation for output stream format
	  In some cases, the user might want the stream outputted by encodebin to
	  be in the exact same format during all the stream. We should let the
	  user specify when this is the case. This commit add some API in the
	  GstEncodingProfile to determine whether the format can be renegotiated
	  after the encoding started or not.
	  API:
	  gst_encoding_profile_set_allow_dynamic_output
	  gst_encoding_profile_get_allow_dynamic_output
	  https://bugzilla.gnome.org/show_bug.cgi?id=740214

2014-11-28 13:31:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: remove libs/video and videoconvert test from valgrind blacklist
	  Seem to work fine.

2014-11-28 13:29:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: don't run orc/* tests under valgrind
	  They just seem to blow up for some reason that needs investigating.

2014-11-28 13:11:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gsttagmux.c:
	  tagmux: fix criticals when there are no tags at all

2014-11-21 01:47:35 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/test-reverseplay.c:
	  test-reverseplay: Use uridecodebin for input
	  Work with any installed URI handler
	  Add some more debug output

2014-11-28 10:27:28 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Mapping a frame with inconsistent values between GstVideoMeta and GstVideoInfo is a bug
	  It will cause the frame to be initialized with inconsistent values that then
	  later can cause crashes or any other kind of interesting and hard to debug
	  bugs.

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

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

2014-11-27 15:28:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: make use of x offset when unpacking overlay image pixels
	  Now that it's implemented we can use it, which is a minor
	  optimisation when the image to overlay gets cropped on the
	  left.

2014-11-27 15:04:12 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: sprinkle some 'restrict' keywords in pack/unpack functions
	  In cases where we just call orc directly this is somewhat
	  superfluous, but let's do it anyway for consistency. In
	  other cases the compiler can hopefully use this to optimise
	  memory access a little.

2014-11-27 13:01:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle x offset in unpack
	  Add support for x offset in almost all unpack methods.
	  Fix naming of source and dest pixels.
	  Add const to source pixels.

2014-11-27 10:51:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: improve unpack i420
	  unpack_i420 does not need extra code to handle odd widths, the orc code
	  already handles it fine.

2014-11-27 09:45:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: use old property name
	  Unbreak ABI by changing to the old property name again.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740798

2014-11-25 13:39:07 +0100  Thibault Saunier <tsaunier@gnome.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Analyze source pad before setting to PAUSED for 'simple demuxers'
	  Before we were setting them to PAUSED and (much) later connecting to
	  their source pad caps notify signal.
	  There was a race where that demuxer was pushing a caps and later a buffer
	  on its source pad when we were not even connected to its source pad caps notify
	  signal leading to decodebin missing the information and not keeping on
	  building the pipeline on CAPS event thus the demuxer was posting an ERROR
	  (not linked) message on the bus. This need to be done for 'simple
	  demuxers' because those have one ALWAYS source pad, not like usual demuxers
	  that have several dynamic source pads.
	  A "simple demuxer" is a demuxer that has one and only one ALWAYS source
	  pad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740693

2014-11-25 16:46:50 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: Take STREAM_LOCK before sending sticky events.
	  There was a race where:
	  1) we would put the element to PAUSED
	  2) It would get data sent to it from upstream
	  3) It would thus send caps
	  3) caps_notify_cb would continue autoplugging
	  4) caps would flow downstream, the last pad would get exposed
	  5) we were still not done sending the sticky events
	  Taking the stream lock on the new element's sinkpad and only
	  releasing it when sticky events have all been sent prevents
	  the caps from reaching the source pad of the element before
	  we're all set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740694

2014-08-06 19:31:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: detect mp4 common file format variant
	  Used e.g. by UltraViolet.

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

	* ext/alsa/gstalsasrc.c:
	  alsasrc: debug message fixes
	  In the same vein as 74e9640a.

2014-11-25 17:42:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scale: combine adds when max_taps equals combine size
	  When the amount of pixels/lines matches the amount we can combine,
	  combine the adds and multiplies and do the scale as a separate
	  operation.

2014-11-25 17:25:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: combine scaling operations
	  Combine add and scale of multiple lines/pixels to reduce the amount of
	  read and writes to temporary memory.

2014-11-25 14:45:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gsttimeoverlay.c:
	* ext/pango/gsttimeoverlay.h:
	  timeoverlay: add "time-line" property
	  So we can also show running time or stream time, not just the
	  buffer time stamps.

2014-11-25 11:54:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: add property to do scaling after gamma-decode

2014-11-25 11:28:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	  videoscale: add more scaling filters
	  Adjust the filter parameters so that they use the same number of taps
	  and method as the old ones.
	  Add some new filters

2014-11-25 10:36:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: remove print

2014-11-25 10:32:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: improve variable taps
	  Improve quality of variable taps on all methods by reusing the lanczos
	  parameters where possible.

2014-11-25 09:11:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	  video-resampler: Fix lanczos parameters for variable taps
	  when using variable taps and when we are limiting the number of taps,
	  recalculate the lanczos parameters to match the clamped value.
	  Set the max number of taps to 128

2014-11-25 11:38:34 +0300  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstplaysink.c:
	  playsink: Reset mute property of the sink to playsink's value when setting up the audio chain
	  Otherwise the following can happen:
	  1. set mute=true
	  2. play media1 (Ok)
	  3. play media without audio (audiochain removed)
	  4. play media2 (audiochain created, mute=*false*)
	  https://bugzilla.gnome.org/show_bug.cgi?id=740675

2014-11-25 11:38:34 +0300  Andrei Sarakeev <sarakusha@gmail.com>

	* gst-libs/gst/pbutils/gstdiscoverer.h:
	  discoverer: fix typo in header file
	  https://bugzilla.gnome.org/show_bug.cgi?id=740675

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

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for audio/x-audible

2014-11-25 01:02:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improve 'audible' audio typefinder a little
	  Don't return NEARLY_CERTAIN just based on 4 bytes.
	  Also change media type to audio/x-audible.
	  https://bugzilla.gnome.org/show_bug.cgi?id=715050

2013-11-23 11:36:43 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: add audio/audible typefinder
	  https://bugzilla.gnome.org/show_bug.cgi?id=715050

2014-06-16 11:46:18 +0200  Branislav Katreniak <bkatreniak@nuvotechnologies.com>

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Change the log messages in xrun_recovery() from DEBUG to WARNING
	  xrun_recovery() runs when there is an error
	  https://bugzilla.gnome.org/show_bug.cgi?id=740615

2014-11-24 12:47:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep track of required temp lines
	  Make a small object to hold a pool of allocated temp lines.
	  Keep track of how many temp lines each conversion stage needs and use
	  this to allocate just enough temp lines from the temp lines object. from
	  the temp lines object.

2014-11-24 12:45:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: use err line in fastpath
	  Use the error line for temporary storage in the fastpath so that we
	  don't have to allocate any other temp lines.

2014-11-22 21:51:33 +0100  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: don't complain about PTS != DTS on keyframes
	  It is valid for streams with b-frames
	  https://bugzilla.gnome.org/show_bug.cgi?id=740556

2014-11-21 16:06:54 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: handle mixed interlaced
	  When dealing with mixed interlaced, setup a scaler and chroma-resampler
	  for both interlaced and progressive frames and switch between them
	  depending on the interlace mode of the input frame.

2014-11-21 16:04:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Cleanup options parsing
	  Cleanup option parsing
	  Add some debug

2014-11-21 15:59:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: there is no need to apply x offset to temp lines

2014-11-21 15:58:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: ensure both fields have the same number of taps

2014-11-21 11:15:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the options a little
	  Rework the options a little to make it nicer to set defaults.

2014-11-21 11:12:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	  video-resampler: add option to limits taps
	  Add an option to limit the number of taps to use in automatic mode. The
	  problem is that for lanczos, we might use more taps than what we can
	  handle with the current precision.
	  Rework the other options a little to make it nicer to set defaults.

2014-11-20 18:20:00 +0100  Wim Taymans <wtaymans@redhat.com>

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

2014-11-20 15:53:23 +0100  Edward Hervey <bilboed@bilboed.com>

	* win32/common/libgstvideo.def:
	  win32: Update defs file

2014-11-19 21:18:04 +0900  Hyunjun Ko <zzoonis@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: fix warning on param name mismatch
	  https://bugzilla.gnome.org/show_bug.cgi?id=740013

2014-11-18 00:04:59 +1100  Jan Schmidt <jan@centricular.com>

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/test-reverseplay.c:
	  tests: Add reverse playback verification test
	  Plays a requested URI forward to EOS, then backward and
	  checks that the same timestamp range(s) are covered.

2014-11-12 15:23:37 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Operate in a zero-latency mode if drop-only is set to TRUE
	  There's no reason why we would have to wait for the next buffer to decide
	  whether to output the current one or not. We just have to check if the
	  current one is earlier than our expected next time, which is the previous
	  frame timestamp plus the expected frame duration.
	  https://bugzilla.gnome.org/show_bug.cgi?id=740018

2014-11-19 14:38:03 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Use correct enum, GstVideoFormat instead of GstFormat

2014-11-19 13:25:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix size check
	  Add some debug, fix size check that decides what scaling to do first and
	  when to do conversion.

2014-11-19 12:53:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: avoid primaries conversion when asked
	  Don't do conversion between primaries when the option is disabled.
	  Only do some matrix code when needed.

2014-11-19 12:41:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: add a note about subsampled formats
	  Add a note about gst_video_info_set_format() and interlaced formats.

2014-11-19 12:05:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-info.c:
	  video-info: handle interlaced size correctly
	  Refactor GstVideoInfo init, make function to set default colorimetry.
	  Call fill_planes after we configure the GstVideoInfo with parameters
	  from the caps.
	  The size of the chroma planes for interlaced vertically subsampled
	  formats needs to be rounded up to 2, we have 2 fields with each
	  the same anount of chroma lines.

2014-11-19 12:04:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	  video-color: return FALSE on unparsable colorimetry

2014-11-19 09:40:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle unpack interlaced subsampled formats
	  For interlaced vertically subsampled formats the check for even lines
	  needs to take into account the two fields.

2014-11-19 09:39:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlaced shift

2014-11-19 09:30:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep a small backlog of lines
	  Allow lines to jump backwards slightly, usefull for interlaced content.

2014-11-19 09:28:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: Fix interlaced chroma resampling
	  Use the interlaced flag to select the right resampler.

2014-11-18 16:36:08 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	  video: add some more debuging

2014-11-18 16:35:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlacing some more
	  Use the right phase.
	  Take the right lines from interlaced content.

2014-11-18 12:53:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: fix dither method

2014-11-18 12:52:27 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: fix some leaks
	  And remove some unused fields.

2014-11-18 12:20:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add support for gamma and primaries
	  Keep only 1 structure with all matrix information.
	  Add structure to hold gamma information.
	  Add more options to control gamma, primaries and color matrix handling.
	  Add functions to compute transformations to and from XYZ and use this
	  to convert between primaries.
	  Merge gamma into the convert to and from RGB stage.
	  Fix border val.
	  Simplify the fastpath table, remove unused fields, add some more checks.

2014-11-18 11:09:40 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	  video-color: add method to get primaries info

2014-11-18 11:08:10 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-info.c:
	  video-color: fix default 601 primaries

2014-11-18 11:06:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix interlaced taps setup

2014-11-14 09:15:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst-libs/gst/video/video-info.c:
	  video-color: make sRGB colorimetry the default for RGB

2014-11-13 12:03:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: split YUV to and from RGB conversions
	  Prepare for doing full gamma corrected conversion and scaling by first
	  splitting the conversions from and to RGB into separate steps.
	  split scaling in downscaling and upscaling steps to be performed before
	  and after conversion respectively.

2014-11-13 12:02:07 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't convert too much
	  because we do conversion after downscaling we only need to convert the
	  smallest width.

2014-11-13 12:00:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add orc splat functions to draw border

2014-11-05 21:52:44 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: Fix segfault when overlay outside the frame"
	  This is not correct. overlay->silent is a property and we
	  should not just flip the property forever because one text
	  we render is outside of the frame. The next one might not
	  be, the positioning properties can be changed after all.
	  The lower layers should handle clipping, and now do.
	  This reverts commit 1cc311156cc3908d1d9888fbcda67305fc647337.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-05 21:46:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  Revert "basetextoverlay: segfault when xpos >= video size"
	  This is not right, even if it might avoid a crash. We don't
	  want to just set xpos/ypos to 0 in those cases. Clipping
	  should be done properly, see bug #739281 for that.
	  This reverts commit 900d0267d511e9553eec44d948d7e33ead7dc903.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-16 23:26:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: minor optimisation
	  Only need to run matrix on those pixels which
	  will actually be used.

2014-11-16 19:28:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/icles/Makefile.am:
	* tests/icles/test-overlay-blending.c:
	  tests: make overlay blending test slightly less boring

2014-11-16 16:34:31 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix clipping of overlay images on the left
	  Fix clipping of images that are partially left of the video
	  surface, they would get clipped on the right side instead of
	  the left side, because the video unpack functions currently
	  ignore the x offset parameter. Work around that until that
	  is implemented.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-16 16:31:45 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix allocation of temp src line for wide sources
	  Fix allocation of temporary source line buffers for source
	  images that are wider than the video overlay surface.

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

	* tests/icles/.gitignore:
	* tests/icles/Makefile.am:
	* tests/icles/test-overlay-blending.c:
	  tests: add visual overlay composition blending test
	  Shows visual result of blending a logo on top of
	  a video surface, esp. when the logo is partially
	  outside of the video surface and needs to be
	  clipped.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

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

	* tests/check/libs/video.c:
	  tests: fix leak in video unit test

2014-11-10 16:36:35 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: fix blending of rectangles partially or fully outside of the video
	  In case of overlay being completely or partially outside
	  the video frame, the offset calculations are not right,
	  which resulted in the overlay not being displayed as
	  expected, or crashes due to invalid memory access.
	  When the overlay rectangle is completely outside,
	  we need not render the overlay at all.
	  For partial display of overlay rectangles, src_yoff
	  was not being calculated, hence it was always clipping
	  the bottom half of the overlay, By calculating the
	  src_yoff, now the overlay is clipped properly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-10 12:12:42 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* tests/check/libs/video.c:
	  tests: video: add video blend test
	  Add test to check rendering of overlays of different sizes
	  that are completely or partially outside the video surface.
	  Once the overlay is blended to the video, verify if the
	  position of the blended overlay is as expected, by comparing
	  the pixels of the blended video with the expected values.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739281

2014-11-15 23:15:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update to git

2014-11-15 23:13:42 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/gio/gstgiostreamsink.c:
	* gst/gio/gstgiostreamsrc.c:
	* gst/playback/gstplaybin2.c:
	  docs: fix some gtk-doc warnings
	  Deprecated entities found in documentation for xyz:Long_description
	  .

2014-11-12 09:57:38 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: take offset into account when unpacking
	  When we can directly take the input line from the source frame when
	  unpacking, also take into account the x offset.

2014-11-12 09:57:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add some notes

2014-11-11 16:19:03 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  defs: update defs and docs

2014-11-11 16:11:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* tests/check/libs/video.c:
	  video-color: add gamma encode/decode functions
	  Add functions to encode and decode gamma.
	  Add unit test to check that encode and decode are eachothers inverse
	  and that the limits are respected.

2014-11-10 14:53:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  test: add scaling test
	  Sort pack and unpack performance measurements

2014-11-10 12:01:48 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-orc: update disted file
	  and disable one failing function

2014-10-24 17:08:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videoscale/Makefile.am:
	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/gstvideoscale.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videoscale/gstvideoscaleorc.orc:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_fill_borders.h:
	* gst/videoscale/vs_image.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	* gst/videoscale/vs_scanline.c:
	* gst/videoscale/vs_scanline.h:
	* tests/check/Makefile.am:
	  videoscale: port to new API

2014-11-10 11:40:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: use faster saturating conversions
	  saturating conversions are generally faster.

2014-11-07 15:45:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-chroma: add ORC version of UP_H2_CS
	  It is however slower than the C version and thus disabled.

2014-11-09 14:44:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for Apple Core Audio Format
	  https://bugzilla.gnome.org/show_bug.cgi?id=739840

2014-11-09 12:53:32 +0100  Peter G. Baum <peter@dr-baum.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: recognize Apple Core Audio Format
	  (CAF) Specification 1.0
	  https://bugzilla.gnome.org/show_bug.cgi?id=739840

2014-11-09 10:47:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/pipelines/capsfilter-renegotiation.c:
	  capsfilter-renegotiation: Use assertions from libcheck for more information on failures

2014-11-07 12:06:10 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* tests/check/libs/video.c:
	  video-chroma: ORCify 2x vertical upsampling
	  Make an ORC version of the 2x vertical upsampling code.
	  Improve unit tests, test chroma up and down sampling.
	  memset buffer in conversion to make valgrind happy.

2014-11-06 14:14:22 +0000  William Manley <will@williammanley.net>

	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gsttcpserversink.c:
	  tcpserversink: Don't leak a `GSocket` and a `GInetSocketAddress`
	  when accepting a connection.
	  Discovered by `make check-valgrind` with the new `socketintegrationtest`.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739544

2014-11-03 01:08:27 +0000  William Manley <will@williammanley.net>

	* tests/check/Makefile.am:
	* tests/check/pipelines/.gitignore:
	* tests/check/pipelines/tcp.c:
	  tests: Add TCP pipelines test
	  There don't seem to be any unit tests for the socket handling elements.  As
	  I am about to attempt some refactorings I've added some basic tests which
	  exercise some of the happy-paths in tcpclientsrc, tcpserversrc,
	  tcpserversink and tcpclientsink.  They should let me know if I've caused
	  serious breakage.
	  They are far from exhaustive but are sufficient for me to have caught a few
	  memory-leaks in the existing code.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739544

2014-11-06 18:18:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: add video conversion test
	  Go through all conversions and make a list of performance.

2014-11-06 18:13:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: use h-cosited chroma for HD video by default

2014-11-06 18:09:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp lines

2014-11-06 16:29:16 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video-orc: update disted files

2014-11-06 16:18:25 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: ORCify 8<->16 conversion

2014-11-06 15:30:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: unpack into the destination when needed
	  Make sure we write into the destination line when we can propose the
	  dest allocator.

2014-11-06 15:29:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add more debug

2014-11-06 15:01:27 +0100  Sebastian Dröge <sebastian@centricular.com>

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

2014-11-06 13:08:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-orc.orc:
	* tests/check/libs/video.c:
	  video-chroma: optimize chroma subsampling a little
	  Combine multiplies in 4x filters.
	  Rename conversion functions to make them nicer in orc.
	  Add ORC versions for various downsampling algorithms
	  Add unit test chroma resampler

2014-11-06 10:43:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: make pack/unpack test
	  Make a more complete pack/unpack test, check if the image after
	  pack/unpack has the same color and precision, and has correctly
	  duplicated subsampled pixels.

2014-11-06 10:42:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: get the correct number of video formats
	  Make a method to get the number of formats (including the last one).

2014-11-06 09:44:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: update some docs and add a FIXME(2.0)

2014-11-06 09:38:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add range extension to BGR_10XE format

2014-11-06 09:34:59 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix pack of 4:2:0 formats
	  When packing 4:2:0 formats, we need to take the chroma from the even
	  lines, for the odd lines we only take luminance.

2014-11-06 09:32:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix range extension of UYVP
	  We need to shift the top 6 bits to the lower 6 bits

2014-11-06 09:28:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: do h subsampling after v subsampling
	  We only need to do the horizontal subsampling on 1 line if we do it
	  after vertical subsampling and we also avoid doing vertical subsampling
	  on unused pixels.

2014-11-06 09:39:08 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/Makefile.am:
	  tests: dist header file needed for ABI checks on powerpc32
	  Fixes 'make check' on debian powerpc32 buildbot:
	  libs/libsabi.c:95:26: fatal error: struct_ppc32.h: No such file or directory

2014-11-05 04:34:44 +0900  Danny Song <danny.song.ga@gmail.com>

	* tests/check/elements/adder.c:
	  test : fix leaks in adder unit test
	  https://bugzilla.gnome.org/show_bug.cgi?id=739640

2014-11-05 11:54:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: keep separate lines with border
	  Make separate with a border around them so that we can avoid a memcpy.

2014-11-05 11:52:21 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: avoid memcpy when not needed

2014-11-05 11:51:44 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: pass output line correctly

2014-11-04 09:30:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the converter to allow more optimizations
	  Rework the converter, keep track of the conversion steps by chaining the
	  cache objects together. We can then walk the chain and decide the
	  optimal allocation pattern.
	  Remove the free function, we're not going to need this anytime soon.
	  Keep track of what output line we're constructing so that we can let the
	  allocator return a line directly into the target image when possible.
	  Directly read from the source pixels when possible.

2014-11-04 11:03:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix temp line allocation
	  We need to allocate the templine with the amount of pixels we are going
	  to handle, which we only know for the vertical resampler when we are
	  asked to resample.

2014-11-04 11:02:49 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix taps in interlaced mode

2014-11-04 11:01:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix phases in interlaced mode

2014-11-04 09:29:58 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: fix v_2tap_u16

2014-11-03 16:18:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add extra pixels for the border
	  We need extra pixels for the border.

2014-11-03 15:36:26 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add support for 16bits formats
	  Add scaler functions for 16 bits formats.
	  Rename the scaler functions so that 16bits versions don't look too
	  weird.
	  Remove old unused h_2tap functions
	  Fix v_ntap functions, it was using 1 tap too little.

2014-11-03 15:33:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: Add support for 16 bits formats
	  Rework the way we track the current state of the video through the
	  different conversion phases and use this to make sure we use the right
	  format and pstride where needed.

2014-10-22 13:37:40 +0100  William Manley <will@williammanley.net>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  docs: gst_dmabuf_allocator_alloc: Improve documentation
	  https://bugzilla.gnome.org/show_bug.cgi?id=739545

2014-11-03 10:07:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	  video-orc: comment out unused function
	  A faster version of 4tap horizontal scaling causes segfaults in ORC
	  presumably because it uses too many registers so disable it to avoid
	  crashing in the ORC tests.

2014-11-02 21:45:30 +0100  Andreas Frisch <fraxinas@opendreambox.org>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: return available factory CAPS instead of ANY on CAPS query
	  https://bugzilla.gnome.org/show_bug.cgi?id=739536

2014-11-03 08:12:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: Fix compiler warning
	  video-scaler.c:151:58: error: implicit conversion from enumeration type
	  'GstVideoScalerFlags' to different enumeration type
	  'GstVideoResamplerFlags' [-Werror,-Wenum-conversion]
	  gst_video_resampler_init (&scale->resampler, method, flags, out_size,
	  ~~~~~~~~~~~~~~~~~~~~~~~~                             ^~~~~

2014-11-01 20:08:01 +0000  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtp: Do not use deprecated gtk-doc 'Rename to' tag
	  GObject introspection GTK-Doc tag "Rename to" has been deprecated, changing to
	  rename-to annotation.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739514

2014-11-01 14:58:13 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video: fix some g-i / gtk-doc warnings

2014-11-01 14:47:26 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup functions
	  Fixes build without orc.

2014-11-01 14:28:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-blend.c:
	  video: add video blend helper functions to docs
	  I don't think those were ever meant to be made public,
	  but they are, so we might as well document them.

2014-11-01 13:14:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: ORCify vertical ntap function

2014-11-01 12:58:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: handle 4tap interlaced

2014-10-31 16:53:06 +0100  Wim Taymans <wtaymans@redhat.com>

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

2014-10-31 16:49:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add ORC optimized ntap horizontal scalers

2014-10-29 16:28:28 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/icles/playback/test.c:
	* tests/icles/playback/test2.c:
	* tests/icles/playback/test4.c:
	  tests/playback: quit from main loop
	  Listen for eos and error signal to quit main loop.
	  https://bugzilla.gnome.org/show_bug.cgi?id=739346

2014-10-29 16:26:07 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/icles/playback/test2.c:
	* tests/icles/playback/test4.c:
	  tests/playback: correct state change checking
	  Correct the test apps check if result of state change is not failure as the
	  state change can happen async
	  https://bugzilla.gnome.org/show_bug.cgi?id=739346

2014-10-31 22:52:43 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: Update disted orc files for new functions.
	  Fixes the build when building without ORC

2014-10-31 11:07:06 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: align offsets to subsampling
	  Only apply an offset that is a multiple of the subsampling. To handle
	  arbitrary offsets in the future, we need to be able to chroma-resample
	  part of the borders.

2014-10-31 10:38:15 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp output lines

2014-10-31 10:34:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: add alignment checks
	  Some of the ORC functions need specific alignment

2014-10-31 10:33:42 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix offset check

2014-10-30 18:41:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: also chroma up/downsample when scaling

2014-10-30 18:40:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: clamp input lines correctly

2014-10-30 23:53:39 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: fix build without orc
	  https://bugzilla.gnome.org/show_bug.cgi?id=739433

2014-10-30 17:30:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add border color

2014-10-30 16:57:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: add support for src/dest regions
	  Add support for cropping the source and placing the converted image
	  into a rectangle in the destination frame.
	  Add an option to add a border and border color.

2014-06-10 09:33:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	* ext/opus/gstopusenc.h:
	  opusenc: update output segment stop time to match clipped samples
	  This will let oggmux generate a granpos on the last page that properly
	  represents the clipped samples at the end of the stream.

2014-06-05 14:50:15 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: push an updated segment stop time when we know it
	  When encoding, libvorbis will tell us how many samples are encoded
	  in the buffer it returns. This number may be less than the maximum
	  of samples in the block, if this is the last packet. In we have no
	  segment end time, we set it to the end time of that last sample to
	  tell downstream that the buffer contains less samples.

2014-06-05 14:54:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: set correct granpos on last page when samples are clipped
	  Samples may be clipped at the end, and this is conveyed by a
	  granulepos that's smaller than it would otherwise be. Use the
	  segment stop time to detect this, and calculate the right
	  granulepos.

2014-06-05 11:26:08 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: fix last buffer timestamp when samples are clipped
	  The end of a stream can be clipped by setting the granulepos of
	  the last page to a lower value that it otherwise would be.

2014-10-30 14:48:45 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/video.c:
	  tests: fix test

2014-10-03 12:42:46 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tools/gst-discoverer.c:
	  gst-discoverer: error out on failure to copy
	  This should not really fail, but let's check return value
	  anyway as it guards against future changes.
	  Coverity 1135731

2014-10-03 12:28:30 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: add a const where appropriate

2014-10-03 12:08:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: remove unneeded test
	  We've already bailed out if we have less than 5 bytes.
	  Coverity 1226441

2014-10-30 11:33:17 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  Update libgstvideo.def for resampler -> video_resample renaming

2014-10-30 11:46:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add more ORC functions
	  Add the old ORC functions for nearest and linear. Label them as Low
	  quality because they are not as accurate but ORC lacks opcodes to
	  express this for now.

2014-10-30 11:43:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-resampler.c:
	* gst-libs/gst/video/video-resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: rename resampler to video-resampler
	  Prefix the resampler with video-. It we would like to reuse the
	  resampler for audio later, we can copy/move it and deprecate this
	  one.

2014-10-29 17:38:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	  video-scaler: remove color range argument
	  We just need to clip to the format limits, if there is extra headroom in
	  the range we can use that without problems.

2014-10-29 17:14:51 +0100  Wim Taymans <wtaymans@redhat.com>

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

2014-10-29 16:20:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add ORC optimized versions
	  Add ORC optimized versions of 2 and 4tap vertical scaling. Provide
	  a high quality 12 bits and a low quality 6 bits version.

2014-10-29 16:13:02 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-scaler.c:
	  video-scaler: add precision to make_s16_taps

2014-10-29 13:19:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: copy config fields
	  When setting a new config, copy all the fields into our own config and
	  not only the ones we know about.

2014-10-29 13:17:39 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	* gst-libs/gst/video/video-scaler.c:
	  resampler: make offset/phase/n_taps uint32
	  Make various resizer fields uint32 so that we can use them in ORC
	  functions later.

2014-10-27 11:59:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: don't convert too much
	  Always convert the smallest width.

2014-10-27 10:13:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/video-scaler.c:
	* tests/check/libs/video.c:
	  resampler: make shift easier to use

2014-10-26 05:58:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	* gst-libs/gst/video/video-converter.c:
	  resampler: add parameters to cubic filter
	  Improve cubic filter and add parameters. Switch to mitchell filter
	  by default.

2014-10-24 16:51:37 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* tests/check/libs/video.c:
	  video-scaler: add extra options

2014-10-24 16:42:11 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	  video-converter: define some options

2014-10-24 16:23:53 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	  resampler: add some options

2014-10-24 15:42:31 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/resampler.c:
	  resampler: limit max number of taps
	  Don't use more taps than the input size.

2014-10-24 15:28:22 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: add scaling support
	  Add scaling support for the video-converter object

2014-10-24 15:25:33 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-scaler.c:
	* gst-libs/gst/video/video-scaler.h:
	* gst-libs/gst/video/video.h:
	* tests/check/libs/video.c:
	  video-scaler: add video scaler helper object
	  Add a video scaler object build on top of the resampler. It has
	  implementation to deal with interlaced video as well as horizontal and
	  vertical scaling functions.

2014-10-24 13:01:12 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/resampler.c:
	* gst-libs/gst/video/resampler.h:
	  video: add generic resampler
	  Add an object that can generate a set of resample filter coefficients.

2014-10-24 12:11:43 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	  video-converter: rework the generic converter function
	  Use a LineCache object to track and process lines between unpack,
	  upsample, convert, downsample and pack stages. This simplifies the
	  main core processing function a lot and allows for future additions
	  easily.
	  Add support for interlaced formats in chroma up and downsampling.

2014-10-24 11:45:13 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst/videoconvert/gstvideoconvert.c:
	  video-convert: swap src and dest
	  It is more natural and consistent with other uses.

2014-10-24 11:35:31 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: fix typo

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

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

2014-10-23 14:41:13 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  video-blend: segfault when xpos >= video size
	  When the xpos is given as greater than or equal to the video size,
	  we get a segfault, due to improper condition.
	  Hence adding proper conditions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984

2014-10-23 14:38:07 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: segfault when xpos >= video size
	  When the xpos is given as greater than or equal to the video size,
	  we get a segfault, due to improper condition.
	  Hence adding proper conditions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738984

2014-10-26 21:31:36 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/app/.gitignore:
	  examples: add new appsink example to .gitignore

2014-10-26 11:04:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: fix the autoplugging of parser elements"
	  This reverts commit 2b0d3927410ae24e6b0fce100bd4ebbbe805a66f.
	  This breaks cases where an actual second parser is required after the parser,
	  e.g. to do timestamp corrections.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-26 11:04:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin: Fix locking"
	  This reverts commit aa94d5dc9aa6ef381da6b60a67f218117c662958.

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

	* tests/check/elements/playbin-complex.c:
	  tests: fix playbin-complex test on big endian

2014-10-24 13:04:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/struct_ppc32.h:
	  tests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32
	  Also see https://bugzilla.gnome.org/show_bug.cgi?id=695276

2014-10-24 12:26:40 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/adder.c:
	  tests: fix adder check on big-endian

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

	* android/rtsp.mk:
	* gst-libs/gst/rtsp/.gitignore:
	* gst-libs/gst/rtsp/Makefile.am:
	* gst-libs/gst/rtsp/gstrtsp-marshal.list:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	  rtsp: use generic marshaller

2014-10-23 11:22:35 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Make GstBaseTextOverlay::font-desc readable

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

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

2014-10-21 13:30:27 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix locking
	  The chain mutex needs to be locked when looking at chain->elements. Move code
	  around a bit to require only one lock() and unlock().

2014-10-21 12:58:41 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: fix the autoplugging of parser elements
	  If there are two parser elements available for the same media format,
	  then decodebin is autoplugging an extra capsfilter and parser irrespective
	  of caps and rank. So restrict the decodebin from autoplugging multiple parser
	  elements back to back in adjacent positions with in a single DecodeChain
	  for the same media format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

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

	* README:
	* common:
	  Automatic update of common submodule
	  From 6e75498 to a8c8939

2014-10-21 14:43:30 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: assertion error
	  timestamp_offset is being declared as an int64 variable,
	  for which the min
	  value of G_MININT64 is -9223372036854775808
	  Changing the minimum and maximum limit for the offset variable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738568

2014-10-13 00:03:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: optimize the code a bit by avoiding unnecessary string comparisons
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-13 00:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Fix typo in comment
	  https://bugzilla.gnome.org/show_bug.cgi?id=738416

2014-10-01 15:04:09 -0700  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: call watch notify before freeing any watch resources
	  This gives control to the notify function allowing it to finish other
	  watch related functionality.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737752

2014-10-20 15:31:29 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.c:
	  appsink: Fix gst_app_sink_pull() docs to transfer full for the return value
	  Also we get a GstSample, not a GstBuffer here.

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: use gslice for typefine data
	  Also use our free function in the failure case.

2014-10-13 15:58:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/encoding/gstencodebin.c:
	  encodebin: fix some leaks in error code path
	  Fixes test_encodebin_sink_pads_nopreset_static
	  running under valgrind.

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

	* Makefile.am:
	* common:
	  tests: parallelise 'make valgrind'
	  Use $(MAKE) instead of 'make' inside the Makefile,
	  otherwise the make will run as if -j1 had been
	  specified and complain about the job server not
	  being available, and with $(MAKE) in inherits the
	  parent make's settings it seems.
	  Upgrade common submodule for parallel check-valgrind.

2014-10-03 12:57:52 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: allow more channel_masks
	  Allow partial valid channel masks.
	  Set channel mask to 0 for non-valid channel masks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733405

2014-10-03 12:54:17 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/audio/audio-channels.c:
	  audio-channels: allow partially valid channel_mask
	  Since WAVEFORMATEXTENSIBLE allows to have more channels than
	  bits in the channel mask we should allow this, too, to avoid
	  loss of information.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733405

2014-10-13 22:24:31 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: should post DECODE errors and not ENCODE
	  Fix error code for audio decoder

2014-10-10 18:49:29 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst-libs/gst/video/video-blend.c:
	  videoblend: Avoid assigning a negative value to a guint
	  There are some few but certain conditions where it is possible for the
	  dest_width to be smaller than x. So we check this before assigning a negative
	  value to src_width, which is a unsigned and would be promoted to a number that
	  can segfault videoblend.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738242

2014-10-10 10:05:19 +0530  Luis de Bethencourt <luis.bg@samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Fix segfault when overlay outside the frame
	  When the textoverlay is set outside the video frame by deltax or deltay the
	  calculation segfaults, but it is also  unnecessary since it doesn't need to be
	  displayed. So we should clip the text.
	  https://bugzilla.gnome.org/show_bug.cgi?id=738242

2014-10-10 17:32:41 -0400  Olivier Crête <olivier.crete@ocrete.ca>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: Rename clock-base/seqnum-base to timestamp-offset/seqnum-offset
	  To match how they were renamed elsewhere.

2014-10-10 12:14:17 +0300  Heinrich Fink <hfink@toolsonair.com>

	* gst/playback/gstplaysink.c:
	  playsink: Use correct property enum value for video-filter property installation

2014-10-08 16:50:52 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: remove FIXME about NV21 support
	  NV21 is already supported so removing FIXME about adding support for it.

2014-10-08 11:26:24 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: add gradient pattern
	  Makes a gradient between background and foreground color.

2014-10-06 15:17:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: improve 4x downsampling coefficients

2014-10-06 22:13:00 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst/audioresample/gstaudioresample.h:
	  audioresample: remove unused variables
	  https://bugzilla.gnome.org/show_bug.cgi?id=738026

2014-10-07 05:50:56 +0900  Danny Song <danny.song.ga@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: Remove leftover #define from 0.10
	  https://bugzilla.gnome.org/show_bug.cgi?id=738018

2014-10-07 12:10:42 +0400  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only emit the drain signal for the main decode chain, not any subchains
	  https://bugzilla.gnome.org/show_bug.cgi?id=738064

2014-10-06 10:15:13 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Free factories array when delaying autoplugging due to non-final caps

2014-10-06 10:11:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-converter.c:
	  videoconverter: Free the converter config in free()

2014-10-02 21:20:48 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* gst/playback/gstdecodebin2.c:
	  decodebin: unref decode pad after usage
	  https://bugzilla.gnome.org/show_bug.cgi?id=737757

2014-10-04 23:09:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Stop storing if we received EOS
	  This was never reset when going from PAUSED->READY and resulted
	  in encoders being not reusable after EOS. They just rejected any
	  buffer because they received EOS in their previous life.
	  The flag wasn't used anywhere except for rejecting buffers after
	  EOS, and this is now handled by GstPad directly.

2014-10-02 00:14:03 +0200  Aurélien Zanelli <aurelien.zanelli@darkosphere.fr>

	* ext/vorbis/gstvorbisdeclib.c:
	  vorbisdec: don't reorder streams with channels count greater than eight
	  vorbis_reorder_map is defined for eight channels max. If we have more
	  than eight channels, it's the application which shall define the order.
	  Since we set audio position to none, we just interleave all the channels
	  without any particular reordering.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737742

2014-03-04 16:51:11 +0200  Andres Gomez <agomez@igalia.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Removed setting "iradio-mode" property in the source element
	  The "iradio-mode" property used to have a default FALSE value in HTTP
	  source elements but now it should default to TRUE or just do not exist
	  as a property so it is not really needed to set it any more in
	  uridecodebin.
	  Apart from that this code could've never worked as uridecodebin looks for a
	  string-typed iradio-mode property, but it's a boolean in all sources.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725383

2014-10-02 02:46:58 +1000  Jan Schmidt <jan@centricular.com>

	* docs/design/part-stereo-multiview-video.markdown:
	  design: Add a proposal for handling stereoscopic 3D and multiview

2014-10-01 11:16:30 +0200  Aurélien Zanelli <aurelien.zanelli@parrot.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: release frame in finish_frame when no output state is configured
	  Otherwise, frame is leaked.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737706

2014-09-25 17:32:32 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-libs/gst/video/video-orc.orc:
	  video-converter: add orc optimized matrix8 function
	  Add an ORC implementation of the matrix8 function.
	  Regenerate video-orc-dist.[ch]

2014-09-29 19:45:22 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audio: Fix up a comment in GstAudioBaseSink
	  Rewrote the comment to not be PulseAudio-specific.

2014-09-27 20:05:38 +0200  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/video/Makefile.am:
	  video: Make sure to link against libm

2014-09-27 15:58:51 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimagepool.c:
	* sys/xvimage/xvimagepool.h:
	  xvimagesink: get rid of unnecessary private struct for pool

2014-09-27 15:53:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/ximage/ximagepool.c:
	* sys/ximage/ximagepool.h:
	  ximagesink: get rid of unnecessary private struct for pool
	  This is not exposed as API after all.

2014-09-24 20:38:31 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: Trivial comment for unhandled MPEG-2 payloading case
	  The spec mentions a version of the MPEG-2 frame with a base frame and
	  extension frame. I don't have IEC 13818-3 to figure out what that is,
	  and don't see any references in search results, so it's a FIXME for now.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-24 20:11:49 +0530  Arun Raghavan <arun@accosted.net>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: Fixes for MPEG-2 LSF IEC61937 payloading
	  The low sample frequency case for MPEG-2 is <=12kHz (the 32kHz number
	  applies to MPEG-1).
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-17 17:40:04 +0530  Anuj Jaiswal <anuj.jaiswal@samsung.com>

	* gst-libs/gst/audio/gstaudioiec61937.c:
	  audio: correct condition for MPEG case.
	  Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=736797

2014-09-26 18:14:11 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-orc.orc:
	  video: improve YUV -> RGB conversion
	  Reorganize orc instructions to free up some registers.
	  We can reuse the ORC code to implement the generic AYUV->ARGB matrix.

2014-09-26 16:35:51 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/videotestsrc/gstvideotestsrcorc.orc:
	  videotestsrc: storel is better then copyl
	  It is better to use storel to splat the variable into the destination.
	  ORC doesn't know when a variable is last written to so it can't yet optimize
	  away the copy operation.

2014-09-26 15:00:12 +0100  Luis de Bethencourt <luis.bg@samsung.com>

	* gst/videoscale/vs_lanczos.c:
	  videoscale: avoid recalculating values
	  Avoid recalculating values used multiple times as base of index. Plus some style
	  fixes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=737400

2014-09-26 09:14:51 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_image.h:
	* gst/videoscale/vs_lanczos.c:
	  videoscale: support lanczos method for NV formats
	  Support lanczos scaling method for NV12 and NV21 formats.
	  Scale the 'Y' plane and scale 'NV' plane.
	  Implementation for submethods - int16, int32, float and double
	  https://bugzilla.gnome.org/show_bug.cgi?id=737400

2014-09-25 15:19:21 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup files

2014-09-24 16:19:30 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-converter.c:
	* gst-libs/gst/video/video-converter.h:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* win32/common/libgstvideo.def:
	  video: convertor -> converter

2014-09-24 15:49:42 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-convertor.c:
	* gst-libs/gst/video/video-convertor.h:
	* gst-libs/gst/video/video-orc.orc:
	* gst-libs/gst/video/video.h:
	* gst/videoconvert/Makefile.am:
	* gst/videoconvert/gstcms.c:
	* gst/videoconvert/gstcms.h:
	* gst/videoconvert/gstvideoconvert.c:
	* gst/videoconvert/gstvideoconvert.h:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.h:
	* tests/check/Makefile.am:
	* win32/common/libgstvideo.def:
	  video: move videoconvert code to video library
	  Move the conversion code used in videoconvert to the video library
	  and expose a simple but generic API to do arbitrary conversion. It can
	  currently do colorspace conversion but the plan is to add videoscale to
	  it as well.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=732415

2014-09-24 11:04:15 +0200  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video-color.c:
	* gst-libs/gst/video/video-color.h:
	* gst/videoconvert/videoconvert.c:
	* win32/common/libgstvideo.def:
	  video-color: add gst_video_color_matrix_get_Kr_Kb()
	  Move the function to get the color matrix coefficients from
	  videoconvert to the video library.

2014-09-23 14:14:36 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst-libs/gst/audio/gstaudiosink.c:
	  audiosink: compensate for segment restart with clock's time_offset
	  When playing chained data the audio ringbuffer is released and
	  then acquired again. This makes it reset the segbase/segdone
	  variables, but the next sample will be scheduled to play in
	  the next position (right after the sample from the previous media)
	  and, as the segdone is at 0, the audiosink will wait the duration
	  of this previous media before it can write and play the new data.
	  What happens is this:
	  pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0
	  it will have to wait the length of 698 samples before being able to write.
	  In a regular sample playback it looks like:
	  pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0
	  In this case it will write to the next available position and it
	  doesn't need to wait or fill with silence.
	  This solution is borrowed from pulsesink that resets the clock to
	  start again from 0, which makes it reset the time_offset to the time
	  of the last played sample. This is used to correct the place of
	  writing in the ringbuffer to the new start (0 again)
	  https://bugzilla.gnome.org/show_bug.cgi?id=737055

2014-09-21 13:16:43 +0200  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/video/gstvideopool.c:
	  videopool: add missing annotation for gst_video_buffer_pool_new()
	  https://bugzilla.gnome.org/show_bug.cgi?id=737072

2014-09-23 23:12:19 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoscale/vs_4tap.c:
	  videoscale Use stride instead of width in more places

2014-09-19 12:31:49 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/vs_4tap.c:
	  videoscale: Use width instead of stride in buffer offset calculation
	  https://bugzilla.gnome.org/show_bug.cgi?id=736944

2014-09-23 11:56:33 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: reshuffle code in error handling
	  Move the assert to the error handling block at the end of the function so the
	  the logging is still triggered. Reword the logging slightly and add another
	  comment to hint what went wrong.
	  Fixes #737138

2014-09-22 20:15:13 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: log the timestamps if we are unhappy about them
	  When complaining about the DTS!=PTS on keyframes log the actualy timestamps.

2014-09-22 10:42:47 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/check/Makefile.am:
	  tests: add orc test for videoconvert

2014-09-22 10:40:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Fix format string compiler warning
	  gst-play.c:92:28: error: format string is not a string literal
	  [-Werror,-Wformat-nonliteral]
	  len = g_vasprintf (&str, format, args);
	  ^~~~~~

2014-09-19 14:58:20 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/examples/overlay/gtk-videooverlay.c:
	  example/overlay: Specify minimum gdk version
	  Avoids deprecation warnings (such as for gtk_widget_set_double_buffered()
	  which became deprecated from 3.14)

2014-09-19 18:29:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  gst-play: add --quiet option to suppress output

2014-09-05 13:49:46 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Do not fail the negotiation if query fails
	  The allocation query failure doesn't mean that the negotiation
	  has failed as the element can allocate buffers itself.
	  Instead, only fail if the pads are flushing and the allocation
	  query failed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735844

2014-09-18 15:45:43 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	* gst/videoscale/vs_4tap.c:
	* gst/videoscale/vs_4tap.h:
	  videoscale: Added NV support for 4Tap resize
	  https://bugzilla.gnome.org/show_bug.cgi?id=736845

2014-09-18 12:29:37 +0400  Andrei Sarakeev <sarakusha@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't leak input-selector sinkpads
	  https://bugzilla.gnome.org/show_bug.cgi?id=736861

2014-09-18 12:39:48 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Simplify code a bit

2014-09-17 14:34:25 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:18:49 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:11:21 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 14:08:17 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: do not leak events when flushing them
	  https://bugzilla.gnome.org/show_bug.cgi?id=736796

2014-09-17 12:17:27 +0200  Ognyan Tonchev <ognyan@axis.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder: extend flush_events test to check for event leaks
	  https://bugzilla.gnome.org/show_bug.cgi?id=736788

2014-09-17 12:17:53 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't leak events
	  https://bugzilla.gnome.org/show_bug.cgi?id=736788

2014-09-16 13:32:52 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: do not leak uid after parsing TOC select event
	  https://bugzilla.gnome.org/show_bug.cgi?id=736739

2014-09-17 10:51:59 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: correct the condition for irap flag
	  https://bugzilla.gnome.org/show_bug.cgi?id=736779

2014-09-16 21:42:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Add audio/videoconvert in front of the audio/video-filters
	  audioresample and videoscale is something the application will have to do if
	  required, but we can at least help here by adding the
	  audioconvert/videoconvert elements.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735748

2014-09-16 01:07:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: Don't ref buffers twice when mapping

2014-09-16 00:41:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsink.h:
	* gst-libs/gst/app/gstappsrc.h:
	  app: Add FIXME comment for making the instance/class structs private

2014-09-15 21:51:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/app/gstappsrc.h:
	  appsrc: fix recent ABI breakage caused by GstAppSrc structure size increase
	  Also fixes 'make check'.
	  https://bugzilla.gnome.org/show_bug.cgi?id=728379

2014-09-15 16:23:57 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not leak pool and allocator in error case
	  https://bugzilla.gnome.org/show_bug.cgi?id=736679

2014-09-12 14:41:01 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-12 14:39:16 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-frame.h:
	  video-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
	  This makes sure that the buffer is not reffed another time when
	  storing it in the GstVideoFrame, keeping it writable if it was
	  writable.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-12 14:27:44 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: Unref buffers before calling the transform_frame functions
	  GstVideoFrame has another reference, so the buffer looks unwriteable,
	  meaning that we can't attach any metas or anything to it
	  https://bugzilla.gnome.org/show_bug.cgi?id=736118

2014-09-05 09:54:10 -0700  Garg <aksg86@gmail.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: Fix deadlock caused by holding object lock while calling clock functions
	  Issue:
	  During a PAUSED->PLAYING transition when we are rendering an audio buffer in AudioBaseSink
	  we make adjustments to the sink's provided clock i.e. fix clock calibration using the external
	  pipeline clock, within "gst_audio_base_sink_sync_latency function inside gstaudiobasesink.c".
	  For the calibration adjustment we need to get the sink clock time using "gst_audio_clock_get_time".
	  But before calling "gst_audio_clock_get_time" we acquire the Object Lock on the Sink. If sink is
	  a pulsesink, "gst_audio_clock_get_time" internally calls "gst_pulsesink_get_time" which needs to
	  acquire Pulse Audio Main Loop Lock before querying Pulse Audio for its stream time using
	  "pa_stream_get_time". Please see "gst_pulsesink_get_time in pulsesink.c".
	  So the situation here is we have acquired the Object lock on Sink and need PA Main Loop Lock.
	  Now Pulse Audio Main Thread itself might be in the process of posting a stream status
	  message after Paused to Playing transition which in turn acquires the PA Main loop lock and
	  needs the Object Lock on Pulse Sink. This causes a deadlock with the earlier render thread.
	  Fix:
	  Do not acquire the object Lock on Sink before querying the time on PulseSink clock. This is
	  similar to the way we have used get_time at other places in the code. Acquire it after the
	  get_time call. This way PA Main loop will be able to post its stream status message by
	  acquiring the Sink Object lock and will eventually release its Main Loop lock needed for
	  gst_pulsesink_get_time to continue.
	  https://bugzilla.gnome.org/show_bug.cgi?id=736071

2014-09-04 11:56:50 +0200  Nicola Murino <nicola.murino@gmail.com>

	* tests/examples/app/Makefile.am:
	* tests/examples/app/appsink-src2.c:
	  appsrc: Add example that shows gst_app_src_push_sample() usage

2014-09-05 11:14:51 +0200  Nicola Murino <nicola.murino@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	* win32/common/libgstapp.def:
	  appsrc: Add push_sample() convenience function for easy appsink -> appsrc use
	  https://bugzilla.gnome.org/show_bug.cgi?id=728379

2014-09-11 22:19:05 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvcontext.c:
	* sys/xvimage/xvcontext.h:
	  xvimagesink: only try to set XV_ITURBT_709 port attribute if it exists
	  Don't try to set port attribute that's not advertised by the
	  adaptor. Fixes videotestsrc ! xvimagesink aborting with
	  X Error of failed request:  BadMatch (invalid parameter attributes)
	  Major opcode of failed request:  151 (XVideo)
	  Minor opcode of failed request:  13 ()
	  on intel HD4600 graphics with kernel 3.16, xserver 1.15,
	  intel driver 2.21.15.

2014-09-11 16:58:35 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: protect buffering message handling
	  Use the object lock to avoid concurrent processing which leads
	  to small disasters (assertions or crashes)

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

	* ext/opus/gstopusdec.c:
	  Fix up one-element lists in template caps

2014-09-09 11:37:26 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: ignore timeout in session request header
	  The timeout parameter is only allowed in a session response header
	  but some clients, like Honeywell VMS applications, send it as part
	  of the session request header. Ignore everything from the semicolon
	  to the end of the line when parsing session id.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736267

2014-03-28 13:02:54 +0100  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin: filter out buffering messages when switching uri
	  When switching URI from about-to-finish, playbin starts decoding the new
	  URI and the queue2 inside uridecodebin starts emitting buffering messages
	  immediately. However, the queue(s) inside playsink still have buffers to
	  play and the pipeline doesn't need to pause for buffering, so we should
	  not send those buffering messages up to the application, otherwise there
	  is an audible glitch caused by pausing the pipeline for a very short time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727255

2014-07-08 12:37:41 -0400  Kipp Cannon <kipp.cannon@ligo.org>

	* gst/audioresample/resample.c:
	  audioresample: don't skip input samples
	  when downsampling, the output buffer can be filled before all the input
	  samples are consumed.  this is correct:  when downsampling, several input
	  samples are needed for each output sample, so when only a small number of
	  input samples are available the number of output samples produced can be 0.
	  the resampler, however, was discarding those extra input samples instead of
	  clocking them into its filter history for the next iteration.  this patch
	  fixes this by removing the check that the output buffer is full.  the code
	  now always loops until all input samples are consumed, and relies on the
	  calling code to have provided a suitably sized location for the output.
	  note that there are already other checks in place in the calling code to
	  ensure that this is the case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732908

2013-01-31 13:49:00 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: get framerate from previously parsed video info

2013-01-31 13:47:35 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: do not ask for a bufferpool when checking for composition meta

2014-09-04 15:06:31 +0200  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: schedule reconfigure on source pad when negotiation fails
	  The source pad might be flushing while negotiating, resulting in
	  set_caps or the ALLOCATION query failing. In this case set the
	  reconfigure flag on the source pad so that negotiation is retried on the
	  next buffer.

2013-01-31 15:38:18 +0100  Arnaud Vrac <avrac@freebox.fr>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: just forward the seek event to sink pads like other events
	  https://bugzilla.gnome.org/show_bug.cgi?id=735844

2014-09-04 12:13:45 +0200  Nicola Murino <nicola.murino@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: remove unneeded cairo transparence setting
	  he code here:
	  http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1554
	  should make transparent the box that contains the text, I think this code is
	  not correct, it should be:
	  if (overlay->want_shading) {
	  double alpha = overlay->shading_value / 255.0;
	  cairo_paint_with_alpha (cr, alpha);
	  }
	  however I think this code could be removed, we already do a shaded background,
	  why shade the box behind the text with cairo too? only one shading is needed so
	  we must shade with cairo or with methods like these:
	  http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/pango/gstbasetextoverlay.c#n1642
	  not both
	  https://bugzilla.gnome.org/show_bug.cgi?id=736028

2014-09-02 13:10:34 +0200  Nicola Murino <nicola.murino@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: Make shading_value a property
	  https://bugzilla.gnome.org/show_bug.cgi?id=735879

2014-09-03 15:23:26 +0530  Vineeth T M <vineeth.tm@samsung.com>

	* gst/videorate/gstvideorate.c:
	  videorate: GstStructure refcount critical message
	  s3 is not being initialized when run in a loop
	  and the same was being freed, which resulted in the crash
	  https://bugzilla.gnome.org/show_bug.cgi?id=735952

2014-09-02 15:37:38 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also include the raw caps in the error message, not just the human readable description

2014-09-02 12:59:18 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Include codec description for missing plugins in the error message
	  If we had plugins and an error occurred we only include the error message
	  caused by this, otherwise we will include the codec description as generated
	  from the caps.
	  This allows to detect which exact codec was missing instead of getting a
	  generic "no suitable decoders found" error message.

2014-09-01 15:23:27 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* tests/check/elements/textoverlay.c:
	  tests: textoverlay: add test to reproduce fakesink scenario
	  Adds a new test to textoverlay to make sure it can properly handle
	  elements that have ANY caps but fail to add the overlay meta in
	  the allocation query.
	  This test verifies that textoverlay won't use the caps features even
	  knowing that the overlay meta is accepted when querying the downstream
	  caps because it also needs downstream to confirm by putting the meta
	  in the allocation query.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735800

2014-09-01 12:38:02 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: properly fallback to non-overlay caps
	  When downstream claims to accept the overlay meta but fails to
	  provide it in the allocation query, properly fallback to setting
	  a new caps without the overlay meta as that is not going to be used.
	  Only do this if the original caps doesn't have the overlay already,
	  otherwise there isn't much that can be done.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735800

2014-09-01 15:06:51 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: don't set segment.base in pad_submit_packet()
	  Setting segment.base in the segment sent from gst_ogg_demux_handle_page() is
	  enough to ensure that chained oggs are played corretly (see bgo#706569).
	  Tweaking the base in gst_ogg_pad_submit_packet() as well result in delays when
	  playing a file with start != -1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735808

2014-09-01 12:28:24 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: Don't hold any mutexes while calling negotiate
	  It's not done in any other code calling negotiate and will cause deadlocks
	  as it is sending events and queries in the pipeline.
	  Specifically this pipeline was deadlocking:
	  gst-launch-1.0 videotestsrc ! textoverlay ! textoverlay ! fakesink

2014-08-29 14:00:06 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: accumulate base time
	  Base time should be accumulated so non flushing seeks have the expected base.
	  Not accumulating result in segments appearing as "too late" and so are not
	  played by the sink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735509

2014-08-29 19:15:56 +0100  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: remove code that can't be reached
	  If this code could ever be reached, it would leak
	  memory (CID 1231978), but gst_caps_get_features()
	  never returns NULL, so that can't happen.

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

	* gst/encoding/gstencodebin.c:
	  encoding: remove assignment that's no longer needed
	  CID 1231980

2014-07-23 21:25:24 +0200  Peter G. Baum <peter@dr-baum.net>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	  riff: Recognize RF64 as RIFF file
	  https://bugzilla.gnome.org/show_bug.cgi?id=735631

2014-08-27 13:45:57 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Protect readsrc, writesrc and controllsrc with a mutex
	  Fixes a crash when controlsrc, readsrc or writesrc are modified from
	  gst_rtsp_source_dispatch_read/write and gst_rtsp_watch_reset at the
	  same time.
	  https://bugzilla.gnome.org/show_bug.cgi?id=735569

2014-08-28 17:13:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: setcaps() always returns TRUE and the return value is unused
	  Change it to a void return value. The caps are forwarded afterwards via
	  gst_pad_event_default() and not inside this function.
	  CID 1226477

2014-08-28 17:06:22 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix broken boolean expression
	  We can seek with end_type==NONE and end_type==SET && end_position=-1. The
	  check for end_type!=NONE made the second condition impossible.
	  CID 1226440

2014-08-28 17:00:26 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix broken boolean expression
	  We can seek with end_type==NONE and end_type==SET && end_position=-1. The
	  check for end_type!=NONE made the second condition impossible.
	  CID 1226439

2014-08-25 20:59:40 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Include information from the error messages of tried but failed elements in the missing plugin errors

2014-08-25 16:22:46 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Initialize local variables for every retry

2014-08-25 15:15:06 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove error case that resulted in two error messages
	  We already send one in gst_decode_bin_expose() for this case. Only
	  if we're unable to typefind the caps another error message is needed.

2014-08-24 22:36:59 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: tighten checks for 'freeform mp3' a little
	  Freeform mp3s typically have bitrates higher than the
	  otherwise max allowed rate. Prevents misdetection of
	  some truetype font files as mp3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732923

2014-08-25 13:14:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't ignore ::start/stop return values

2014-08-18 13:04:31 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-plugins-base.spec.in:
	  spec: add gst-device-monitor-1.0 to RPM .spec file
	  https://bugzilla.gnome.org/show_bug.cgi?id=734944

2014-08-14 16:57:01 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: only intersect with the filter at the end
	  Otherwise we might change some capsfeatures from ANY to the specific
	  value from the filter and do not filter those out in case the
	  sink doesn't support them
	  https://bugzilla.gnome.org/show_bug.cgi?id=734822

2014-08-15 13:31:53 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Set 'processing = FALSE' when done discovering SYNC
	  This avoids a race where we would get new tag but we are already
	  prerolled and analyzing results.
	  It is the way it is supposed to be handled as stated in comment:
	  "If preroll is complete, drop these tags - the collected information is
	  possibly already being processed and adding more tags would be racy"

2014-08-14 17:21:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* win32/common/libgstvideo.def:
	  gstvideo: add missing entry to win32 .def
	  gst_video_guess_framerate

2014-08-14 23:53:16 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/video.c:
	* gst-libs/gst/video/video.h:
	  video: Add gst_video_guess_framerate() function
	  Takes a nominal frame duration and returns a standard
	  FPS if it matches closely enough (< 0.1%), or else
	  calculates a framerate that'll do.

2014-08-15 01:04:45 +1000  Jan Schmidt <jan@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-frame.h:
	* gst-libs/gst/video/video-overlay-composition.c:
	  video: Various simple docs fixes

2014-08-08 20:01:20 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Reset last_timestamp_out on new segment
	  Reset last_timestamp_out when applying the output segment
	  change, to avoid decoder confusion over new timestamp timelines when
	  a seamless segment change happens.
	  Move some locks/unlocks to later when they're actually needed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734617

2014-07-14 12:29:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: handle group switching for deadend group
	  Gracefully handle switching groups that all pads are deadend.
	  This can happen when quickly switching programs on mpegts as the
	  output is unaligned it can happen that not enough data was accumulated at
	  parsers to generate any buffers, causing the stream to receive EOS before
	  any data can be decoded.
	  To handle this scenario, the _expose function now also gets if there is
	  any next group to be exposed along with the list of endpads. If there are
	  no endpads and there is another group to expose it will switch to this next
	  group and then retry exposing the streams.
	  Also, the requirement to only switch from the chain that has the endpad had
	  to be modified to care for when the drainpad is NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=733169

2014-07-11 18:51:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: consider all deadend pads as drained
	  Otherwise when switching out a group with a deadend pad it will block
	  as it would be waiting for EOS on a deadend that already got one
	  https://bugzilla.gnome.org/show_bug.cgi?id=733169

2014-08-12 13:41:04 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: fix caps negotiation filter

2014-08-13 14:28:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Make sure to intersect raw caps with our converter caps
	  Otherwise we end up allowing video/x-raw with arbitrary caps features that are
	  not handled by our converters.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734683

2014-08-12 23:18:57 +1000  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't drain and flush on SEGMENT events.
	  As was done for the base video decoder in commit 695675, don't
	  flush out the decoder on a new SEGMENT event. Segment events
	  may be a new segment, but are also often segment updates for
	  the current segment where the old data should be kept. For new
	  segments, a STREAM_START event will already trigger a drain, but
	  make sure to flush any remaining partial data then as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734666

2014-08-11 10:15:14 +0530  Sanjay NM <sanjay.nm@samsung.com>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: Add NV21 support
	  https://bugzilla.gnome.org/show_bug.cgi?id=734650

2014-08-11 18:21:26 +0200  Matthieu Crapet <mcrapet@gmail.com>

	* tests/icles/playback/decodetest.c:
	* tests/icles/playback/test.c:
	* tests/icles/playback/test5.c:
	  tests: fix decodebin signal used in icles/playback/ decodetest, test and test5
	  Since release 1.1.4, "new-decoded-pad" no longer exists.

2014-08-08 12:46:47 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	* tests/check/elements/textoverlay.c:
	  basetextoverlay: rework caps negotiation
	  Make textoverlay negotiate caps more correctly.
	  1) Check what caps we received in the video-sink
	  2) If it already has the overlay meta -> use it directly
	  3) If it doesn't, textoverlay try adding the overlay meta and using it,
	  if downstream doesn't support it, just use what is received in the
	  video-sink
	  4) Check if the allocation query also supports the meta to enable
	  really using it
	  Before it wasn't really doing renegotiation of any kind, just
	  re-checking if it should use the overlay meta or not
	  Also had to update the caps in the test as memory:SystemMemory seems
	  to be required when you use a caps feature otherwise intersection/subset
	  checks will fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733916

2014-08-07 17:35:05 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: always intersect with the filter caps
	  Avoids returning values that upstream can't produce
	  https://bugzilla.gnome.org/show_bug.cgi?id=733916

2014-07-30 16:59:15 -0300  Thiago Santos <thiagoss@osg.samsung.com>

	* gst/encoding/gstencodebin.c:
	* tests/check/elements/encodebin.c:
	  encodebin: delay missing encoder error as passthrough is still possible
	  Set up a fakesink with a pad probe to replace the missing encoder to detect
	  if encoding was really required and only error out in this case. Otherwise
	  just let passthrough branch work.
	  This delays the error posting from the set_state function to when buffers
	  are really flowing. Unit test updated accordingly
	  https://bugzilla.gnome.org/show_bug.cgi?id=650652

2014-08-08 14:08:19 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Unref pad template caps after usage
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734517

2014-08-11 10:57:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove buffering special casing for adaptive streaming demuxers
	  They output smaller buffers now and we should be able to handle the buffering
	  limits like in every other situation now.

2014-08-07 10:44:03 +0200  Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't set decoding timestamps on raw video
	  https://bugzilla.gnome.org/show_bug.cgi?id=733720

2014-08-07 18:10:41 +0300  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: In reverse playback, flush the output queue after decoding each keyframe chain
	  This fixes the reverse playback scenario when upstream is not fully
	  parsing the stream and does not send every keyframe chain separately
	  with the DISCONT flag on the keyframe.
	  To explain this, let's suppose we have this stream:
	  0 1 2 3 4 5 6 7 8
	  K     K     K
	  In most circumstances, the upstream parser will chain in the
	  decoder the buffers in the following order:
	  6 7 8 3 4 5 0 1 2
	  D     D     D
	  In this case, GstVideoDecoder will flush the parse queue every time
	  it receives discont (D) and we will eventually get in the output queue:
	  (flush here) 8 7 6  (flush here) 5 4 3 (flush here) 2 1 0
	  In case the upstream parser doesn't do this work, though,
	  GstVideoDecoder will receive the whole stream at once and will flush
	  the parse queue afterwards:
	  0 1 2 3 4 5 6 7 8
	  D
	  During the flush, it will look backwards for keyframes and will
	  decode in this order:
	  6 7 8 3 4 5 0 1 2
	  This is the same order that it would receive from upstream if
	  upstream was parsing and looking for the keyframes, only that now
	  there is no flushing of the output queue in between keyframes,
	  which will result in the output queue looking like this:
	  2 1 0 6 5 3 8 7 6
	  This will confuse downstream obviously and will play incorrectly.
	  This patch forces the decoder to flush the output queue every time
	  it picks a new keyframe to decode, so it will end up decoding 6 7 8
	  and then flushing before picking 3 for decoding, so the output will
	  get 8 7 6 before 6 5 3 and the video will play back correctly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=734441

2014-08-10 17:30:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* configure.ac:
	  configure: use pkg-config to detect x11 and xv libs
	  AC_PATH_XTRA macro unnecessarily pulls in libSM and libICE.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731047

2014-08-10 17:27:14 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimageallocator.c:
	  xvimage: fix crash when outputting debug log
	  Can't print a GstMemory via GST_PTR_FORMAT, it will crash
	  inside GObject checking if it's a GObject, and we can't
	  check generically whether it's a derived GstMemory type,
	  as boxed types don't allowe derivation.

2014-08-09 14:24:59 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/opus/gstopusheader.c:
	  opus: Improve annotation of internal function
	  https://bugzilla.gnome.org/show_bug.cgi?id=734543

2014-08-09 14:14:48 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Mark caps argument as not being transferred
	  https://bugzilla.gnome.org/show_bug.cgi?id=734540

2014-08-09 14:20:32 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: Improve annotation of internal function
	  https://bugzilla.gnome.org/show_bug.cgi?id=734541

2014-08-06 13:41:46 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/check/elements/appsrc.c:
	* tests/examples/app/appsink-src.c:
	* tests/examples/audio/audiomix.c:
	* tests/examples/audio/volume.c:
	* tests/examples/dynamic/codec-select.c:
	* tests/examples/seek/scrubby.c:
	* tests/examples/snapshot/snapshot.c:
	* tests/icles/stress-videooverlay.c:
	* tests/icles/test-textoverlay.c:
	  tests: Add missing unrefs of objects after use
	  Unreffing the objects returned by gst_bin_get_by_name() and
	  gst_pipeline_get_use() were missing in several tests, so add these.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734359

2014-08-06 13:22:56 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Unref peer pad after use in error case
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734350

2014-08-06 10:07:42 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Some minor fixes and cleanup

2014-08-06 09:59:32 -0400  Wang Xin-yu (王昕宇) <comicfans44@gmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Make caps set action queued together with buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=729760

2014-08-01 15:00:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Keep a reference to the playsink sinkpads
	  Otherwise playsink might get shut down without us noticing
	  that our pad references are gone now.
	  Probably fixes https://bugzilla.gnome.org/show_bug.cgi?id=733165

2014-07-30 20:53:53 +0300  Mohammed Sameer <msameer@foolab.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: don't unset DISCONT flag
	  Unsetting DISCONT flag means we need to copy the buffer. This copy operation
	  mandates that all GstMemory should be copy-able which is not always the case
	  https://bugzilla.gnome.org/show_bug.cgi?id=727409

2014-07-31 18:40:59 +0200  Edward Hervey <edward@collabora.com>

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

2014-07-31 16:09:41 +0200  Edward Hervey <bilboed@bilboed.com>

	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  check: Fix include path of rtp checks
	  Fixes make distcheck

2014-07-30 15:23:39 +0200  Thibault Saunier <tsaunier@gnome.org>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  pbutils: discoverer: Always set the pipeline back to NULL after an error
	  Otherwize the pipeline would be in an wrong state and on the next
	  iteration any kind of error could happen
	  Everytime an error happens in a pipeline the application has to set the
	  pipeline back to NULL instead of READY.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733976

2014-07-29 14:20:42 -0300  Thiago Santos <ts.santos@osg.sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: add missing 'time' word to debug message
	  It prints the buffers, bytes and time limits, but 'time' was missing
	  from the string.

2014-07-28 16:56:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Pass through NO_PREROLL state change returns
	  Fixes playback of live pipelines.

2014-07-28 16:55:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Pass through NO_PREROLL state change returns
	  Fixes playback of live pipelines.

2014-07-26 14:52:01 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: fix 'attempt to unlock mutex that was not locked' in error code path
	  Fixes playbin unit test with latest GLib.

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Don't delay set_format
	  This prevent implementing allocation query, as the format need to be
	  known in order to determin the size and number of buffers needed.
	  Note: This may lead to few regressions that will need fixing
	  https://bugzilla.gnome.org/show_bug.cgi?id=732288

2014-07-23 19:51:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't unref caps for which we don't own a reference... get one first
	  https://bugzilla.gnome.org/show_bug.cgi?id=733615

2014-07-23 12:36:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Go asynchronously from READY to PAUSED
	  We now add all our elements to uridecodebin *after*
	  GstBin::change_state(READY->PAUSED), so we need to post async-start
	  and async-done messages ourselves if we want to work async.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733495

2014-07-23 12:27:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Go asynchronously from READY to PAUSED
	  We now add all our elements to uridecodebin *after*
	  GstBin::change_state(READY->PAUSED), so we need to post async-start
	  and async-done messages ourselves if we want to work async.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733495

2014-07-21 15:54:05 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: Pretty-print topology tags
	  Call the code used in properties for topology tags too.
	  Side-effect achieved: more tags printed, buffers (e.g. images) shortened.

2014-07-21 13:53:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-discoverer.c:
	  discoverer: Fix code style a bit
	  if (...)
	  one_line;
	  else if (...) {
	  many_lines;
	  } else
	  one_line;
	  looks a bit confusing.

2014-07-21 13:48:31 +0300  Vivia Nikolaidou <n.vivia@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: prettier image tag printing
	  Rather than dumping the serialized sample value, the code now
	  prints the number of bytes in the buffer, then the caps in a
	  human-readable format.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733482

2014-07-10 12:39:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Handle CAPS events immediately instead of delaying them
	  https://bugzilla.gnome.org/show_bug.cgi?id=733147

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle CAPS events immediately instead of delaying them
	  https://bugzilla.gnome.org/show_bug.cgi?id=733147

2014-07-15 17:34:01 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/playbin.c:
	  playbin: Fix unit test for last change
	  It will successfully asynchronously go to PAUSED now and
	  later fail.

2014-07-15 17:23:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Create new sources after chaining up to the parent class
	  Otherwise we start the new sources already before the parent class
	  got ready to start.

2014-07-15 17:20:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Create new sources after chaining up to the parent class
	  Otherwise we start the new sources already before the parent class
	  got ready to start.

2014-07-10 16:26:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/playbin-complex.c:
	  playbin-complex: Change template name from %d to the more common %u

2014-07-10 16:24:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Link Parser/Converter directly and already connect to pad-added and other signals before setting elements to PAUSED
	  otherwise we're going to
	  a) start Parser/Converter before they are linked to their capsfilter,
	  breaking their negotiation of a proper stream format
	  b) start demuxers without having connected to their pad-added signals. We
	  miss pads and in the worst case don't link any pads at all

2014-07-10 12:51:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Send sticky events to the new element after setting it to PAUSED
	  ... and if this fails for whatever reason we skip the element and instead
	  try with the next element. This allows us to handle elements that fail
	  when setting caps on them by just skipping to the next alternative element.

2014-07-10 12:50:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only link elements further after setting them to PAUSED
	  They might fail to go to PAUSED, and when connecting them further
	  we might already expose their srcpads on decodebin if we're unlucky.
	  This prevents us to handle failures going to PAUSED gracefully.

2014-07-10 12:22:35 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Remove ERROR message filter after we set the element to PAUSED
	  This allows us to catch more errors gracefully and switch to an alternative
	  element instead.

2014-07-10 12:17:52 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only continue autoplugging once the pad has final caps
	  If the caps query returned us fixed caps this doesn't mean yet
	  that these caps are actually complete (fields might be missing).
	  It allows to do us some decisions, but the selection of the next
	  element should be delayed as only complete caps allow proper selection
	  of the next element.

2014-07-10 12:03:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Consider the caps after the capsfilter after parsers for autoplugging
	  Otherwise we might try to continue autoplugging e.g. for a specific
	  stream-format although the parser could convert to something else, thus giving
	  us potentially less options for decoders.

2014-07-21 00:17:38 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/missing-plugins.c:
	  pbutils: fix missing plugin description for missing elements
	  CID: 1226445

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

	* configure.ac:
	  Back to development

=== release 1.4.0 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2014-07-18 21:19:03 -0400  Youness Alaoui <kakaroto@kakaroto.homelinux.net>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Fix memory leak with callback notify not being called in dispose
	  https://bugzilla.gnome.org/show_bug.cgi?id=733386

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2014-07-18 16:01:23 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Add example for using encoder presets with profiles
	  https://bugzilla.gnome.org/show_bug.cgi?id=733349

2014-07-18 15:46:05 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix typos and old API in docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=733349

2014-07-17 14:36:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: fix property description string
	  Spotted by Josep Torra.

2014-07-15 16:56:30 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES
	  https://bugzilla.gnome.org/show_bug.cgi?id=733207

2014-07-12 10:33:30 +0530  Arun Raghavan <arun@accosted.net>

	* gst/playback/gstplaysink.c:
	  playsink: Fix filter property getter
	  The switch-case set was incomplete.
	  https://bugzilla.gnome.org/show_bug.cgi?id=733012

=== release 1.3.91 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2014-07-11 10:13:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* configure.ac:
	* ext/libvisual/plugin.c:
	* ext/libvisual/visual.c:
	  libvisual: Remove < 0.4 support
	  And remove the version guards that went along with it
	  https://bugzilla.gnome.org/show_bug.cgi?id=733046

2014-07-10 18:17:47 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Ensure _get_fd() works even for shared memory
	  Fixes regression introduced by:
	  commit b60888fd4bcacd42bb4e27fa938272d6e72c5c32
	  Author: Michael Olbrich <m.olbrich@pengutronix.de>
	  Date:   Tue May 20 11:18:56 2014 +0200
	  dmabuf: share the mapping with shared copies of the memory
	  https://bugzilla.gnome.org/show_bug.cgi?id=730441

2014-07-10 15:52:46 +0100  Philip Withnall <philip.withnall@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: Fix a double-unref in the Opus header code
	  The headers were never getting reffed when being added to the headers
	  list, which is later unreffed-and-freed by the caller (e.g.
	  gst_opus_parse_parse_frame()).
	  https://bugzilla.gnome.org/show_bug.cgi?id=733013

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

	* po/vi.po:
	  po: Update translations

2014-07-03 13:46:08 -0700  Evan Nemerson <evan@nemerson.com>

	* gst-libs/gst/sdp/sdp.h:
	  sdp: add gstmikey.h to sdp.h
	  https://bugzilla.gnome.org/show_bug.cgi?id=732709

2014-07-03 18:32:02 +0200  Sebastian Rasmussen <sebrn@axis.com>

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

2014-06-20 18:02:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: parse any source data that is still available.
	  Fix gst_video_decoder_parse_available() to really parse any pending
	  source data that is still available in the adapter. This is a memory
	  optimization to avoid expansion of video packed added to the adapter,
	  but also a fix to EOS condition when the subclass parse() function
	  ultimately only needed to call into gvd_have_frame() and no additional
	  source bytes were consumed, i.e. gvd_add_to_frame() is not called.
	  This situation can occur when decoding H.264 streams in byte-stream/nal
	  mode for instance. A decoder always requires the next NAL unit to be
	  parsed so that to determine picture boundaries. When a new picture is
	  found, no byte is consumed (i.e. gvd_add_to_frame() is not called)
	  but gvd_have_frame() is called (i.e. priv->current_frame is gone).
	  Also make sure to avoid infinite loops caused by incorrect subclass
	  parse() implementations. This can occur when no byte gets consumed
	  and no appropriate indication (GST_VIDEO_DECODER_FLOW_NEED_DATA) is
	  returned.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731974
	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

2014-07-02 15:50:23 +0200  Wim Taymans <wtaymans@redhat.com>

	* tests/examples/dynamic/codec-select.c:
	  tests: codec-select: fix compilation

2014-07-02 15:49:38 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.h:
	  mikey: add more Since markers for new methods

2014-07-02 15:38:41 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: make message and payload mini-objects
	  Make the MIKEY message and payload objects miniobjects so that they have
	  a GType and are refcounted.
	  We can reuse the dispose method to clear our payload objects.
	  Add some annotations.
	  Implement a copy function for the MIKEY message.
	  Fix the unit test.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732589

2014-07-02 00:21:00 +0200  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/examples/dynamic/codec-select.c:
	  tests: codec-select: Plug element name memory leak
	  https://bugzilla.gnome.org/show_bug.cgi?id=732593

2014-07-01 16:14:43 -0700  Evan Nemerson <evan@nemerson.com>

	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/video-tile.c:
	  docs: Assorted documentation and introspection fixes for new 1.4 API
	  https://bugzilla.gnome.org/show_bug.cgi?id=732595

2014-07-01 16:19:22 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: also allow POST before GET
	  Don't only allow GET and then POST request to setup tunneling over HTTP
	  but also allow POST and then GET.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732459

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

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/libvisual/gstaudiovisualizer.h:
	  libvisual: Rename get_type() function to prevent conflicts with static linking
	  https://bugzilla.gnome.org/show_bug.cgi?id=728443

=== release 1.3.90 ===

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

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

2014-06-28 10:56:36 +0200  Sebastian Dröge <sebastian@centricular.com>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2014-06-27 14:24:10 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: fix caps leak
	  Let go the reference to the converter caps after using it

2014-06-27 10:41:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-device-monitor-1.0.1:
	* tools/gst-device-monitor.c:
	  tools: add gst-device-monitor-1.0 utility
	  Just shows devices with basic info and exits. Or will
	  wait for more devices to show up or be removed with
	  the --follow option. It's also possible to pass filters
	  as command line arguments in the form DEVICE_CLASSES
	  or DEVICE_CLASSES:CAPS.

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

	* gst-libs/gst/audio/streamvolume.h:
	* gst-libs/gst/tag/xmpwriter.h:
	  libs: There is no G_TYPE_CHECK_INTERFACE_TYPE and G_TYPE_CHECK_INTERFACE_CAST
	  Remove the macros that used them, nobody could've used them anyway.

2014-06-26 11:35:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>

	* gst-libs/gst/pbutils/codec-utils.c:
	  pbutils: handle more H.264 profiles and levels.
	  Recognize H.264 Level 5.2, as exposed by modern 2160p30+ streams,
	  i.e. commonly known as 4K. Also add initial support for handling
	  Annex.G (SVC) profiles.
	  https://bugzilla.gnome.org/show_bug.cgi?id=732269
	  Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>

2014-06-26 04:27:31 +1000  Jan Schmidt <jan@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Bump iso mp4 typefinder to PRIMARY. Add mp4 extension hint.
	  Fixes a problem with at least one file being detected incorrectly as
	  DTS because there's DTS packets early enough in the file.

2014-06-23 01:02:22 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/rtpbasedepayload.c:
	  tests: fix vararg handling in rtpbasedepayload unit test
	  Makes it pass on 32-bit systems.

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

	* tests/check/libs/rtpbasepayload.c:
	  tests: fix vararg handling in rtpbasepayload unit test
	  Makes it pass on 32-bit systems.

2014-06-22 20:42:13 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Filter out ANY capsfeatures from the converter caps
	  We can't convert to ANY capsfeatures, they are only there so that we
	  can passthrough whatever downstream can support... but we definitely
	  don't want to return them to upstream.

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

	* configure.ac:
	  Back to development

=== release 1.3.3 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* po/da.po:
	* po/de.po:
	* po/hu.po:
	* po/id.po:
	* po/nl.po:
	* po/pl.po:
	* po/ru.po:
	* po/sr.po:
	* po/uk.po:
	  po: Update translations

2014-06-20 11:00:14 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Don't be too picky about the output frame counter
	  With most decoder libraries, and especially when accessing codecs via
	  OpenMAX or similar APIs, we don't have the ability to properly related
	  the output buffers to a number of input samples. And could e.g. get
	  a fractional number of input buffers decoded at a time.
	  Previously this would in the end lead to an error message and stopped
	  playback. Change it to a warning message instead and try to handle it
	  gracefully. In theory the subclass can now get timestamp tracking
	  wrong if it completely misuses the API, but if on average it behaves
	  correct (and gst-omx and others do) it will continue to work properly.
	  Also add a test for the new behaviour.
	  We don't change it in the encoder yet as that requires more internal logic
	  changes AFAIU and I'm not aware of a case where this was a problem so far.

2014-06-12 12:36:26 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/tcp/gsttcpserversrc.c:
	  tcpserversrc: close the server socket after accepting a connection
	  g_socket_accept() is only called once for a server socket. So
	  keeping the socket open ist just confusing possible clients.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731566

2014-06-13 10:04:47 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gsttcpclientsrc.c:
	  tcpclientsrc: return FLUSHING when select() is canceled
	  https://bugzilla.gnome.org/show_bug.cgi?id=731567

2014-06-12 13:23:29 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst/tcp/gsttcpserversrc.c:
	  tcpserversrc: return FLOW_FLUSHING instead of an error when accept/select is canceled
	  Canceling the accept/select happens when the source is shut down. This is
	  not an error and the GST_FLOW_ERROR causes problems when only part of the
	  pipeline is shut down.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731567

2014-06-12 11:55:59 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Fix Wall to NTP conversion
	  We are scaling from a unit in microseconds to a unit in ((1 << 32) per seconds).
	  We therefore scale the microseconds values by:
	  value of a second in the target unit (1 << 32)
	  --------------------------------------------------------------
	  value of a second in the origin format (1 000 000 microsecond)

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: allow unset seek stop time in push mode

2014-06-11 12:50:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: add streamsynchronizer to documentation

2014-06-11 12:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins-docs.sgml:
	* docs/plugins/gst-plugins-base-plugins-sections.txt:
	  docs: add playsink element to documentation

2014-06-11 10:53:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	  docs: add navigation interface to docs

2014-06-10 12:59:53 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: add send_event handler for flushing
	  Adds a send_event handling for allowing appsrc to flush its internal
	  data, allowing users to flush the pipeline without setting it to null.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724231

2014-06-09 21:05:00 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/videoscale/vs_fill_borders.c:
	* gst/videoscale/vs_image.h:
	  videoscale: vs_image: strides are a gsize
	  The strides that are set from the GstVideoInfo structs are
	  a gsize. Using an int can cause overflows when dealing with large
	  enough images
	  https://bugzilla.gnome.org/show_bug.cgi?id=731195

2014-06-09 19:44:56 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/video-info.c:
	* tests/check/libs/video.c:
	  video: avoid overflows when doing int operations for size
	  size is a gsize, so cast the operands to it to avoid overflows
	  and setting wrong value to the video size.
	  Includes tests.
	  https://bugzilla.gnome.org/show_bug.cgi?id=731195

2014-06-09 10:53:03 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Remove unneeded check
	  running timestamps are guaranteed to be positive and valid since the
	  GstVideoEncoder base class will clip incoming buffers
	  CID #1139797

2014-06-09 10:38:53 +0200  Edward Hervey <bilboed@bilboed.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: add missing va_end in variadic function
	  Coverity 1139944

2014-06-06 10:35:31 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* tests/check/libs/videodecoder.c:
	  tests: fix uninitialized variable use in video decoder test

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

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Also catch CODEC_NOT_FOUND errors and delay them until all decodebins are done

2014-06-04 17:00:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Ignore missing-plugin messages unless all decodebins post one
	  When playing RTSP streams there will be one decodebin per stream. If some of
	  them fail because of a missing plugin we should not fail completely but play
	  the supported streams at least.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730868

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

	* gst/playback/gstdecodebin2.c:
	  decodebin: Do async-done on expose errors too

2014-05-20 12:28:15 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix checking mmap flags
	  A simple '&' is not sufficiant. With mmapping_flags == PROT_READ and
	  prot == PROT_READ|PROT_WRITE the check produces the wrong result.
	  Change the check to make sure that prot is a subset of mmapping_flags.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730559

2014-06-03 15:16:44 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: make gst-ident happy

2014-06-03 15:10:33 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: fix occasional crash intersecting invalid values
	  When a pipeline using alsasink and push mode upstream fails
	  to preroll, the following state will be the case:
	  - A loop upstream will be PAUSED, pushing a first buffer
	  - alsasink will be READY, pending PAUSED, because async
	  On error, the pipeline will switch to NULL. alsasink is in
	  READY, so goes to NULL immediately. It zeroes its cached
	  caps. Meanwhile, the upstream loop can cause a caps query,
	  conccurent with the state change. This will use those cached
	  caps. If the zeroing happens between the NULL test and the
	  dereferencing, GStreamer will critical down in the GstValue
	  code.
	  Since it appears that such a gap between states (PAUSED
	  and pushing upstream, and NULL downstream) is expected, we
	  need to protect the read/write access to the cached caps.
	  This fixes the critical.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=731121

2013-10-14 18:56:55 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* tests/check/libs/videodecoder.c:
	  videodecoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  + Add a testcase
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-14 18:48:08 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-14 18:45:10 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-10 18:50:17 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2013-10-10 18:48:47 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	* tests/check/libs/audioencoder.c:
	  audioencoder: Keep still meaningfull pending events on FLUSH_STOP
	  Only EOS and segment should be deleted in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709868

2014-06-02 12:40:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: consider all opus packets as "keyframes"
	  This lets oggdemux determine they are not delta units, and removes
	  spurious per packet warnings about being unable to determine the
	  packet's keyframeness.

2014-05-12 17:13:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Free MikeyPayload in error cases
	  CID #1212136

2014-03-16 14:27:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/playback/gstdecodebin2.c:
	* tests/check/elements/decodebin.c:
	  decodebin: aggregate buffering messages
	  Aggregate buffering messages to only post the lower value
	  to avoid setting pipeline to playing while any multiqueue
	  is still buffering.
	  There are 3 scenarios where the entries should be removed from
	  the list:
	  1) When decodebin is set to READY
	  2) When an element posts a 100% buffering (already implemented)
	  3) When a multiqueue is removed from decodebin.
	  For item 3 we don't need to handle it because this should only
	  happen when either 1 is hapenning or when it is playing a
	  chained file, for which number 2 should have happened for the
	  previous stream to finish
	  https://bugzilla.gnome.org/show_bug.cgi?id=726423

2014-05-28 10:23:24 +0100  Philip Withnall <philip.withnall@collabora.co.uk>

	* gst-libs/gst/audio/audio-format.c:
	  audio: Add a missing precondition to gst_audio_format_from_string()
	  https://bugzilla.gnome.org/show_bug.cgi?id=730874

2014-05-26 20:57:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: audiodecoder: add tests for eos after segment
	  Tests that pushing a buffer after the segment returns EOS

2014-05-26 21:24:07 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: actually return the push result in backwards playback
	  It was always returning _OK regardless of what downstream returned

2014-05-26 12:44:48 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: return EOS when segment is over
	  if a buffer is clipped by being completely out of segment, check if this
	  buffer is after the end of the segment and return EOS upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-26 12:44:38 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: return EOS when segment is over
	  if a buffer is clipped by being completely out of segment, check if this
	  buffer is after the end of the segment and return EOS upstream
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-26 11:45:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: use new gstutils helper GstFlowCombiner
	  Fixes the handling of GST_FLOW_EOS by using the helper object
	  from gstutils that does the correct combination of flow returns.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709224

2014-05-10 18:32:28 +0200  Miguel París Díaz <mparisdiaz@gmail.com>

	* ext/opus/gstopusenc.c:
	  opusenc: Use aux vars to minimize critical region
	  This avoid dead lock between gst_audio_encoder_finish_frame() and
	  gst_opus_enc_get_property().
	  Also, now bytes var is set into protected section.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729882

2014-05-23 19:21:35 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: use cubic volume factor when adjusting volume
	  This is more natural and better-suited for a playback application.

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

	* configure.ac:
	  Back to development

=== release 1.3.2 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

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

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

	* tests/check/libs/video.c:
	  video: And check comparison for real

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

	* tests/check/libs/video.c:
	  video: Fix broken comparison in unit test
	  libs/video.c:540:50: error: comparison of constant 2 with boolean expression is always false
	  [-Werror,-Wtautological-constant-out-of-range-compare]
	  && !GST_VIDEO_INFO_N_PLANES (&vinfo) > 2) {
	  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~

2014-05-20 15:59:53 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsp-transport: clarify port usage
	  Comment in the docs what the client_port and server_port fields are used
	  for in TCP mode (if the application wants to set those values).

2014-05-20 11:18:56 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: share the mapping with shared copies of the memory
	  With lots of shared memory instances (e.g. created by a RTP payloader) the
	  overhead of duplicating the file descriptor and creating extra mappings is
	  significant. To avoid this, the parent memory maps the whole region and the
	  shared copies just reuse the same mapping.
	  https://bugzilla.gnome.org/show_bug.cgi?id=730441

2014-05-19 13:28:52 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Add read source on write socket.
	  Add a read source on write socket when lost tunnel.
	  To be able to detect when clint closes get channel.
	  This is already done in gst_rtsp_source_dispatch_write but
	  only when the queue is empty.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730368

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

	* gst/playback/gstplaysink.c:
	  playsink: Always take the playsink lock when adding or removing pad probes
	  Otherwise we might end up inside the callback without having stored
	  the probe id... then try to remove that probe (not!) from the callback
	  and wait forever for the pad to unblock.

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

	* ext/alsa/gstalsasink.c:
	  alsasink: pass correct error to g_strerror
	  The error we get is a negated errno.
	  While there, fix a couple typos in messages.

2014-05-19 11:17:33 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Free playlist_file string if only printing the version

2014-05-13 14:08:20 +0600  Anuj Jaiswal <anuj.jaiswal@samsung.com>

	* tools/gst-play.c:
	  audio_sink and video_sink leakage fixed
	  https://bugzilla.gnome.org/show_bug.cgi?id=730010

2014-05-13 11:51:55 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Don't use argument for local storage
	  By re-using the uri argument for storing local data, we could end up in
	  a situation where we would free uri ... which would actually be the
	  string passed in argument.
	  Instead explicitely use a local variable. Fixes double-free issues.
	  CID #1212176

2014-05-12 13:18:50 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-info.c:
	  video-info: Also check the stride and offset are equal
	  gst_video_info_is_equal() was not checking if stride and offset
	  had changed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729896

2014-05-12 17:17:07 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Free data after removing it from the list
	  While it wouldn't have caused any failures (g_list_remove doesn't dereference
	  the provided pointer), it does make the code cleaner.
	  CID #1212174

2014-05-12 17:15:17 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Actually replace payload ...
	  This function is intented to replace the payload, let's actually do that
	  instead of putting back the same (freed) payload
	  CID #1212175

2014-05-12 17:13:50 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: Free MikeyPayload in error cases
	  CID #1212135
	  CID #1212136
	  CID #1212137
	  CID #1212138

2014-05-10 23:50:44 +0200  Thibault Saunier <tsaunier@gnome.org>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Do not try to add a feature to a caps features ANY
	  It does not makes sense and asserts

2014-05-09 15:32:18 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  tag: xmp: fix leaks in error code paths
	  CID 1212133

2014-05-06 11:12:19 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Reset control_stream.
	  Reset control_stream when gst_rtsp_connection_close.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729632

2014-04-15 14:51:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Retry setting configuration with modified config
	  Buffer pool set_config() may return FALSE if requested configuration needed small
	  changes. Reget the config and try setting it again. This ensure we have a configured
	  pool if possible.

2014-05-08 17:10:26 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: use downloadbuffer for download buffering
	  Use the new downloadbuffer element to implement the download buffering
	  feature
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=680183

2014-05-06 13:01:32 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: push eos event when empty pad data
	  If gst_ogg_mux_queue_pads returns NULL it means we are at EOS, because we get a
	  NULL buffer and this function never sets bestpad.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729315

2014-05-06 08:07:38 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	  configure: Use X11 detection macro from common
	  https://bugzilla.gnome.org/show_bug.cgi?id=729621

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

	* tests/examples/playback/playback-test.c:
	  examples: playback-test: fix crashes when setting buffer-size
	  playbin's buffer-size property takes a gint, not a gint64,
	  so only pass the bits expected to the vararg function, or
	  the terminator might not be found, leading to crashes, esp.
	  with negative numbers.
	  Spotted by Ravi Kiran K N <ravi.kiran@samsung.com>
	  https://bugzilla.gnome.org/show_bug.cgi?id=729617

2014-05-06 07:50:16 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  examples: fix indentation of playback-test

2014-05-06 08:13:24 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/examples/playback/playback-test.c:
	  Revert "playback-test: Set buffer-size only for non-negative size"
	  This reverts commit 07a637e2847d56d0f2b0c0ac9095bf37dd324e26.

2014-05-06 11:31:18 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Set buffer-size only for non-negative size
	  https://bugzilla.gnome.org/show_bug.cgi?id=729617

2014-05-05 23:29:44 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* win32/common/libgstpbutils.def:
	  win32: Update defs file
	  commit 622007e7db7e3d32bf8e04e673e057897b646220 added the function
	  gst_discoverer_info_get_missing_elements_installer_details (). It needs to be
	  added to the defs file.

2014-05-04 15:54:54 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	* gst-libs/gst/rtsp/Makefile.am:
	  rtsp: Link to ws2_32 on Windows
	  Needed for getsockname and setsockopt
	  https://bugzilla.gnome.org/show_bug.cgi?id=729514

2014-05-04 15:54:06 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* configure.ac:
	  Make X11 detection more precise
	  Don't be content with just X11/Xlib.h, check for X11/XKBlib.h as well.
	  This prevents false positives (for example, from partial X11 headers
	  installed by tcl/tk).
	  https://bugzilla.gnome.org/show_bug.cgi?id=729513

2014-05-04 15:57:35 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* tests/examples/playback/playback-test.c:
	  tests: fix printf format compiler warning in playback test on win32
	  https://bugzilla.gnome.org/show_bug.cgi?id=729515

2014-05-04 18:14:54 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  Add new unit test binary to .gitignore

2014-01-14 15:39:55 +0100  Thibault Saunier <thibault.saunier@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/gstdiscoverer-types.c:
	* gst-libs/gst/pbutils/gstdiscoverer.c:
	* gst-libs/gst/pbutils/gstdiscoverer.h:
	* gst-libs/gst/pbutils/pbutils-private.h:
	* tools/gst-discoverer.c:
	  discoverer: Add APIs to simply get installer details for missing plugins
	  Currently the API is far from optimal and the user has to work around
	  our badly defined API to simply install missing plugins.
	  API:
	  new:
	  gst_discoverer_info_get_missing_elements_installer_details
	  deprecated:
	  gst_discoverer_info_get_misc
	  gst_discoverer_stream_info_get_misc
	  https://bugzilla.gnome.org/show_bug.cgi?id=720596

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

	* configure.ac:
	  Back to development

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

	* tests/check/Makefile.am:
	  textoverlay: Link unit test with the local version of the library, not an installed one

=== release 1.3.1 ===

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

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-plugins-base.doap:
	* gst/adder/gstadderorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	* win32/common/_stdint.h:
	* win32/common/config.h:
	* win32/common/gstrtsp-enumtypes.c:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.3.1

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

2014-05-02 19:09:59 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  rtpbasepayload: Implement reconfigure event & renegotiation without subclass
	  Implement the reconfigure event, also do correct downstream caps negotiation
	  if the subclass doesn't implementy set_caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725361

2014-05-02 19:09:44 -0400  Olivier Crête <olivier.crete@collabora.com>

	* tests/check/libs/rtpbasepayload.c:
	  tests/check/libs/rtpbasepayload.c: Run gst-indent
	  https://bugzilla.gnome.org/show_bug.cgi?id=725361

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

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

2014-05-02 18:30:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Save the PT after fixating

2014-05-02 19:36:34 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspdefs: remove outdated comments

2014-05-02 15:09:35 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: avoid underflow in size calculation

2014-05-01 19:31:09 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not parse caps for not using it
	  Saving some cpu

2014-01-03 11:06:22 +0100  John Bassett <john.bassett@pexip.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: restrict initial random sequence number to be <= 32767
	  In order to prevent SRTP roll over counter issues the initial sequence
	  number is restricted to <= 32767. This is recommended by RFC 4568 section 6.4.

2014-05-01 15:11:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Add some more gobject-introspection annotations for bindings
	  https://bugzilla.gnome.org/show_bug.cgi?id=729123

2014-05-01 13:15:57 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

2014-05-01 13:08:24 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

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

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

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

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Don't block on non-serialized events
	  https://bugzilla.gnome.org/show_bug.cgi?id=729321

2014-04-30 11:06:27 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: check claimed data size against available size
	  Coverity 1208773

2014-04-23 08:06:36 +0200  Göran Jönsson <goranjn@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Empty queue when flush.
	  Empty the watchs queue when calling
	  gst_rtsp_watch_set_flushing with flushing variabel is TRUE.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728772

2014-03-16 16:09:36 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Add more tests
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728907

2014-04-29 10:15:47 -0400  Luis de Bethencourt <luis@debethencourt.com>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: fix undefined behaviour of left-shift
	  With a small type for the color values being left-shifted, the result is
	  undefined and it could potentially overflow.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729195

2014-04-29 10:59:02 +0100  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstrtsp.def:
	* win32/common/libgstsdp.def:
	  win32: fix export files again
	  Revert unintended parts of d8a0927930a87a2eb60d4c98cb3fea8aed911b27

2014-04-29 11:39:18 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	* win32/common/libgstrtsp.def:
	* win32/common/libgstsdp.def:
	  Add mikey.h file

2014-04-29 09:58:21 +0200  Haakon Sporsheim <haakon@pexip.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Make caps writable before fixating
	  https://bugzilla.gnome.org/show_bug.cgi?id=729114

2014-04-29 09:54:18 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdpmessage: Add array length annotation to gst_sdp_message_parse_buffer
	  https://bugzilla.gnome.org/show_bug.cgi?id=729123

2014-04-29 08:46:02 +0200  Stian Selnes <stian@pexip.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: fix memory leak when gst_rtp_buffer_map fails
	  Make sure rtp->data[3] is set before jumping to error path.
	  https://bugzilla.gnome.org/show_bug.cgi?id=729117

2014-04-28 18:47:06 +0530  Ravi Kiran K N <ravi.kiran@samsung.com>

	* tools/gst-play.c:
	  gst-play: add option to supply media files from playlist file
	  https://bugzilla.gnome.org/show_bug.cgi?id=728845

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

	* gst/gio/gstgiobasesink.c:
	  giobasesink: we mustn't change the format of a query response
	  Not even in the DEFAULT case. That's bad 0.10 behaviour, no caller
	  is ever going to check the format of the response.

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

	* gst/playback/gstplay-enum.c:
	  playbin: add nick for soft colorbalance play flag to fix gst-inspect
	  Fix gst-inspect-1.0 playbin criticals when printing the
	  flags, which was caused by a missing nick name for one
	  of the flags.

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

	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	* ext/theora/gsttheoraparse.c:
	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisparse.c:
	* gst-libs/gst/app/gstappsink.c:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudioclock.c:
	* gst-libs/gst/audio/gstaudiofilter.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtphdrext.c:
	* gst-libs/gst/rtp/gstrtppayloads.c:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspextension.c:
	* gst-libs/gst/rtsp/gstrtspmessage.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst/adder/gstadder.c:
	* gst/audioconvert/gstaudioconvert.c:
	* gst/playback/gstplaybin2.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/videorate/gstvideorate.c:
	* gst/videoscale/gstvideoscale.c:
	  docs: remove outdated and pointless 'Last reviewed' lines from docs
	  They are very confusing for people, and more often than not
	  also just not very accurate. Seeing 'last reviewed: 2005' in
	  your docs is not very confidence-inspiring. Let's just remove
	  those comments.

2014-04-25 17:32:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/gio/gstgiobasesink.c:
	  giobasesink: Implement handling of the SEEKING query

2014-04-25 11:30:37 +0200  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Plug caps leaks
	  We were returning in various places without unreffing the caps, and
	  we were also leaking (overwriting) the caps we got from _get_current_caps()
	  Spotted by Haakon Sporsheim in #gstreamer

2014-04-22 18:28:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/resample.c:
	  audioresample: Don't left-shift into the sign bit, instead use unsigned integers

2014-04-22 00:21:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/tag/gstexiftag.c:
	  tag: exif: avoid adding empty strings
	  Fixes assertion with some jpeg files

2014-04-21 15:35:32 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-play.c:
	  play: Improve pipeline states
	  First set the pipeline to the PAUSED state to check if we are dealing
	  with a live pipeline or not. Then move to the desired state.
	  If we don't do this, it is possible that we receive a BUFFERING message
	  before we know that the pipeline is live and we would set the pipeline
	  to PAUSED and deadlock.

2014-04-21 15:33:10 +0200  Wim Taymans <wtaymans@redhat.com>

	* tools/gst-play.c:
	  play: Update buffering state for live pipelines
	  Update the buffering variable, even for live pipelines so that we don't
	  print \n for each buffering message.

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

	* gst-libs/gst/video/video-frame.c:
	  videoframe: Initialise GstVideoFrame to zeroes if mapping fails
	  This should allow for more meaningful errors. Dereferencing NULL
	  is more useful information than dereferencing a random address
	  happened to be on the stack.

2014-04-16 11:43:40 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/tag/gstexiftag.c:
	  exiftag: catch buffer mapping failure
	  Might be what caused:
	  Coverity 1139734

2014-04-15 19:17:06 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audioresample.c:
	  audioresample: Fix memory leaks in test

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

	* gst/audioresample/gstaudioresample.c:
	* gst/audioresample/resample.c:
	  audioresample: Fix up indention

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

	* gst/audioresample/resample_sse.h:
	  audioresample: Fix out of bounds memory accesses

2014-04-15 13:57:08 +0200  Sebastian Dröge <sebastian@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: Make static caps actually static to fix a memory leak

2014-04-15 13:54:45 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videotestsrc.c:
	  videotestsrc: Fix memory leak in test

2014-04-15 13:48:46 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/encodebin.c:
	  encodebin: Fix memory leak in test

2014-04-15 13:48:17 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Free preset name in finalize

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

	* ext/ogg/gstoggmux.c:
	  oggmux: Clear Ogg streams before initing them
	  They might've been inited before, in which case we leak
	  memory when initing them again without clearing.

2014-04-15 13:03:34 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/audioconvert.c:
	  audioconvert: Fix leaks in unit test

2014-04-15 11:55:22 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/videodecoder.c:
	* tests/check/libs/videoencoder.c:
	  videoencoder/decoder: Fix memory leaks in the tests

2014-04-15 11:53:43 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audiodecoder.c:
	  audiodecoder: Actually allocate enough memory for 64 bits, not just 32 bits
	  Also fix a memory leak.

2014-04-15 11:43:41 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audioencoder.c:
	  audioencoder: Fix memory leaks in unit test

2014-04-15 10:29:12 +0200  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/rtp.c:
	  rtp: Fix GBytes memory leak in test

2014-04-12 07:10:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepay: add stats property
	  Add a stats property that holds a structure with all the current
	  values of the depayloader.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=646577

2014-04-12 06:43:24 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: update docs

2014-04-12 06:27:36 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: add current timestamp and seqnum offset to stats
	  Expose the current timestamp and seqnum offset in the stats
	  See https://bugzilla.gnome.org/show_bug.cgi?id=646577

2014-04-11 10:24:10 +0200  Josep Torra <n770galaxy@gmail.com>

	* ext/pango/gsttextrender.c:
	* ext/pango/gsttextrender.h:
	  textrender: push segment event after caps event
	  Fixes warning "Sticky event misordering, got 'segment' before 'caps'".

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

	* ext/ogg/gstoggstream.c:
	  oggstream: use G_GUINT64_CONSTANT instead of ll suffix
	  Thanks slomo for pointing out it's not standard.

2014-04-10 15:55:57 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* sys/xvimage/xvcontext.c:
	  xvimage: remove dead code
	  matching_attr can not be NULL here, we've tested that away a few
	  lines beforehand.
	  Coverity 1139655

2014-04-10 15:51:05 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: bail out on unsupported caps
	  This avoids using uninitialized data (and properly rejects caps).
	  Coverity 1139898

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: remove pointless checks for data being NULL
	  It was already checked in an early out, and as it's only
	  incremented for at most the size of the passed buffer, it
	  can only become NULL in an address wraparound.
	  While there, don't cast away const on a pointer.
	  Coverity 1139845

2014-04-10 13:34:58 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: consider "no demuxer" case to not have dynamic pads
	  This fixes a possible NULL dereference.
	  Coverity 1195146

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

	* gst/encoding/gstencodebin.c:
	  encodebin: guard against gst_pad_get_peer returning NULL
	  If it does, the pad may be leaked if it's a request pad, though.
	  Coverity 1139799

2014-04-10 13:26:42 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/encoding/gstencodebin.c:
	  encodebin: guard against pathological NULL dereference
	  Coverity 1139798

2014-04-10 12:32:24 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/audioresample/resample.c:
	  audioresample: reject 0 denominator when creating resampler
	  Coverity 1195140, 1195139, 1195138

2014-04-10 12:14:48 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/video/video-overlay-composition.c:
	  video-overlay-composition: guard against NULL pointer dereference on error
	  If gst_video_overlay_rectangle_apply_global_alpha is called with
	  a rectangle with unsuitable alpha, expanding the alpha plane will
	  fail, and thus lead to dereferencing a NULL src pointer. It's not
	  certain this will happen in practice, as the function is static
	  and callers might ensure suitable alpha before calling, but there
	  is no apparent explicit such check.
	  Add prologue asserts for proper alpha to explicitely prevent this.
	  Coverity 1139707

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

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: fix texture_type memcpy size
	  Coverity 1139589, 1139588

2014-04-10 11:19:26 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdpmessage: fix multi statement macros
	  Wasn't playing nice with an if statement below.
	  Coverity 1139767

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

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: guard aginst overflow
	  An audio CD may contain about a tenth of the samples 32 bit can
	  represent, so it doesn't seem likely this will be hit in practice.
	  Coverity 1139805

2014-04-10 12:30:50 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: descriptions: default to systemstream=false for partial video/mpeg caps
	  Assume systemstream=false for video/mpeg caps where that field
	  is missing.

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

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: avoid possible sample count overflow
	  At 48 kHz, 2<<31 samples is reached before 13 hours so it
	  sounds plausible this would be hit.
	  Coverity 1139800, 1139801

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

	* ext/theora/gsttheoraenc.c:
	  theoraenc: fix comparison to unset timestamp
	  Also rejects negative timestamps that aren't GST_CLOCK_TIME_NONE.
	  Coverity 1139797

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

	* ext/ogg/gstoggstream.c:
	  oggstream: fix a few left shifts operations on 32 bits cast to 64 bits
	  This should not cause any actual bug since Theora and Daala have
	  a maximum shift of 31, and a packet duration of 2^31 seems very
	  implausible. But it fixes:
	  Coverity 1139804, 1139803, 1139802

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

	* ext/ogg/gstoggstream.c:
	  oggstream: remove NULL test after dereference
	  And add NULLness asserts at top of function. The only call
	  to this passes local variable pointers, so non NULL.
	  Coverity 206375

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

	* ext/ogg/gstoggmux.c:
	  oggmux: test for failure to return tag
	  It should really not happen unless the tag list it corrupt,
	  but the API returns a failure code so we may as well use it.
	  Coverity 1139595

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: do not dereference NULL pad in warning message
	  Coverity 1197695

2014-04-10 09:18:05 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-event.c:
	  video-event: Update the running times in the force-keyunit events from the pad offsets

2014-04-09 16:03:15 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: In adaptive streaming mode, only have a fixed buffer limit for the non-buffering multiqueue

2014-04-09 11:02:00 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusheader.c:
	  opus: add missing va_end in variadic function
	  Coverity 1139944

2014-04-08 15:43:50 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: guard against address parse errors.

2014-03-25 17:11:34 +0100  Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

	* gst/adder/gstadder.c:
	  adder: rework the logic to check if eos has to be sent.
	  Checking the size available was incorrect, and the infos
	  for per-pad EOS are available.
	  Same logic as audiomixer.
	  fixes: https://bugzilla.gnome.org/show_bug.cgi?id=727025

2014-04-08 12:46:21 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: parse channels field from compressed audio caps
	  Also parse channels as an optional field in the caps for compressed
	  audio formats.

2014-04-06 22:26:20 +1000  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Consider all caps for overlays, not just the first.
	  Check all supported caps on the overlay video pad, not just the
	  first of (possibly) many.

2014-04-05 13:25:46 +0100  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-1.0.1:
	  tools: update gst-play-1.0 man page

2014-04-02 07:20:43 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not deactivate the bufferpool, just unref
	  Videodecoder does late renegotiation, it will wait for the next
	  buffer before renegotiating its caps and bufferpool. It might happen
	  that downstream element switched from passthrough to non-passthrough
	  and sent a reconfigure upstream (that caused this renegotiation).
	  This downstream element will ask the video sink below for the bufferpool
	  with an allocation query and will get the same bufferpool that
	  videodecoder is holding, too.
	  When renegotiating, if videodecoder deactivates its bufferpool it
	  might be deactivating the bufferpool that some element downstream
	  is using and cause the pipeline to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727498

2014-02-24 11:17:05 -0500  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: clip start samples to match clipped start time
	  Clock slaving can clip start time to zero, giving us a shorted
	  duration than we originally got. To keep in sync, we must then
	  discard the samples falling before that zero timestamp.
	  This possibly fixes random distortion caused by constant PA
	  underflows which are never resynced.

2014-04-04 17:36:04 +0200  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: Fix the KEMAC payload
	  The KEMAC payload actually needs to have subpayloads and the key should
	  go into the KEY_DATA subpayload. Add support for subpayloads and
	  implement the KEY_DATA payload.
	  Add some pointers to the conversion functions that allow us to add
	  encryption and decryption later.

2014-04-04 02:14:50 +1100  Jan Schmidt <jan@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Drop reference to any source element in NULL state
	  Drop the reference instead of waiting for either finalize(), or
	  for a new source when reused. Everyone else already forgot about
	  the old source.

2014-04-01 10:38:23 +0200  Göran Jönsson <goranjn@axis.com>

	* win32/common/libgstrtsp.def:
	  rtspconnection: Added gst_rtsp_watch_set_flushing to list.
	  Added gst_rtsp_watch_set_flushing to list in file
	  libgstrtsp.def

2014-03-30 18:26:59 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Always drain the decoder after a discont group in reverse playback mode

2014-03-30 17:54:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Flush the decoder once per discont group, not once per keyframe

2014-03-30 17:54:11 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Handle reverse playback with multiple GOPs per discont group properly
	  baseparse will reverse each GOP for us already, so the segment events can
	  be after our keyframe. Make sure to get it and all other relevant sticky
	  events before starting to decode.

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Log event types of events that are pushed downstream

2014-03-27 20:15:01 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: In reverse playback mode we need to finish the subclass after passing all frames to it

2014-03-28 09:32:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: add flush method
	  Add a method to set/unset the flushing state that makes _wait_backlog()
	  unlock.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=725898

2014-03-27 16:43:10 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* sys/ximage/ximagesink.c:
	  ximagesink: only extrapolate alpha mask for 32-bit depth
	  Instead of passing bogus alpha mask values when there's no alpha.
	  https://bugzilla.gnome.org/show_bug.cgi?id=727188

2014-03-25 11:14:51 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/gstmikey.c:
	  mikey: fix return values of g_return_*

2014-03-25 11:07:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptransport: UDP is also default for SAVP and AVPF

2014-03-20 12:29:33 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	  docs: add MIKEY docs

2014-03-15 18:46:52 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/sdp/Makefile.am:
	* gst-libs/gst/sdp/gstmikey.c:
	* gst-libs/gst/sdp/gstmikey.h:
	* tests/check/Makefile.am:
	* tests/check/libs/mikey.c:
	* win32/common/libgstsdp.def:
	  mikey: add MIKEY parsing helpers
	  MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
	  parameters between a sender and a receiver in a secure way.
	  This library implements a subset of the features, enough to implement
	  RFC 4567, using MIKEY in SDP and RTSP.

2014-03-16 17:04:44 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix minor memory leaks in error handling
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726642

2014-03-16 17:06:02 +0100  Ognyan Tonchev <otonchev@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Fix connection_poll()
	  * Only check for conditions we are interested in.
	  * Makes no sense to specify G_IO_ERR and G_IO_HUP in condition, they
	  will always be reported if they are true.
	  * Do not create timed source if timeout is NULL.
	  * Correctly wait for sources to be dispatched, context_iteration() is
	  not guaranteed to always block even if set to do so.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726641

2014-03-20 09:18:31 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: add pt and ssrc to stats

2014-03-16 08:34:30 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/elements/decodebin.c:
	* tests/check/elements/decodebin2.c:
	  tests: decodebin: port old decodebin2 test for parser and decoder linking
	  They were in the old decodebin2.c tests file and were never ported.
	  Now we can get rid of decodebin2.c

2014-03-16 17:00:38 +0100  Arun Raghavan <arun@accosted.net>

	* gst/playback/gstplay-enum.c:
	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	* tests/examples/playback/playback-test.c:
	  playback: Add video-/audio-filter properties
	  This provides an audio-filter and video-filter property to allow
	  applications to set filter elements/bins. The idea is that these will
	  e
	  applied if possible -- for non-raw sinks, the filters will be skipped.
	  If the application wishes to force the application of the filters, this
	  can be done by setting the new flag introduced on playsink -
	  GST_PLAY_FLAG_FORCE_FILTERS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-16 18:38:25 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  Revert "playback: Add video-/audio-filter properties"
	  This reverts commit fb8fdedb4f4649aa33700bbc720131c1678df49f.

2014-03-15 16:05:22 +0100  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/playback/gstplay-enum.h:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/playback/gstplaysink.h:
	  playback: Add video-/audio-filter properties
	  This provides an audio-filter and video-filter property to allow
	  applications to set filter elements/bins. The idea is that these will be
	  applied if possible -- for non-raw sinks, the filters will be skipped.
	  If the application wishes to force the application of the filters, this
	  can be done by setting the new flag introduced on playsink -
	  GST_PLAY_FLAG_FORCE_FILTERS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-15 20:21:32 +0000  Руслан Ижбулатов <lrn1986@gmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Silence a compiler warning
	  Cast the argument into (const char *) on W32, as winsock2 expects it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=726433

2014-03-15 11:24:23 +0100  Arun Raghavan <arun.raghavan@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Fix documentation for what the audio chain looks like
	  https://bugzilla.gnome.org/show_bug.cgi?id=679031

2014-03-11 21:58:49 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	  docs: update plugin docs and remove old properties and signals
	  Re-generate .args and .signals file from scratch so that
	  old signals that no longer exist (such as the 'new-decoded-pad'
	  signal on decodebin) no longer show up in the documentation.

2014-03-11 22:15:13 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst/adder/gstadder.c:
	  adder: set a group-id on the stream-start event
	  Set a default group-id to fix a warning printed by the sink.

2014-03-11 17:39:54 +0100  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	  Add new header file

2014-03-06 12:59:08 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggmux: implement vp8 granulepos function
	  Add an extra function to the oggstream map to inform it about
	  the incoming buffers. This way oggmux can keep a count on the
	  vp8 invisible frames and calculate the granulepos correctly.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722682

2014-03-05 16:34:42 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	* ext/ogg/gstoggstream.h:
	  oggmux: create vp8 header data if not provided in caps
	  vp8 stream header shouldn't be assumed to be provided in caps always
	  as this would repeat the same code in all demuxers/encoders. Instead,
	  make oggmux generate them if they are not supplied.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722682

2014-03-06 13:55:17 +0100  Göran Jönsson <goranjn@axis.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtspconnection: gst_rtsp_watch_wait_backlog
	  New method that wait until there is room in backlog queue.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725898

2014-03-06 13:50:27 +0100  David Svensson Fors <davidsf@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: GstRTSPWatch func for tunnel GET response
	  Add a callback in GstRTSPWatch where the response to HTTP GET for
	  tunneled connections can be modified.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725878

2014-03-06 15:34:47 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtspdefs.h:
	  rtspdefs: add RFC 4567 headers and status code
	  This new Header and status code is used for SRTP

2014-03-07 17:09:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Buffer up to 5 seconds in multiqueue buffering mode
	  2 seconds might be too small for some container formats, e.g.
	  MPEGTS with some video codec and AAC/ADTS audio with 700ms
	  long buffers. The video branch of multiqueue can run full while
	  the audio branch is completely empty, especially because there
	  are usually more queues downstream on the audio branch.

2014-03-06 22:37:44 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Keep the number of buffers after an adaptive streaming demuxer lower
	  Usually these buffers are multiple seconds large, and having a maximum
	  of 5 buffers in the multiqueue there can use a lot of memory. Lower
	  this to 2 for adaptive streaming demuxers.

2014-03-06 22:28:46 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Simplify adaptive streaming demuxer code a bit

2014-03-06 17:49:09 +0000  Adrien Schwartzentruber <adrien.schwartzentruber@gmail.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: demote debug WARNING to LOG for variable framerate video input
	  No need why we need to warn about that, it's perfectly allowed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725837

2014-01-30 15:41:49 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* tests/check/Makefile.am:
	* tests/check/elements/textoverlay.c:
	  tests: add textoverlay passthrough with composition feature unit tests
	  https://bugzilla.gnome.org/show_bug.cgi?id=721953

2014-01-23 12:20:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* ext/pango/gstbasetextoverlay.c:
	  pango: basetextoverlay: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
	  https://bugzilla.gnome.org/show_bug.cgi?id=721953

2014-01-23 12:19:13 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/video/video-overlay-composition.h:
	  video-overlay-composition: add GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION

2014-03-04 16:51:58 +0200  Andres Gomez <agomez@igalia.com>

	* REQUIREMENTS:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.signals:
	  docs: Removing GnomeVFS left bits
	  gnomevfs was removed time ago but there are still some left bits.
	  https://bugzilla.gnome.org/show_bug.cgi?id=725658

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

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: lower H.263 typefinder max probability
	  The typefinder returns LIKELY for as little as one possible
	  sync and no bad sync (not even taking into account how much
	  data was looked at for that). It's generally just not fit
	  for purpose, so should just not return anything like LIKELY
	  at all ever, even more so since it only recognises one out
	  of ten H263 files, and likes to mis-detect mp3s as H263.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700770
	  https://bugzilla.gnome.org/show_bug.cgi?id=725644

2014-03-02 11:58:58 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: Call closed() when GET is closed in tunneled mode
	  This patch adds read source on the write socket in tunneled
	  mode and we get a callback when client disconnects the GET
	  channel.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725313

2014-03-02 12:58:21 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/video/video-format.c:
	  videoformat: Remove duplicate/incorrect section
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

2014-03-02 12:54:08 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	* gst-libs/gst/video/video-format.c:
	  docs: Add annotations for return values
	  Rephrase and clarify some return value descriptions
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

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

	  docs: Fix argument and annotation typos
	  * colorbalance: Fix misspelled annotation
	  * rtsp: Replace incorrectly documented function argument
	  * sdp: Escape @ character to avoid gtk-doc warning
	  * video-*: Add missing annotation colon
	  * videodecoder/video-color: Fix function argument typos
	  * videoutils: Remove unknown annotation field
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725521

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

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

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

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

2014-02-20 20:01:30 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaybin2.c:
	  playbin: improve autoplug_query_caps return
	  Makes autoplug_query_caps return
	  downstream_caps + intersect_first(filter_caps, element_caps)
	  https://bugzilla.gnome.org/show_bug.cgi?id=724828

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

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

2014-02-26 11:43:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix build with older GLib versions
	  The gio/gnetworking.h header is only available since glib 2.36
	  https://bugzilla.gnome.org/show_bug.cgi?id=725206

2014-02-26 11:45:24 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Add missing include
	  https://bugzilla.gnome.org/show_bug.cgi?id=725206

2014-02-21 14:01:37 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: improve gst_play_sink_convert_bin_getcaps return
	  If we have the peer caps and a caps filter, return peer_caps +
	  intersect_first (filter, converter_caps) instead of
	  intersect_first (filter, peer_caps + converter_caps) and preservers
	  downstream caps preference order.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724893

2014-01-31 00:06:18 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/rtp-basepayloading.c:
	* tests/check/libs/rtpbasedepayload.c:
	* tests/check/libs/rtpbasepayload.c:
	  tests: Refactor RTP basepayloading test into pay/depay parts
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723328

2014-01-31 00:19:16 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Let caps event also configure seqnum-offset
	  Previously the sequence number kept track of by GstRTPBasePayload would
	  only be set when going from READY to PAUSED state. This meant that a
	  downstream element that attempted to configure a basepayloader by
	  setting seqnum-offset e.g. in its sinkpad's caps template would have
	  trouble configuring the basepayloader. The reason was that the caps
	  event which arrives with the desired value for seqnum-offset did not
	  arrive at the basepayloader until caps negotiation took place,
	  significantly later than the transition from READY to PAUSED.
	  The result after this patch is that the default value for the
	  seqnum-offset property, or later set values for this property, will take
	  effect when going from READY to PAUSED like before. In addition the an
	  arriving caps event will also affect the basepayloaders configured
	  sequence number as the event arrives.

2014-01-31 00:18:35 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Fix payload type property boundary value
	  The payload type field in an RTP packet header is 7 bits wide, hence the
	  boundary values ought to be 0x00 and 0x7f, not the previously stated
	  values 0x00 and 0x80.

2014-01-31 00:06:30 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: Fix typos in comments

2014-02-21 19:28:55 +0000  Tim-Philipp Müller <tim@centricular.com>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideopool.c:
	  docs: add GstVideoPool to docs

2014-02-21 09:53:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: If we have a demuxer without dynamic srcpads, just assume no-more-pads
	  Otherwise we will wait until the multiqueue after the demuxer will
	  overrun, which is clearly not needed then.

2014-02-21 09:43:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Also make sure to not duplicate an element factory after a group
	  If we are using an adaptive stream demuxer, which outputs a non-container
	  stream, we are putting another multiqueue after the *parser* following
	  the adaptive stream demuxer. We do not want to add another instance of
	  the same parser right after this multiqueue.

2014-02-20 15:38:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: During pre-rolling always use the auto-preroll limits on multiqueues
	  Even if we're buffering in the multiqueues.

2014-02-20 15:37:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Pass through the seekability information when setting multiqueue limits

2014-02-20 15:36:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: During exposing of pads don't set the multiqueue limits multiple times to different values
	  Instead just set them once in the very end to the correct values.

2014-02-20 15:07:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Only enable multiqueue buffering once we're pre-rolled
	  Otherwise we will emit buffering messages not just from the last
	  multiqueue but also from previous multiqueues... confusing the
	  application with different percentages during pre-rolling.

2014-02-20 15:02:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Make sure that we always have a second multiqueue for adaptive streaming demuxers
	  For adaptive streaming demuxer we insert a multiqueue after
	  this demuxer. This multiqueue will get one fragment per buffer.
	  Now for the case where we have a container stream inside these
	  buffers, another demuxer will be plugged and after this second
	  demuxer there will be a second multiqueue. This second multiqueue
	  will get smaller buffers and will be the one emitting buffering
	  messages.
	  If we don't have a container stream inside the fragment buffers,
	  we'll insert a multiqueue below right after the next element after
	  the adaptive streaming demuxer. This is going to be a parser or
	  decoder, and will output smaller buffers.

2014-02-19 10:21:16 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Always use buffering in multiqueue for adaptive streams

2014-02-19 10:06:13 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Only add a queue2 for buffering for non-adaptive streaming streams

2013-02-06 08:46:58 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: pass on the buffering property for adaptive streams
	  Adaptive streams should download its data inside the demuxer, so
	  we want to use multiqueue's buffering messages to control the
	  pipeline flow and avoid losing sync if download rates are low;
	  https://bugzilla.gnome.org/show_bug.cgi?id=707636

2014-02-21 19:07:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/libs/.gitignore:
	  tests: add new unit tests to .gitignore

2014-02-19 13:54:17 +0100  Ognyan Tonchev <ognyan@axis.com>

	* tests/check/Makefile.am:
	* tests/check/libs/rtspconnection.c:
	  rtspconnection: New unit test
	  See https://bugzilla.gnome.org/show_bug.cgi?id=724720

2014-02-19 13:53:06 +0100  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Remove read child source when POST is disconnected
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724720

2014-02-19 16:10:25 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* win32/common/libgstrtsp.def:
	  defs: update for new rtspconnection symbols

2014-02-19 01:55:50 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: allow file to go until the end in push mode
	  When seeking back to original state after duration seeks, let
	  upstream know that we want the whole file, including the last
	  byte that wasn't requested on the duration seeks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724633

2014-02-19 23:54:59 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: remove unused instance variable event
	  It is never set to anything

2014-02-16 17:39:35 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: allow specifying a certificate database
	  Two new functions have been added,
	  gst_rtsp_connection_set_tls_database() and
	  gst_rtsp_connection_get_tls_database(). The certificate database will be
	  used when a certificate can't be verified with the default database.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724393

2014-02-16 23:55:17 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: get rid of superfluous whitespaces

2014-02-18 20:48:57 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/encodebin.c:
	  encodebin: simplify tests
	  Also use the profile helper for the ogg profile here.

2014-02-18 13:08:09 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/video-info.c:
	  video: Fix NV12_64Z32 default offset and size
	  This was a regression introduced by f52fd7a68, where we started using
	  the stride to encode the dimensions in tiles. This patch simply updates
	  offset and size calculation as described in the documentation,
	  part-mediatype-video-raw.txt.

2014-02-18 15:02:57 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Keep inputselector around until we release its pads
	  Otherwise there's an interesting race condition when we destroy
	  the inputselector (actually it will be destroyed later when its state
	  change message gets destroyed) and afterwards release its sinkpad.
	  This is the code path when the last channel is removed from the
	  input selector.
	  Gave this warning sometimes, for chained oggs or whenever else
	  we change decode groups:
	  GStreamer-CRITICAL **: Padname '':sink_0 does not belong to element inputselector0 when removing

2014-02-18 10:42:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/audioconvert/gstchannelmix.c:
	  audioconvert: never do mixing for 1->1 channel conversions
	  MONO and NONE position are the same, for example, but in
	  general there isn't much to do here for such a conversion.
	  Fixes problem in audioconvert, which would end up using
	  a mixmatrix when converting between different mono format
	  because it thinks MONO positioning is different from
	  unpositioned channels, which is not the case in this
	  special case. The mixmatrix would end up being 0.0 so
	  audioconvert would convert to silence samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724509

2014-02-18 10:32:46 +0000  Rafał Mużyło <galtgendo@o2.pl>

	* gst-libs/gst/audio/audio-info.c:
	  audio: map channels=1,channel-mask=0 to MONO instead of NONE
	  Fixes problem in audioconvert, which would end up using
	  a mixmatrix when converting between different mono format
	  because it thinks MONO positioning is different from
	  unpositioned channels, which is not the case in this
	  special case. The mixmatrix would end up being 0.0 so
	  audioconvert would convert to silence samples.
	  https://bugzilla.gnome.org/show_bug.cgi?id=724509

2014-02-16 21:24:29 +0100  Stefan Sauer <ensonic@users.sf.net>

	* tests/check/elements/encodebin.c:
	  encodebin: refactor tests
	  Add a new test to demo how to get missing plugin message.
	  Split some tests that unneccesarily munge unrelated checks into one test.

2014-02-16 15:32:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Only remove the complete text chain if the text pad goes away
	  If the text pads does not go away we just set the overlay to silent, which
	  allows us to immediately re-enable subs later again. However before this
	  change we also released the streamsynchronizer text pads, which deadlocked
	  because there was still dataflow going on. Just do this only if we remove
	  the complete chain.
	  https://bugzilla.gnome.org/show_bug.cgi?id=683504

2014-02-14 20:16:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/Makefile.am:
	* tools/gst-play.c:
	  tools: gst-play: add volume control

2014-02-13 16:03:01 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/ogg/gstoggmux.c:
	  oggmux: properly flush when seeking at the beginning
	  Reset all internal status when collect pads forwards a flush-stop
	  from the pads to be able to start the stream again.

2014-02-12 17:34:32 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Don't leak pad references

2014-02-02 23:59:36 +0100  Sebastian Rasmussen <sebras@hotmail.com>

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

2014-02-11 16:35:45 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: First try to get the pad's current caps, then query caps
	  The caps query might give us ANY caps while the pad has fixed caps
	  configured currently.

2014-02-10 16:33:50 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix memory leak in autoplugging code
	  We should not leak element factories ideally.

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

	* tests/check/elements/playbin-complex.c:
	  playbin: Fix memory leak in unit test

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

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Remove unused function

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

	* gst-libs/gst/audio/gstaudiosrc.h:
	  audiosrc: Fix typo in docs
	  We read *from* the audio device, not to it.

2014-02-08 20:08:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/opus.c:
	  opus: Remove unused variable from unit test

2014-02-08 17:11:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videoscale.c:
	  videoscale: Fix compiler warning in unit test
	  error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'

2014-02-08 17:11:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/videoconvert.c:
	  videoconvert: Fix compiler warning in unit test
	  error: implicit conversion from enumeration type
	  'GstFormat' to different enumeration type 'GstVideoFormat'

2014-02-08 17:07:15 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: Fix types for comparisons
	  Storing a 64 bit integer in a 32 bit integer and then checking
	  for the error cases might not be ideal.
	  error: comparison of constant -9223372036854775808 with
	  expression of type 'guint' (aka 'unsigned int') is always true

2014-02-08 17:02:27 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/ogg/gstoggmux.h:
	  oggmux: Fix typo in header include guard
	  clang does not like this.

2014-02-08 17:01:38 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/alsa/gstalsaplugin.c:
	  alsa: Make clang happy with our g_strdup_vprintf() wrapper

2014-02-07 15:33:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/examples/playback/playback-test.c:
	  playback-test: allow seeking outside of the range
	  For download buffer, allow seeking outside of the already downloaded
	  area.

2014-02-07 02:09:10 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* ext/pango/gstbasetextoverlay.c:
	  basetextoverlay: use correct segment for text
	  video time uses the 'segment' and the text time should use
	  the 'text_segment'.
	  If different segments are used for video and text it would
	  lead to out of sync video/subtitles.

2014-02-04 14:31:29 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/libs/rtp.c:
	  check: add some more checks
	  Add header and payload length check in case of CSRCs.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=723196

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

	* tests/examples/seek/jsseek.c:
	  jsseek: Add missing HAVE_X check
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723507

2014-02-04 13:55:49 +0100  Eric Trousset <etrousset@awox.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Forward TIME seeks upstream too, maybe upstream can handle that
	  https://bugzilla.gnome.org/show_bug.cgi?id=723597

2014-01-31 23:27:03 +0100  Stefan Sauer <ensonic@users.sf.net>

	* docs/libs/gst-plugins-base-libs-docs.sgml:
	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-channels.c:
	* gst-libs/gst/audio/gstaudiometa.c:
	  docs: doc fixes for audio library
	  Add sections docs for audiometa. Fix sections docs for audiochannels. Remove old
	  mixerutil section.

2014-01-31 13:40:36 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: ensure having caps when setting the buffer pool config
	  It happens if downstream does not propose a buffer pool.
	  GST_DEBUG=2 gst-launch-1.0 videotestsrc ! fakesink
	  https://bugzilla.gnome.org/show_bug.cgi?id=723271

2014-01-30 21:18:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Support non-ASCII tags
	  By calling setlocale() to get us multi-byte/UTF-8 support.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723164

2014-01-28 14:28:27 +0100  Bastien Nocera <hadess@hadess.net>

	* tools/gst-discoverer.c:
	  gst-discoverer: Support non-ASCII tags
	  By calling setlocale() to get us multi-byte/UTF-8 support.
	  https://bugzilla.gnome.org/show_bug.cgi?id=723164

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

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

2014-01-29 13:58:07 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: push pending events before eos
	  Push any pending events downstream before pushing eos

2014-01-29 12:33:21 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/audioencoder.c:
	  tests: audioencoder: add tests analogous to the videoencoder ones

2014-01-29 12:32:16 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: push pending events and tags before EOS
	  if there are tags or events pending and an EOS is received, push those
	  events and tags before the EOS.

2014-01-28 15:25:05 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videoencoder.c:
	  tests: videoencoder: check that tags are pushed before eos
	  Check that if a new tag event is received right before eos it
	  is pushed before the eos

2014-01-28 15:30:35 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: push tags and events before eos
	  if any tags or events are pending, push them before pushing eos

2014-01-28 15:06:39 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/videoencoder.c:
	  tests: videoencoder: basic videoencoder base class test
	  Adds a single test for video encoding

2013-11-26 01:13:45 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Do cosmetic changes to rtptime calculations
	  * Change running time type to guint64
	  * Use GST_CLOCK_TIME_NONE() to check for invalid timestamps
	  * Name variables so ns-based and hz-based timestamps are evident
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-28 00:40:38 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Expose running-time of payloaded stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=719415

2014-01-22 17:47:02 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Improve documentation for perfect-rtptime
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-16 16:58:43 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Fix typos in documentation for properties
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719383

2014-01-28 00:19:07 +1100  Alessandro Decina <alessandro.d@gmail.com>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: make it possible to register multiple handlers for autoplug-select
	  Change the way autoplug-select is accumulated so that it's possible to have
	  multiple handlers. The handlers keep getting called as long as they keep
	  returning GST_AUTOPLUG_SELECT_TRY.
	  One practical example of when this is needed is when hooking into playbin's
	  uridecodebin, which is perhaps not very elegant but the only way to influence
	  which streams playbin autoplugs/exposes.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723096

2014-01-16 21:49:59 +0100  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	* tests/check/libs/rtp-basepayloading.c:
	  rtpbasepayload: Add statistics property
	  This property allows for an atomically retrieved set of properties that
	  can e.g. be used to generate RTP-Info headers.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719415

2013-07-26 15:44:28 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Drop hardcoded list of media suitable for download buffering
	  Discussion on IRC indicated that the main reason for this list was to
	  prevent demuxers that can trigger a lot of seeking from using
	  progressive buffering using queue2 (which due to being seekable triggers
	  that behaviour).
	  However given that upstream can indicate seeks are possible but should
	  be avoided via a scheduling query, this extra whitelisting shouldn't be
	  necessary for well-behaved demuxers.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704933

2014-01-24 12:19:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvert.c:
	  videoconvert: tweak the scoring algorithm
	  Make a little table of conversions and manually score them. Use this
	  info to define better weights for the scoring algorithm.
	  give separate scores for doing changes and the impact of the change,
	  This allows us to avoid conversion when we can but still allow fairly
	  lossless changes.
	  The old code did not penalize GRAY conversions, PAL conversions were
	  punished too low and depth conversions too high.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722656

2014-01-23 10:45:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-chroma.c:
	  video-chroma: don't crash on NULL resamplers
	  Make dummy resamplers for all cases and only execute the horizontal
	  resampler instead of crashing.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=722742

2014-01-21 11:21:56 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: make _get_time more threadsafe
	  We call the _get_time function from the provided clock and we don't lock
	  the sink object for performance reasons. Make sure we only read and
	  check variables once so that they don't change while we are executing
	  the code.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720661

2014-01-20 16:11:04 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/audioresample/resample.c:
	  audioresample: It's HAVE_EMMINTRIN_H, not HAVE_XMMINTRIN_H for SSE2

2014-01-20 15:44:09 +0100  Antoine Jacoutot <ajacoutot@gnome.org>

	* gst/audioresample/resample.c:
	  audioresample: Fix build on x86 if emmintrin.h is available but can't be used
	  On i386, EMMINTRIN is defined but not usable without SSE so check for
	  __SSE__ and __SSE2__ as well.
	  https://bugzilla.gnome.org/show_bug.cgi?id=670690

2014-01-20 10:30:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	  configure: Initialize Qt variables

2014-01-20 09:46:15 +0100  Sebastian Dröge <sebastian@centricular.com>

	* configure.ac:
	* tests/examples/overlay/Makefile.am:
	* tests/examples/overlay/qt-videooverlay.cpp:
	  examples: Port Qt examples to Qt5

2014-01-18 19:22:12 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Fix G726 caps creation
	  https://bugzilla.gnome.org/show_bug.cgi?id=720995

2014-01-18 00:18:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: minor docs fix
	  Can use a custom main context as well if needed.

2014-01-18 13:54:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: Add API to get the currently pending frame size for parsing
	  https://bugzilla.gnome.org/show_bug.cgi?id=719890

2014-01-18 21:20:51 +0900  Wonchul Lee <chul0812@gmail.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Remove unnecessary assignment
	  Remove duplicated assignment
	  https://bugzilla.gnome.org/show_bug.cgi?id=722491

2014-01-18 13:31:06 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Insert decoders without GstAVElement information between the other decoders
	  Otherwise they would be preferred over all decoders independent
	  of their ranks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722316

2014-01-18 13:12:16 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Only put parsers and sinks first, not all non-decoders
	  https://bugzilla.gnome.org/show_bug.cgi?id=722316

2014-01-17 11:08:32 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: plug a few leaks
	  Remove leaks of caps and events references

2014-01-17 10:17:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: plug leak when frames are released on subclass stop
	  They end up stored in the 'pending_events' list and should be
	  freed after calling stop

2014-01-17 15:10:42 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tools/gst-play.c:
	  gst-play: Handle CLOCK_LOST message
	  It is necessary for playbin gapless playback when switching
	  between audio-only and video-only files for example.

2014-01-16 16:32:34 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: handle ACCEPT_CAPS query correctly
	  We can accept a caps when one of the downstream peers can accept the
	  caps. This is not the same as checking a subset of the getcaps
	  result because parsers might accept broader caps than what their getcaps
	  function returns (See https://bugzilla.gnome.org/show_bug.cgi?id=677401).
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330

2014-01-14 13:02:28 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add another test for negotiation with gap event
	  Check that even if the subclass doesn't call set_output_format, the base
	  class should use upstream provided caps to fill the output caps that is
	  pushed before the gap event is forwarded, otherwise it ends again fixating
	  the rate and channels to 1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 13:05:54 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: copy rate and channels from input before fixating output caps
	  For default caps generation when handling gap events that are sent
	  before any buffer, try to use caps that are closer to what upstream
	  provided to avoid fixating rate or channels to 1 as default.
	  So there are the steps:
	  1) Try to set rate, channels and channel-mask from upstream if provided
	  2) Fixate the rate and channels to the default rate and channels from
	  audio lib
	  3) Fixate the caps just to be sure everything is fixed
	  4) If no channel-mask was provided and channels > 2, use a default
	  channel-mask (taken from audioconvert code)
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 23:07:34 +0100  Holger Kaelberer <hk@getslash.de>

	* sys/xvimage/xvimagesink.c:
	  xvimagesink: don't recreate xvcontext
	  A xvcontext can be created early in gst_xvimagesink_set_window_handle().
	  In this case don't recreate, i.e. overwrite it in gst_xvimagesink_open().
	  Otherwise XEvents won't be handled in the xevent listener thread.
	  Fixes a regression when setting the window handle on the sink in
	  the very beginning before changing its state.
	  https://bugzilla.gnome.org/show_bug.cgi?id=715138

2014-01-14 12:05:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix broken seeking reading the whole file
	  A change in gst_ogg_demux_do_seek caused oggdemux to wait for
	  a page for each of the streams, including a skeleton stream if
	  one was present. Since Skeleton only has header pages, that
	  was never going to end well.
	  Also, the code was skipping CMML streams when looking for pages,
	  so would also have broken on CMML streams.
	  Thus, we change the code to disregard Skeleton streams, as well
	  as discontinuous streams (such as CMML and Kate). While it may
	  be desirable to consider Kate streams too (in order to avoid
	  losing a subtitle starting near the seek point), this may be
	  a performance drag when seeking where no subtitles are. Maybe
	  one could add a "give up" threshold for such discontinuous
	  streams, so we'd get any page if there is one, but do not end
	  up reading preposterous amounts of data otherwise.
	  In any case, it is important that the code that determines
	  the amount of streams to look pages for remains consistent with
	  the "early out" conditions of the code that actually parses
	  the incoming pages, lest we never decrease the pending counter
	  to zero.
	  This fixes seeking on a file with a skeleton track reading all
	  the file on each seek.
	  https://bugzilla.gnome.org/show_bug.cgi?id=719615

2014-01-13 15:14:14 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: use an adaptive chunksize for performance reasons
	  Ogg data is read chunk by chunk, and the chunk size used was
	  originally taken from libvorbisfile. However, this value leads
	  to poor performance when used on an Ogg file with large pages
	  (Ogg pages can be close to 64 KB).
	  We can't just use a larger chunk size, since this will decrease
	  performance on small page streams, so we use an adaptive scheme
	  where the chunk size is twice the largest page size we've seen
	  so far in the stream. For "typical" Ogg/Vorbis, this gives us
	  almost the same chunk size (a bit lower), and this lets us get
	  better performance on streams with large pages.

2014-01-13 20:47:02 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: avoid parsing caps event if it is not used
	  Saves some cpu

2014-01-13 20:44:23 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: make sure caps is set before forwarding gap event
	  Before trying to generate a default fixated caps when handling a gap
	  event, make sure that the same strategy that is used when handling
	  a buffer has been attempted. Otherwise audiodecoder will ignore
	  upstream caps settings such as rate and channels and will likely
	  end with a caps with channels=1 and rate=1.
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-13 19:40:49 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: check that negotiation works buffers and gaps
	  Adds 2 tests to verify that output caps are the expected value, reusing
	  input structure values for both buffers and gaps
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-13 16:33:11 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/audiodecoder.c:
	  tests: audiodecoder: add basic playback test for audio decoder
	  Simple test that just check that audio decoding works as expected
	  https://bugzilla.gnome.org/show_bug.cgi?id=722144

2014-01-14 13:17:26 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/videooverlay.c:
	  videoverlay: Don't mention gconf elements and add a sentence about playbin/playsink
	  playbin/playsink now implement the video overlay interface

2014-01-13 16:28:23 +0000  Tim-Philipp Müller <tim@centricular.com>

	* win32/common/libgstvideo.def:
	  win32: add new API to .def file

2014-01-13 16:29:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: only copy chroma_site when known
	  Only overwrite the chroma-site if we have a valid value in the reference
	  format.

2014-01-13 16:20:55 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: don't interpolate chroma in I420 -> RGB
	  Don't try to interpolate the chroma samples, the used algorithm only
	  works for horizontal cositing. Let's switch to a faster and safer
	  version until we handle chroma siting correctly in the fastpaths.

2014-01-13 12:16:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/gstvideoutils.c:
	  videoutils: add some debug

2014-01-08 19:43:01 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  doc: Add new sections introduce for tile format
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-08 19:42:35 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/Makefile.am:
	  video: Generate types for tile enumeration
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-08 19:41:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-tile.h:
	  video: Don't use extra plane and componenent for tile format
	  Instead of using extra plane, we encode the number of tiles in x and y in the stride of
	  each planes (i.e. y_tiles << 16 | x_tiles) and introduce tile_mode, tile_width and
	  tile_height into GstVideoFormatInfo structure.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:36:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* tests/check/elements/videoscale.c:
	  video: rename NV12T -> NV12_64Z32
	  Is a bit more descriptive and allows us to add more tiled types
	  later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:29:09 +0100  Nicolas Dufresne <nicolas.dufresne at collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: scale vertical tiles based on subsampling
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-03 22:18:08 +0100  Nicolas Dufresne <nicolas.dufresne at collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix tiled pixel stride
	  Pixel stride is per component, not per plane. We get the tile mode from
	  the pixelstride of the TILE component.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-26 17:40:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  format: improve docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 16:22:32 +0100  Wim Taymans <wtaymans@redhat.com>

	* tests/check/elements/videoscale.c:
	  tests: fix videoscale test for NV12T
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 16:06:43 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-frame.c:
	  video-format: fix off-by-one for tiled coordinates
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 15:22:24 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-tile.h:
	  video-tile: improve docs
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:57:30 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.c:
	  video-format: use shifts when possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:23:04 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix copy of tiled formats
	  Add code to copy tiled planes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-25 14:11:57 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-tile.c:
	* gst-libs/gst/video/video-tile.h:
	  video-tile: add tile mode and helper functions
	  Move the tile helper functions to their own file. Make it possible to
	  make other tiling modes later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-20 21:27:46 +0100  Wim Taymans <wtaymans@redhat.com>

	* docs/design/part-mediatype-video-raw.txt:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: add NV12T support
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2013-12-19 16:11:50 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-format.h:
	  Add tiled color format support
	  https://bugzilla.gnome.org/show_bug.cgi?id=707361

2014-01-13 15:32:23 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Fix typo in the docs

2014-01-11 01:14:19 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: check that segment events are not dropped
	  Adds a test that simulates a scenario where the first buffers after
	  a segment can't be decoded and the decoder asks for those frames
	  to be released. The videodecoder base class should make sure that
	  the events attached to those first buffers are pushed even if the
	  buffers aren't going to be.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721835

2014-01-11 01:24:44 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: do not lose events when dropping frames
	  Events must be persisted after a frame is dropped to avoid
	  losing obligatory information for the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721835

2014-01-08 11:29:29 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add test for reverse playback
	  Checks that buffers are pushed backwards in reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=721666

2014-01-06 20:53:15 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: use new segment earlier for reverse playback
	  For reverse playback, the segment event will only be pushed when
	  the first buffer is actually pushed. But for decoding frames and storing
	  those into the list to be pushed the output_segment.rate value is used
	  to determine if it is forward or reverse playback.
	  In case a previous segment event (or none) is in use it will mistakenly
	  think it is doing forward playback and push the buffers immediatelly and
	  try to clip buffers based on an old segment (or an uninitialized one, leading
	  to an assertion)
	  This patch fixes this by copying the segment earlier if on reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=721666

2014-01-10 14:24:12 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: fix unit test breaking on duration query
	  The new switch caused breaks to not break of the main switch
	  anymore, causing fall through.

2014-01-10 15:06:23 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	  videoconvert: Update disted orc files once again

2014-01-10 11:17:38 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: gst-play: add dot file dumping for pipeline graph debugging

2014-01-10 11:17:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/pango/gstbasetextoverlay.c:
	  textoverlay: don't leak GAP events

2014-01-10 09:53:21 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: do not set TIME duration when asked for another format
	  This fixes asserts in pipelines such as:
	  gst-launch-1.0 videotestsrc num-buffers=1000 ! x264enc ! h264parse ! \
	  matroskamux name=mux ! filesink location=test.mkv

2014-01-10 09:21:08 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	  videoconvert: Update disted orc files

2014-01-09 18:12:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: rework YUV->RGB fastpaths
	  Rework the orc code to be around 10% faster and support arbitrary matrices.
	  Pass the matrix parameters to the YUV->RGB functions to make them work
	  for all matrices. This enables more and faster fastpath conversions.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=721701

2014-01-09 18:08:41 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	  videoconvert: fix I420 to BGRA fast-path some more
	  Calculate alpha value differently so that we can avoid running out
	  of registers.

2014-01-08 16:20:12 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	  videoconvert: remove unused code

2014-01-03 15:24:29 +0100  Nicola Murino <nicola.murino@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-media.c:
	  riff: Add G726 ADPCM support
	  https://bugzilla.gnome.org/show_bug.cgi?id=720995

2014-01-07 22:04:20 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add check for serialization of events
	  Tests that events are properly serialized with buffers, also checks
	  that the usual events are sent (stream start, caps, segment and eos).

2014-01-07 16:28:18 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* tests/check/Makefile.am:
	* tests/check/libs/.gitignore:
	* tests/check/libs/videodecoder.c:
	  tests: videodecoder: add simple playback test
	  Add a simple playback test that makes sure that video decoder pushes
	  buffers in the same order it receives and that it respects the
	  set timestamps and durations

2014-01-07 15:01:14 +0100  Wim Taymans <wtaymans@redhat.com>

	* win32/common/libgstrtsp.def:
	  defs: update for new symbols

2014-01-07 14:46:05 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	  rtsptransport: calculate default lower transport
	  Add an internal method to calculate the default lower transport whan it
	  is missing.

2014-01-07 14:31:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add method to get media-type from transport
	  Add a method to make a media-type from the transport. Deprecate the old
	  method that only used the mode.
	  Based on patch from Aleix Conchillo Flaqué <aleix@oblong.com>
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720219

2014-01-07 11:51:01 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add GType for Profile
	  See https://bugzilla.gnome.org/show_bug.cgi?id=720696

2014-01-05 23:35:52 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add support of BWF RF64  a 64bit wav variant
	  Detect and describe the RF64 Broadcast Wave Format.
	  Fixes #519220

2014-01-05 21:39:52 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff-read.h:
	* win32/common/libgstriff.def:
	  riff: remove new parse_ncdt api again
	  This chunk is avi specific, no need to expose this as public api.

2014-01-04 22:30:17 +0100  Stefan Sauer <ensonic@users.sf.net>

	* win32/common/libgstriff.def:
	  win32: export new riff api

2014-01-04 21:54:10 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-read.c:
	  riff: fix indentation messup from previous commit

2014-01-04 21:31:07 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	* gst-libs/gst/riff/riff-read.c:
	* gst-libs/gst/riff/riff-read.h:
	  riff: add support for nikon tags
	  Nikon cameras store metadata in a custom format. Add parsing of the chunk and
	  extract some initial data.
	  API: gst_riff_parse_ncdt()
	  Fixes #636143

2014-01-03 02:18:20 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Avoid unnecessary configuration
	  Port a change from audiobasesink from def07410, to ignore setcaps
	  when the caps don't actually change, and avoid a reconfiguration
	  and reset of the ringbuffer in that case.

2013-11-15 14:17:03 +0000  William Grant <wgrant@ubuntu.com>

	* configure.ac:
	  configure: Prevent the NEON check in configure from passing under aarch64.
	  The test verifies that the NEON C intrinsics work, but the rest of the
	  codebase uses lots of direct ARMv7 NEON assembly. The same intrinsics
	  work in A64, but the assembly is slightly different.
	  Prevent the check from passing so that we don't use this where it won't
	  work.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712367

2013-12-31 10:17:55 +0100  Stéphane Cerveau <scerveau@gmail.com>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: Add id3 tag
	  Add id3 tag for wavparse
	  https://bugzilla.gnome.org/show_bug.cgi?id=721241

2013-12-31 09:37:36 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  Revert "test-effect-switch: Change one of the pad blocks to and idle probe"
	  This reverts commit 40fe5dcc84ff2cc7dbe0112d7830a33fd764d4e1.
	  Using an idle probe here is not ideal because we'll send an EOS event
	  from the application thread... which might block for quite some time.
	  Go back to a block probe.

2013-12-30 19:48:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Always set pixel-aspect-ratio and interlace-mode in the fixed caps
	  Otherwise our caps will not be compatible with elements that require a
	  1/1 pixel-aspect-ratio or progressive video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=721103

2013-12-30 19:40:29 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  test-effect-switch: Don't put two format fields into the first capsfilter

2013-12-30 19:12:53 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/icles/test-effect-switch.c:
	  test-effect-switch: Change one of the pad blocks to and idle probe
	  Just because we can.

2013-12-30 17:30:15 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	  encoding-profile: Add missing break statement
	  And do a minor cleanup
	  COVERITY CID 1139753

2013-12-30 14:30:23 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/riff/riff-ids.h:
	  riff: add two chunk-ids for samples instruments
	  Wav files can have 'smpl' and 'inst' chunks.

2013-12-30 13:46:34 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Fix array read
	  nbchannels ranges from 1 to 8, therefore use '- 1' to get the proper
	  array value.

2013-12-30 13:33:00 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst/videorate/gstvideorate.c:
	  videorate: Remove useless assignement
	  Was already set before

2013-12-26 17:47:46 +0200  George Kiagiadakis <george.kiagiadakis@collabora.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  gstrtpbasepayload: use the session's suggested ssrc after a collision, if the session provides one
	  Conflicts:
	  gst-libs/gst/rtp/gstrtpbasepayload.c

2013-12-10 15:19:14 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstrawcaps.h:
	  playback: add ANY caps features to default audio/video raw caps
	  Allows elements using audio/video caps features to be used by playbin.

2013-12-30 10:53:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video-info: Properly initialize the info structures in set_format()
	  And don't assume in other code that set_format() preserves any fields at
	  all. These assumptions were already made here for fields that were changed
	  by set_format().

2013-12-30 10:14:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video-info: Initialize the complete struct to 0 in the beginning
	  Instead of only initializing some parts in some code paths. Also
	  makes it easier to use the reserved bits of the structs later.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720810

2013-12-27 14:29:46 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/opus/gstopusenc.c:
	  opusenc: increase max payload size to 4000 bytes
	  1275 is the maximum size of a frame, but the encoder may return
	  up to 3 frames, and we need a few extra bytes for TOC, etc. We
	  use 4000, which is a bit more, and suggested in the libopus docs.

2013-12-20 19:48:06 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Bunch of cosmetic/grammar fixes

2013-12-20 18:58:43 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Retarget FIXME to 2.0
	  Properly fixing this one would break API.

2013-12-20 18:54:39 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/audio.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	* gst-libs/gst/audio/gstaudiocdsrc.c:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.c:
	* gst-libs/gst/audio/gstaudioringbuffer.c:
	* gst-libs/gst/audio/gstaudiosink.c:
	* gst-libs/gst/audio/gstaudiosrc.c:
	  audiobase*: Drop trailing withespaces

2013-12-20 18:53:13 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Break some too long lines

2013-12-20 18:41:59 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: Add FIXME for times in NSECONDS
	  Timebase is in nanoseconds pretty much everywhere else

2013-12-26 23:21:45 +1100  Jan Schmidt <jan@centricular.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Choose a default initial caps before sending GAP
	  If there are no caps from the audio decoder when handling a GAP
	  event - as when one is received right at the start on a DVD without
	  initial audio - then choose any default caps for downstream and
	  then send the GAP, so the audio sink has a configured format in
	  which to start the ringbuffer.
	  Also, make the audio sink reject a GAP without caps with a clearer
	  error message.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=603921

2013-12-26 17:41:00 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	  rtsptransport: add more profiles
	  Add support for Feedback profiles

2013-12-25 10:45:11 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: fix plane copy for index plane
	  Move the code to handle the index plane in the _copy_plane.

2013-12-24 01:20:25 +0000  Lionel Landwerlin <llandwerlin@gmail.com>

	* gst-libs/gst/video/colorbalance.c:
	  colorbalance: add missing annotation for list_channels()
	  https://bugzilla.gnome.org/show_bug.cgi?id=720999

2013-12-23 14:54:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/videoconvert/gstvideoconvertorc.orc:
	* gst/videoconvert/videoconvert.c:
	  videoconvert: Fix I420 to BGRA fast-path alpha setting
	  This fast-path was adding 128 to every component including
	  alpha while it should only be done for all components except
	  alpha. This caused wrong alpha values to be generated.
	  Also remove the high-quality I420 to BGRA fast-path as it needs
	  the same fix, which causes an additional instruction, which causes
	  orc to emit more than 96 variables, which then just crashes.
	  This can only be fixed in orc by breaking ABI and allowing more
	  variables.

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

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

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

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

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

	* tests/check/libs/.gitignore:
	  tests: make git ignore new test binary

2013-12-20 18:06:25 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Always reset last_align
	  Should be done for all the reset_sync() cases. Not
	  only for the READY to PAUSED one.

2013-12-20 18:02:42 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Reset last_align to 0, not -1
	  This is the expected behavior in READY -> PAUSED

2013-12-20 17:58:43 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Always reset avg_skew on _reset
	  Only case in which it wasn't (READY to PAUSED) should
	  have had this value reseted too.

2013-12-20 17:10:44 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Retarget FIXME to 2.0
	  Properly fixing this one would break API

2013-12-20 15:13:54 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Factor out reset sync routine

2013-12-20 01:06:33 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Drop dead _sink_async_play() code

2013-12-20 01:03:14 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Break some too long lines

2013-12-20 00:09:22 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Cosmetics, grammar/spelling
	  - Drop repeated 'yet' from debug msg
	  - Drop repeated 'to' from param desc
	  - Some spelling

2013-12-20 08:41:45 -0500  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/video/video-info.c:
	  audio/video: Initialize all {audio|video}info fields
	  Fixes "Unitialized Scalar Variable" issues reported by Coverity.
	  Has the added advantage of detecting whether somebody *does* use those
	  fields (ending up with a invalid address).
	  https://bugzilla.gnome.org/show_bug.cgi?id=720810

2013-12-19 17:41:31 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  gstaudiobasesink: Refactor alignment computation for clarity

2013-12-18 15:52:09 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/subparse.c:
	  subparse: Add unit test for LRC subtitles

2013-12-18 15:24:02 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	  subparse: Add support for parsing LRC subtitles
	  https://bugzilla.gnome.org/show_bug.cgi?id=678590

2013-12-18 15:07:47 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/gstsubparse.h:
	  subparse: Add typefinder for LRC subtitles

2013-12-10 13:54:28 -0800  Aleix Conchillo Flaqué <aleix@oblong.com>

	  sdp: parse encryption key field
	  * gst-libs/gst/sdp/gstsdpmessage.c: parse encryption key field (k).
	  https://bugzilla.gnome.org/show_bug.cgi?id=720215

2013-12-17 18:04:33 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst/typefind/gsttypefindfunctions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: add typefinder and descriptions for audio/x-xi
	  xi files can be read by libsndfile.

2013-12-17 18:03:40 +0100  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  descriptions: longer version of two audio codec descriptions

2013-12-17 17:25:07 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	  video-format: Document usage of GST_VIDEO_FORMAT_ENCODED
	  This must only ever be used in caps in combination with a non-system
	  memory GstCapsFeatures, and where it does not make sense to specify
	  any of the other video formats. Examples of this would be in gst-vaapi.

2013-12-17 17:23:19 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  Revert "video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED"
	  This reverts commit 5fcdabd907ca45595b64131bbae0ea963e259a7c.
	  Instead of making it impossible to use the ENCODED format we should
	  just document that it must not be used for capsfeature-less caps.
	  Also this commit broke API/ABI.

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Release the allocator on hard resets

2013-12-16 15:53:41 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: release buffer pool and allocator on full reset
	  It allows to release the buffer pool sooner (i.e. when going
	  to GST_STATE_READY). Previously it was released in finalize.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=720389

2013-12-15 21:01:42 -0800  Todd Agulnick <todd@agulnick.com>

	* gst-libs/gst/audio/audio-format.c:
	* sys/xvimage/xvimagesink.c:
	  Some compiler warning fixes to satisfy XCode compiler
	  https://bugzilla.gnome.org/show_bug.cgi?id=720513

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

	* gst-libs/gst/tag/gstvorbistag.c:
	  vorbistag: Read image-type from the GstSample info struct
	  But for backwards compatibility keep reading it from the caps and only
	  use the info struct if the caps don't contain the image-type.

2013-12-13 14:36:41 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: gst_video_decoder_release_frame() is available since 1.2.2

2013-12-13 10:06:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: allow parse-launch strings for audio and video sink

2013-12-12 13:42:59 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: change SSRC on GstRTPCollision event
	  Change our SSRC and update the caps when we receive a GstRTPCollision
	  event from downstream.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711560

2013-12-12 13:06:30 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: implement src_event function
	  Add a srcpad event handler and call the src_event vmethod.

2013-12-11 16:49:35 +0100  Edward Hervey <bilboed@bilboed.com>

	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: specify/restrict usage of GST_VIDEO_FORMAT_ENCODED
	  GST_VIDEO_FORMAT_ENCODED was added to support *extracting* video-related
	  information (like width, height, framerate,...) from caps.
	  It is __NOT__ intended to be used as a format field on video/x-raw caps.

2013-12-10 00:13:55 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* tests/check/Makefile.am:
	* tests/check/libs/rtp-basepayloading.c:
	  tests: Add test for rtpbasepayload/-depayload
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720162

2013-12-10 00:56:07 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* tests/check/libs/rtp.c:
	  rtpbuffer: Allow subbuffering of empty buffers
	  See https://bugzilla.gnome.org/show_bug.cgi?id=720162

2013-12-09 16:34:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix indention

2013-12-09 16:33:40 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Add sink_query() src_query() virtual functions
	  Based on the videodecoder change by Nicolas Dufresne and applied
	  here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=720103

2013-11-27 16:39:52 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: Add sink_query() src_query() virtual
	  https://bugzilla.gnome.org/show_bug.cgi?id=720103

2013-12-09 13:55:28 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-kb.c:
	  tools: play: fix compiler warning on windows

2013-12-06 19:27:04 -0500  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideoutils.h:
	  videocodecframe: Correct function name in doc

2013-12-06 16:23:46 -0500  Olivier Crête <olivier.crete@collabora.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideoencoder.h:
	  videoencoder: Remove gst_video_encoder_set/get_discont
	  They've never existed outside the header file.

2013-12-04 01:08:13 +0100  Sebastian Rasmussen <sebras@hotmail.com>

	* docs/design/Makefile.am:
	  docs: add missing files for distribution
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720015

2013-12-05 16:17:22 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: handle the RESYNC flag
	  Also resync when a buffer with the RESYNC flag is seen.

2013-12-05 14:39:57 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audiodec/enc: clear reconfigure flag if negotiate succeeds
	  So that it avoids to send an allocation query twice.
	  One from an early call to gst_audio_encoder_negotiate from a
	  subclass, then one from gst_audio_encoder_allocate_output_buffer.
	  Which means that previously gst_audio_encoder_negotiate was not
	  clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684

2013-12-05 14:31:25 +0000  Julien Isorce <julien.isorce@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodec/enc: clear reconfigure flag if negotiate succeeds
	  So that it avoids to send an allocation query twice.
	  One from an early call to gst_video_encoder_negotiate from a
	  subclass, then one from gst_video_encoder_allocate_output_frame.
	  Which means that previously gst_video_encoder_negotiate was not
	  clearing the GST_PAD_FLAG_NEED_RECONFIGURE even on success.
	  Fixes bug https://bugzilla.gnome.org/show_bug.cgi?id=719684

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

	* ext/opus/gstopusdec.c:
	  opusdec: Require caps to be set before any data processing

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

	* ext/theora/gsttheoradec.c:
	  theoradec: Use new gst_video_decoder_set_needs_format() API

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

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Use FALSE instead of 0

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* win32/common/libgstvideo.def:
	  videodecoder: Add API to allow subclasses to specify that they needs caps before any buffers

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

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Return not-negotiated if we don't have caps when the first buffer arrives
	  Otherwise things like filesrc ! jpegenc ! fakesink just crash with
	  a segmentation fault because subclasses expect caps to be there.

2013-12-04 19:24:08 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: no fallback to segment start for reverse playback
	  See https://bugzilla.gnome.org/show_bug.cgi?id=709965

2013-12-05 00:27:14 +0900  Justin Joy <justin.joy.9to5@gmail.com>

	* gst-libs/gst/video/convertframe.c:
	  convertframe: Fix trivial memory leak in debug statement
	  gst_element_get_name() requires the caller to g_free() the return value
	  https://bugzilla.gnome.org/show_bug.cgi?id=719850

2013-12-02 20:35:04 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: use segment start as fallback ts if no other available
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=709965

2013-12-01 12:37:52 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstvideo.def:
	  videodecoder: add new API to docs and defs

2013-11-26 20:50:33 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	  videodecoder: make _release_frame external API
	  ... so subclasses can release a frame all the way (also from frame list)
	  without having to pass through _finish_frame or _drop_frame.
	  The latter may not be applicable, or may or may not have already
	  been called for the frame in question.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=693772

2013-11-26 20:51:58 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: fix spelling error in debug message

2013-11-29 17:30:09 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: copy sticky events

2013-11-29 17:26:13 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: copy sticky events

2013-11-29 13:32:55 +0100  Sebastian Dröge <sebastian@centricular.com>

	* ext/theora/gsttheoraparse.c:
	  theoraparse: Fix event handling
	  Send CAPS event before any SEGMENT events or any other events
	  that must come in order after the CAPS event.

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

	* tools/gst-play.c:
	  tools: gst-play: quit on Q or Esc key

2013-11-28 16:22:01 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/tcp/gsttcpserversink.c:
	  tcp: fix compilation with MSVC
	  error C2440 at line 165 of gsttcpserversink.c
	  type cast error: cannot convert from GSocket* to GstMultiSinkHandle

2013-11-28 11:25:20 +0100  Wim Taymans <wtaymans@redhat.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: activate ghost pad before targetting
	  Activate the decodebin2 pad before setting the target. This makes sure
	  that the events are copied.

2013-11-21 22:54:42 +1100  Matthew Waters <ystreet00@gmail.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: add GstVideoGLTextureUploadMeta buffer pool option
	  allows configuration of whether GstVideoGLTextureUploadMeta is
	  added to buffers resulting from a buffer pool.  This is sperate
	  to the caps feature in that an element may want to add the upload
	  meta itself rather than allowing the buffer pool to.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712798

2013-11-26 12:29:30 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: error out if no frames are decoded before eos
	  Raise an error in case no frames are decoded before EOS and we
	  have input, meaning that data was received but it was somehow invalid.
	  Based on the videodecoder change, merged here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-26 12:20:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Allow using -1 for infinite tolerated errors
	  Allows using -1 to make audiodecoder never post an error message
	  after decoding errors.
	  Based on the videodecoder change, merged here for consistency.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-26 12:03:24 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix visualizations if no visualization plugin was set
	  https://bugzilla.gnome.org/show_bug.cgi?id=712280

2013-10-29 14:40:23 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: error out if no frames are decoded before eos
	  Raise an error in case no frames are decoded before EOS and we
	  have input, meaning that data was received but it was somehow invalid.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-10-29 14:11:51 -0300  Thiago Santos <ts.santos@sisa.samsung.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: allow using -1 for infinite tolerated errors
	  Allows using -1 to make videodecoder never post an error message
	  after decoding errors.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711094

2013-11-24 14:38:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play-kb.h:
	* tools/gst-play.c:
	  tools: play: implement seeking via console in interactive mode
	  Arrow left and right to seek back of forward.

2013-11-24 14:33:24 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: fix endless loop on unhandled keys
	  When debugging output is not enabled.

2013-11-24 13:49:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: add keyboard controls for next/previous item in list
	  Make the '>' and '<' keys skip to the next or previous item in
	  the playlist.

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

	* tools/Makefile.am:
	* tools/gst-play-kb.c:
	* tools/gst-play-kb.h:
	* tools/gst-play.c:
	  tools: play: add --interactive switch and basic keyboard handling
	  Only pause/play with spacebar for now.

2013-11-23 11:25:28 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefinder for OpenEXR

2013-11-21 21:33:59 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: avoid descending output timestamps
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712796

2013-11-22 21:00:21 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tools/gst-play.c:
	  tools: play: add --shuffle command line option

2013-11-21 16:34:25 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/subparse.c:
	  tests: add unit test for samiparser issue
	  https://bugzilla.gnome.org/show_bug.cgi?id=712805

2013-11-21 22:04:46 +0900  Jihyun Cho <jihyun.jo@gmail.com>

	* gst/subparse/samiparse.c:
	  subparse: fix null pointer access in sami parser
	  https://bugzilla.gnome.org/show_bug.cgi?id=712805

2013-11-21 15:19:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  subparse: g_memmove() is deprecated
	  Just use plain memmove(), g_memmove() is deprecated in
	  recent GLib versions.
	  https://bugzilla.gnome.org/show_bug.cgi?id=712811

2013-11-18 19:27:14 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/icles/input-selector-test.c:
	  tests: fix input-selector-test
	  Update for pad template name changes.

2013-11-18 16:03:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/appsrc.c:
	  tests: fix appsrc test with latest GLib version
	  With the latest GLib, g_source_remove() complains about not finding
	  the timeout source with the given ID here, since it was already
	  destroyed by returning FALSE from the timeout callback. Also return
	  FALSE from the bus watches when we don't want to be called any more.

2013-11-16 13:06:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* ext/cdparanoia/gstcdparanoiasrc.c:
	* ext/pango/gstbasetextoverlay.c:
	* ext/theora/gsttheoraparse.c:
	* gst/app/gstapp.c:
	* gst/audiorate/gstaudiorate.c:
	* gst/gio/gstgiosink.c:
	* gst/gio/gstgiosrc.c:
	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultioutputsink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/videorate/gstvideorate.c:
	* sys/ximage/ximagesink.c:
	* sys/xvimage/xvimagesink.c:
	  docs: remove old 0.10 Since markers
	  They're just confusing.

2013-11-16 12:29:04 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspdefs.c:
	* gst-libs/gst/rtsp/gstrtsprange.c:
	* gst-libs/gst/rtsp/gstrtsprange.h:
	  docs: cosmetic since marker fixes

2013-11-16 15:24:48 +0100  Mark Nauwelaerts <mnauw@users.sourceforge.net>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: also set output buffer DTS

2013-11-14 01:53:31 -0300  Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Fix identification of some MPEG files
	  Make sure we begin by peeking at MPEG2_MAX_PROBE_LENGTH
	  bytes.
	  Fixes:
	  https://bugzilla.gnome.org/show_bug.cgi?id=678011

2013-11-13 20:12:48 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: Fix gst_rtp_buffer_ext_timestamp() with clang 5 on iOS/ARM
	  The bitwise NOT operator is not defined on signed integers.
	  Thanks to Wim Taymans for finding the cause.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711819

2013-11-12 18:58:43 +0000  Tim-Philipp Müller <tim@centricular.com>

	* tests/check/elements/streamsynchronizer.c:
	  tests: fix race in streamsynchronizer test
	  Wait for thread to exit before starting to free the
	  to_push list, otherwise thread might check the final
	  to_push->next node only after we've freed it already.

2013-11-11 14:10:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: try to negotiate the buffer pool even though there is no o/p format
	  We could have allocation query before caps event and even without caps inside
	  the query. In such cases , the downstream can return a bufferpool object with
	  out actually configuring it. This feature is helpful to negotiate the bufferpool
	  with out knowing the output video format. For eg: some hardware accelerated
	  decoders can interpret the o/p video format only after it finishes the decoding
	  of one buffer at least.
	  https://bugzilla.gnome.org/show_bug.cgi?id=687183

2013-11-07 15:03:34 +0000  Tom Greenwood <tcdgreenwood@hotmail.com>

	* gst-libs/gst/app/gstappsrc.c:
	  appsrc: Fix deadlock that may occur when multiple threads access appsrc at once
	  https://bugzilla.gnome.org/show_bug.cgi?id=711550

2013-11-04 09:55:17 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: accumulate buffers in adapter
	  Accumulate buffers in an adapter instead of appending them because append causes
	  a lot of memcpys.
	  Keep track of the last tagsize and accumulate enough data before attempting to
	  parse more data.
	  This patch implements a minimal amount of changes in order to not change the
	  behaviour. We should really rewrite the tag handling and trimming using
	  the adapter API instead of merging and trimming into a buffer.

2013-11-06 12:16:31 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/adder.c:
	  adder: Free consistency checker instance in test_live_seeking test

2013-11-06 12:01:14 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/elements/adder.c:
	  adder: Release some request pads properly in the unit test

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

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

2013-11-04 11:34:38 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: fix build after last commit
	  Add a forward declaration for my_g_string_append_printf that specifies
	  G_GNUC_PRINTF. Turn off indent on it as it drives gst-indent crazy.

2013-11-04 11:17:30 +0100  Alessandro Decina <alessandro.d@gmail.com>

	* tools/gst-discoverer.c:
	  discoverer: fix -Wformat-nonliteral warning

2013-11-03 15:57:54 +0100  Sebastian Dröge <sebastian@centricular.com>

	* tests/check/libs/audio.c:
	  audio: Add unit test for filling memory with silence samples

2013-11-03 12:23:12 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	  audio: Update ORC dist files

2013-11-03 12:22:33 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/audio/audio-format.c:
	* gst-libs/gst/audio/gstaudiopack.orc:
	  audio-format: Use ORC for filling memory with silence samples

2013-11-01 17:02:22 +0100  Sebastian Dröge <sebastian@centricular.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* win32/common/libgstrtsp.def:
	  rtspconnection: Add new API to the docs and .def file

2013-11-01 16:43:56 +0100  Sebastian Dröge <sebastian@centricular.com>

	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: Fix indention in header

2013-11-01 07:25:01 -0700  Aleix Conchillo Flaque <aleix@oblong.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	  rtspconnection: allow setting tls certificate validation
	  Added new functions gst_rtsp_connection_set_tls_validation_flags() to
	  allow setting the TLS certificate validation flags when establishing a
	  TLS connection.
	  A getter is also available, gst_rtsp_connection_get_tls_validation_flags().
	  https://bugzilla.gnome.org/show_bug.cgi?id=711231

2013-11-01 14:22:13 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: fix duplicate 'const' declaration warnings
	  https://bugzilla.gnome.org/show_bug.cgi?id=711258

2013-10-16 16:46:05 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/playback/gstrawcaps.h:
	  playback: Add subpicture/x-dvb as raw caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=710325

2013-10-28 12:36:04 +0100  Antonio Ospite <ospite@studenti.unina.it>

	* gst/videoscale/gstvideoscale.c:
	  videoscale: fix adding borders when NV12 is used
	  When the frame buffer is NV12 the borders are not added at all, fix that
	  and fill them to black.
	  https://bugzilla.gnome.org/show_bug.cgi?id=711003

2013-10-23 16:43:32 +0100  Matthieu Bouron <matthieu.bouron@gmail.com>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: remove unneeded guint comparaison
	  https://bugzilla.gnome.org/show_bug.cgi?id=710760

2013-10-14 18:45:16 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: also filter 'framed' field when looking for same streams
	  Fixes extra streams for some mp4 files containing aac audio.

2013-10-08 21:57:11 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: fix copy'n'paste in comment

2013-10-10 15:56:32 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Do nothing when flushing the encoder when no caps were set
	  In case we receive a flush event before having our caps set, we will
	  end up trying to create a theora encoder even though we are not ready.
	  Avoid that situation making sure we are initialized before accepting to
	  be flushed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709858

2013-10-11 21:51:00 +0200  Stephan Sundermann <stephansundermann@gmail.com>

	* gst-libs/gst/video/navigation.c:
	  navigation: Add missing out parameter annotations to GstNavigation
	  https://bugzilla.gnome.org/show_bug.cgi?id=709938

2013-10-10 14:09:19 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* tests/examples/overlay/qtgv-videooverlay.cpp:
	  examples/overlay: handle the case when xvimagesink is not found
	  So that ximagesink can have a chance to be found.
	  In qtgv-videooverlay.

2013-10-10 14:01:44 +0100  Julien Isorce <julien.isorce@collabora.co.uk>

	* tests/examples/overlay/gtk-videooverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	  examples/overlay: unref sink only when found
	  In gtk-videooverlay and qt-videooverlay examples.

2013-10-07 14:52:00 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst-libs/gst/pbutils/encoding-profile.c:
	* gst/encoding/gstencodebin.c:
	  encodebin: Handle changes in encoding_profile::restriction during playback
	  There are cases where we want to change the restrictions caps during
	  playback, handle that in encodebin.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709588

2013-10-08 17:07:02 +0200  Takashi Iwai <tiwai@suse.de>

	* ext/alsa/gstalsa.c:
	* ext/alsa/gstalsa.h:
	* ext/alsa/gstalsasink.c:
	* ext/alsa/gstalsasrc.c:
	  alsa: Add channel map API support
	  The initial support for the new ALSA chmap API.
	  Just translate the current chmap to GstAudioChannelPosition during the
	  setup.  No function to specify the channel map manually yet, so still
	  impossible to assign any non-standard positions or to configure in a
	  different order even if the hardware allows.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709755

2013-10-08 16:02:46 +0200  Takashi Iwai <tiwai@suse.de>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: Don't clear need_reorder flag too early
	  gst_audio_ring_buffer_set_channel_positions() checks whether the given
	  positions are identical with the current setup and returns
	  immediately if so.  But it also clears need_reorder flag before this
	  comparison, thus this flag might be wrongly cleared if the function is
	  called twice with the same channel positions.
	  Move the flag clearance after the check.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709754

2013-10-08 16:13:58 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* tests/check/elements/videotestsrc.c:
	  videotestsrc: improve test for backwards playback
	  Improve test by checking that timestamps are decreasing

2013-10-08 16:10:54 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* tests/check/elements/videotestsrc.c:
	  videotestsrc: implement duration query
	  Add duration query to videotestsrc, it can answer this query when
	  the num-buffers property is set.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709646

2013-06-07 16:32:23 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* tests/check/elements/videotestsrc.c:
	  tests: test videotestsrc in reverse playback
	  https://bugzilla.gnome.org/show_bug.cgi?id=701813

2013-10-08 00:08:34 -0300  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	  videotestsrc: implement reverse playback
	  Decrement the n_frames counter when doing reverse playback to
	  have timestamps and offsets reducing instead of increasing
	  https://bugzilla.gnome.org/show_bug.cgi?id=701813

2013-10-08 09:13:50 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't overflow in bytes<->time conversion
	  fps_n and _d values can be large and this can overflow a uint. Also fix
	  copy'n'paste mistake in comments.

2013-10-07 22:52:27 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: filter 'parsed' field when checking for same caps
	  We're checking the caps to see if we got more caps details after a parser got
	  plugged. This will also have a flipped 'parsed' field. If the field was already
	  present before the parse the match will fail. Add a function that will do the
	  check while excluding this field.

2013-10-07 22:51:46 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: don't shadow local variables

2013-10-07 22:51:04 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: early return when we have no streams

2013-10-07 22:49:52 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: also log stream-id

2013-10-07 18:53:18 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: fix quark-mismatch for toc and stream-id
	  Seems like a copy'n'paste from 15ee41df.

2013-10-05 21:01:53 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: report depth for video
	  This was returning 0 in all cases. Use the data from GstVideoFormatInfo instead.

2013-10-04 13:57:51 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: Map buffer as READWRITE if the buffer and memory is writable
	  and only use the input buffer as temporary buffer in that case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709408

2013-09-30 21:46:10 +0200  Hans Månsson <hansm@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Connect to proxy if specified
	  Reference: https://bugzilla.gnome.org/show_bug.cgi?id=708880

2013-10-03 19:52:58 +0200  Stefan Sauer <ensonic@users.sf.net>

	* tools/gst-discoverer.c:
	  discoverer: extract helper to print common stream info
	  Save some lnes of code by using a helper for common stream info.

2013-10-02 11:27:41 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: extract some common code
	  Extract code to make a GstDiscovererInfo. Extracts code that sets StreamInfo.

2013-10-02 15:02:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: If the visualisation is changing and reconfiguration is pending, do it all during reconfiguration
	  Otherwise we will have two pad blocks that want to use the same mutex
	  and block each other via the streamlock.
	  https://bugzilla.gnome.org/show_bug.cgi?id=709210

2013-10-02 13:06:03 +0200  Edward Hervey <edward@collabora.com>

	* win32/common/libgstpbutils.def:
	  win32: Update defs file

2013-10-02 12:26:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  pbutils: Add codec-utility funtions to support H265
	  https://bugzilla.gnome.org/show_bug.cgi?id=708921

2013-10-01 23:17:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	  descriptions: Add description for H.265

2013-09-24 15:51:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefind function for H265
	  https://bugzilla.gnome.org/show_bug.cgi?id=708680

2013-09-24 16:47:52 -0700  Thiago Santos <ts.santos@partner.samsung.com>

	* gst/playback/gstplaybin2.c:
	  playbin: make sure elements are in null before disposing
	  If a pipeline fails to preroll, it might happen that the sinks are
	  put into READY state from playbin's sink activation, but they are never
	  set to playsink, so they aren't being managed by a GstBin and will keep
	  their READY state until they are unreffed, leading to a warning.
	  Prevent this by always forcing them to NULL when deactivating a group
	  https://bugzilla.gnome.org/show_bug.cgi?id=708789

2013-09-28 13:19:02 +0200  Johannes Dewender <gnome@JonnyJD.net>

	* gst-libs/gst/audio/gstaudiocdsrc.c:
	  audiocdsrc: Don't consider trailing data tracks for MusicBrainz disc id calculation
	  MusicBrainz removes trailing data tracks from releases on the server
	  and also for the calculation of the MusicBrainz Disc ID.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708991

2013-09-23 11:35:43 +0200  David Svensson Fors <davidsf@axis.com>

	* gst-libs/gst/audio/gstaudioringbuffer.c:
	  audioringbuffer: check if acquired in set_timestamp
	  Also use GST_OBJECT_LOCK when accessing object data in set_timestamp.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702230

2013-09-15 21:48:43 +0200  MathieuDuponchelle <mathieu.duponchelle@epitech.eu>

	* gst/adder/gstadder.c:
	  adder: Don't take channel mask in consideration in mono or stereo
	  This could cause negotiation to fail.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708633

2013-09-27 22:41:28 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/audiorate/gstaudiorate.c:
	  audiorate: clip buffer before pushing it
	  https://bugzilla.gnome.org/show_bug.cgi?id=708953

2013-09-27 22:40:28 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/audio/audio.c:
	  audio: change buffer timestamp when clipping even if data hasn't been trimmed
	  https://bugzilla.gnome.org/show_bug.cgi?id=708952

2013-09-27 22:53:43 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add entry for text/x-raw
	  https://bugzilla.gnome.org/show_bug.cgi?id=708954

2013-09-25 19:29:24 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add MPEG 2 AAC description
	  https://bugzilla.gnome.org/show_bug.cgi?id=708773

2013-09-25 15:17:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiobasesink.c:
	  audiobasesink: do big correction for large drift
	  If we are using skew slaving and we drift more than twice the allowed amount, do
	  a big correction to get back on track more quickly.

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

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

2013-09-24 16:26:37 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Unset input/output_stream after freeing the GIOStream
	  watch->input_stream and watch->output_stream are owned by the GIOStream
	  and should be unset after freeing the stream.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708689

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

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

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

	* configure.ac:
	  Back to development

=== release 1.2.0 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2013-09-24 12:47:26 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Make sure to cache context types we did not store yet
	  https://bugzilla.gnome.org/show_bug.cgi?id=708668

2013-09-24 12:10:00 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Only create writesrc when it is actually needed
	  Creating a GSource and not attaching it to a context will cause
	  a leak of it's child sources. That is why we create writesrc right
	  before attaching it to a context.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708667

2013-09-22 22:55:33 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/adder/gstadder.c:
	  adder: send pending segment out before checking for EOS
	  Otherwise there would be cases where it would not send its segment
	  out when the first collected after getting it would already yield EOS.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708590

2013-09-19 17:25:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-frame.c:
	  video-frame: copy offsets from metadata
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=708606

2013-09-21 15:17:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: fix docs

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

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

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

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

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

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

2013-09-19 16:33:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Fix compilation if no mmap is available
	  Also #ifdef some more code paths that don't make sense without mmap.
	  https://bugzilla.gnome.org/show_bug.cgi?id=708372

2013-09-19 12:58:53 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: Switch to playing to handle live URI
	  Fixes discovery on dvb://

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

	* configure.ac:
	  Back to development

=== release 1.1.90 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2013-09-18 20:42:55 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: If there is no PTS at all, assume it starts from the segment start
	  This is to make the multifilesrc ! pngdec case work
	  https://bugzilla.gnome.org/show_bug.cgi?id=688043

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: Update translations

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

	* gst/playback/gstplaybin2.c:
	  playbin: Implement context caching for sinks that are not in playsink yet

2013-09-18 18:21:54 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: No need to set the GstContext on the sink before activating it
	  This is all handled by the GstBin code now.

2013-09-04 20:21:54 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  dmabuf: Make it not a singleton
	  Makes it easier to track how many users there are
	  Also make it possible to create a dmabuf struct on systems without mmap,
	  it just won't be possible to map it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707793

2013-09-13 16:01:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	  rtpbuffer: check for valid payload type
	  The payload type can't be between 72 and 76 because with the marker bit set,
	  this could be mistaken for an RTCP packet then. We do a relaxed check and
	  only refuse 72-76 when the marker bit is set. The effect is that when
	  we try to map an RTCP packet as an RTP packet, we will certainly fail.

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

	* configure.ac:
	  configure: rely solely on pkg-config to find libogg and libvorbis
	  And get rid of AS_SCRUB_INCLUDES
	  https://bugzilla.gnome.org/show_bug.cgi?id=707658

2013-09-12 12:23:35 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: fix 4tap for RGB15 and RGB16
	  Fix component ordering, it's wrong in both the scanline and merge
	  function so it cancels eachother out and isn't really a except for
	  loss of precision of the green component.
	  Fix calculation of the filter weight

2013-09-10 17:02:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: optimize merge for RGB15 and RGB16

2013-09-10 16:55:25 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: remove redundant MAX
	  The checks above make it inpossible for the value to be smaller than
	  what we check against with the MAX call.

2013-09-12 09:42:36 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder/decoder: Mark pads as requiring reconfiguration again if negotiation fails
	  Otherwise we might end up in non-optimal configuration, especially
	  when a flush happened during reconfiguration.

2013-09-12 09:35:00 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodecoder/videoencoder: Mark pads as requiring reconfiguration again if negotiation fails
	  Otherwise we might end up in non-optimal configuration, especially
	  when a flush happened during reconfiguration.

2013-09-10 21:44:33 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for TechSmith Screen Capture 2
	  https://bugzilla.gnome.org/show_bug.cgi?id=707878

2013-09-10 21:44:21 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Add support for TechSmith Screen Capture 2
	  https://bugzilla.gnome.org/show_bug.cgi?id=707878

2013-09-06 15:36:12 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: check for full eos after a pad goes eos in push mode
	  After a pad is on EOS, verify if all pads are EOS and return
	  upstream, avoiding keeping the buffer flow without having more
	  data to push

2013-09-06 15:56:39 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	  oggdemux: properly handle stop position at seeks in push mode
	  Store the seek stop and seqnum and properly restore them when
	  receiving the corresponding Segment from upstream. Also fixes
	  seqnum for converted seek events.

2013-09-10 16:16:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_4tap.c:
	  videoscale: fix RGB15 masks

2013-09-10 16:06:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: simplify YUYV and UYVY linear scaling
	  Simplify the code and make it handle odd width

2013-09-10 16:05:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: small cleanups
	  Use BLEND macro
	  Fix NV12 corner case

2013-09-10 16:03:08 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: fix RGB15 masks

2013-09-10 12:18:16 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_scanline.c:
	  videoscale: simplify nearest scaling
	  Round the accumulator to avoid later checks
	  Remove some bound checks that would never trigger
	  Fix odd width scaling

2013-09-10 11:31:57 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoscale/vs_image.c:
	  videoscale: pick nearest line in scaling
	  Use rounding to pick the nearest line instead of rounding down.

2013-09-03 17:27:37 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/id3v2.c:
	* gst-libs/gst/tag/tags.c:
	  tag: id3: encapsulate ID3V2 blob frames in GstSample
	  id3mux and id3v2mux expect GST_TAG_ID3V2_FRAME type to be stored in a
	  GstSample and not a buffer, which is also needed because we can't
	  attach extradata/caps to buffers any more. These are private tags
	  no one should be poking at, and also the extra info is missing.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707765

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

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: fix and improve raw video format description strings
	  Mark terms such as "planar", "packed", and "palettized" as
	  translatable, and re-arrange strings a bit to make them
	  better suited for translation.
	  Also fix bug in yuv descriptions, one plane is packed, more
	  is planar (or semi-planar).
	  https://bugzilla.gnome.org/show_bug.cgi?id=707789

2013-09-09 15:52:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/video/gstvideometa.h:
	* gst-libs/gst/video/video.h:
	  docs: fix some doc blocks

2013-08-21 23:54:49 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideofilter.c:
	  videofilter: implement transform_meta virtual method.
	  If tags of the meta only contain "video", let it be copied.

2013-08-21 23:56:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio.h:
	* gst-libs/gst/audio/gstaudiometa.c:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/video.h:
	  video/audio: #define metadata strings.
	  For instance "orientation" becomes GST_VIDEO_ORIENTATION_METADATA.

2013-09-07 19:14:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  tools: play: set playbin to NULL state on error to flush messages
	  Just flushing the bus doesn't work here for some reason, so set
	  playbin to NULL state, which seems to clear all error state and
	  makes sure we do play the next playable song and don't pick up
	  'ghost' error messages from previous files on the bus.

2013-09-06 23:17:44 +0200  Loïc Minier <lool@dooz.org>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playback: fix docs of convert-sample action signal
	  convert-sample returns a GstSample, not a GstBuffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=707660

2013-09-06 13:28:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: fix build without orc or older or versions
	  ./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_unpack_NV24'
	  ./.libs/libgstvideo-1.0.so: undefined reference to `video_orc_pack_NV24'

2013-09-06 12:44:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: disable fastpath for odd width on some formats

2013-09-06 12:43:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix NV24 pack/unpack function
	  We can't reuse the NV12 functions, we need to make new ones.

2013-09-06 12:42:47 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle odd width in more pack/unpack functions

2013-09-05 18:33:28 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/video-format.c:
	  video-format: minor pack_YVYU optimisation
	  Re-use already calculated line offset.

2013-09-05 17:46:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/videotestsrc.c:
	  videotestsrc: flush pending lines on odd height

2013-09-05 17:22:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add additional width/height constraints
	  Some of the fastpath function can only work with aligned widht/height
	  so make sure we check this as well when choosing a fastpath.
	  Add fastpath for I420/YV12 -> BGRx

2013-09-05 17:06:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix chroma offsets

2013-09-05 16:25:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: don't convert too much with odd width

2013-09-05 16:15:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: fix unpack functions for odd formats

2013-09-05 15:02:17 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: clean up pack/unpack functions

2013-09-05 14:12:53 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: handle odd width in various pack functions

2013-09-05 12:44:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	  video-format: don't overrun the arrays on UYVP

2013-09-05 11:05:36 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: handle lines in one go
	  Handle odd heights in 1 go when no vertical subsampling is used.

2013-09-05 11:04:03 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix height round down

2013-09-04 17:34:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: also allocate temp lines in fastpath
	  Some of the fastpath functions need tmplines, so make sure we allocate some in
	  the fastpath too.
	  This avoids SEGFAULTs with odd heights.
	  See https://bugzilla.gnome.org/show_bug.cgi?id=663248

2013-09-04 17:21:23 +0200  Christian Fredrik Kalager Schaller <uraeus@linuxrising.org>

	* gst-plugins-base.spec.in:
	  Update specfile with latest changes

2013-09-04 15:07:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: add more fastpaths
	  Also reuse the I420 code for YV12 because it can handle the swapped UV fields
	  just fine.

2013-06-10 16:06:21 +0100  Alex Ashley <alex.ashley@youview.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Added "dash" and "avc3" fourCC codes to qt_type_find.
	  This commit adds detection of the "dash" and "avc3" compatible brands
	  in qt_type_find.
	  Amendment 2 of ISO/IEC 14496-15 (AVC file format) is defining a new
	  structure for fragmented MP4 called "avc3". The principal difference
	  between AVC1 and AVC3 is the location of the codec initialisation
	  data (e.g. SPS, PPS). In AVC1 this data is placed in the initial MOOV
	  box (moov.trak.mdia.minf.stbl.stsd.avc1) but in AVC3 this data goes in
	  the first sample of every fragment (i.e. the first sample in each mdat
	  box).  The principal reason for avc3 is to make it easier for client
	  implementations, because it removes the requirement to insert the
	  SPS+PPS in to the decoder pipeline every time there is a representation
	  change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702004

2013-08-31 01:05:40 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=707158

2013-09-03 17:37:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: only chroma subsample when needed

2013-09-03 15:42:44 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: fix handling of chroma resample
	  Increase the number of temporary lines that we need, it is possible that the
	  up and downsampling offsets are out of phase and that we need to keep some
	  extra lines around. Also copy the unhandled output lines for the next round
	  instead of overwriting them.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706823

2013-09-03 15:41:56 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: improve debug

2013-09-03 00:47:18 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Check for invalid stop position before calculating a duration from it
	  https://bugzilla.gnome.org/show_bug.cgi?id=707332

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

	* configure.ac:
	  Require orc >= 0.4.18
	  Which contains important bug-fixes.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698520

2013-08-30 15:19:32 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: add description for MSS1 and MSS2 windows media formats

2013-08-30 13:51:47 +0200  Josep Torra <n770galaxy@gmail.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Provide correct media type for MSS1 and MSS2
	  Windows Media Video Screen (WMV Screen) are video formats that
	  specilise in screencast content. This provides a correct media type
	  for them instead of just video/x-asf-unknown.

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

	* configure.ac:
	  Back to development

=== release 1.1.4 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hr.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  po: update translations

2013-08-27 15:03:54 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: fix forwarding of GstForceKeyUnit events
	  Use the frame id to match the output forced keyframe with
	  the event that forced it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706885

2013-08-26 11:44:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/vorbis/gstvorbisenc.c:
	* ext/vorbis/gstvorbisenc.h:
	  vorbisenc: remove unused variables

2013-08-26 11:47:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: do additional packet checks
	  Check the packet size and avoid crashing on malformed packets.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=655727

2013-08-26 11:46:11 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: improve bye parsing
	  It is an error to ask for a non-existing BYE SSRC, the caller should
	  check the SSRC count first.

2013-08-23 18:06:36 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix mmap counting
	  A successful gst_dmabuf_mem_map must always increment the mmap count.
	  Otherwise the first gst_dmabuf_mem_unmap will unmap the memory and all
	  other user will access unmapped memory.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706680

2013-08-26 08:08:32 +0200  Alessandro Decina <alessandro.d@gmail.com>

	* ext/vorbis/gstvorbisenc.c:
	  vorbisenc: implement flushing

2013-08-25 10:25:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Make sure to return TRUE if the same caps are set again

2013-08-23 19:47:57 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: improve fixate_format function readability even more
	  Do the flags comparisons only once and re-use the result.

2013-08-23 19:41:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: simplify fixate_format function some more
	  If we have no output format yet, any format will do. The
	  !out_info condition existed in every path, so just split
	  it our for clarity. KISS.

2013-08-23 19:05:41 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: make fixate function more readable
	  Use some variables to replace accessor macros to make code
	  a little bit mor readable.

2013-08-23 18:52:44 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: remove unnecessary deep nesting in fixate function
	  Makes it easier to read and removes two levels of indentation.

2013-08-23 19:20:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Only set the caps when they actually changed

2013-08-23 19:17:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Simplify pushing of pending events during negotiation
	  And also don't send the same caps twice.

2013-08-23 19:10:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix last commit and simplify code a lot

2013-08-23 18:51:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/audioconvert/gstaudioconvert.c:
	  audioconvert: If we have to lose precision, try to lose as less precision as possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=706624

2013-08-23 16:59:30 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Fix previous commit
	  (sorry)

2013-08-23 15:22:43 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videocoder: Don't push out identical caps
	  This avoids triggering plenty of extra code/methods/overhead downstream when
	  we can just quickly check whenever we want to set caps whether they are
	  identical or not
	  https://bugzilla.gnome.org/show_bug.cgi?id=706600

2013-08-23 15:22:05 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't push out identical caps
	  This avoids triggering plenty of extra code/methods/overhead downstream when
	  we can just quickly check whenever we want to set caps whether they are
	  identical or not
	  https://bugzilla.gnome.org/show_bug.cgi?id=706600

2013-08-22 17:33:45 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Update segment.base with the chain's start time too
	  Fixes playback of chained ogg files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=706569

2013-08-22 14:18:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefinder for video/x-pva
	  https://bugzilla.gnome.org/show_bug.cgi?id=158719

2013-08-21 16:02:00 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  gst-play: move current playlist index along in about-to-finish

2013-08-21 15:39:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/gst-play.c:
	  gst-play: add --gapless mode
	  so we can test about-to-finish.

2013-08-21 12:34:24 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasedepayload.c:
	  rtpbasedepayload: mark DISCONT on buffer in all cases
	  Always mark discont on the input buffer when we detect a seqnum
	  discont and not only when we previously marked ourselves DISCONT.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=706422

2013-08-21 11:20:28 +0100  Rico Tzschichholz <ricotz@ubuntu.com>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix syntax error

2013-08-14 16:20:45 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  tag: id3: handle publisher, interpreted-by and musical-key tags
	  https://bugzilla.gnome.org/show_bug.cgi?id=705999

2013-08-15 11:03:47 +0100  Matthieu Bouron <matthieu.bouron@collabora.com>

	* gst-libs/gst/tag/tag.h:
	* gst-libs/gst/tag/tags.c:
	  tag: add musical-key tag
	  https://bugzilla.gnome.org/show_bug.cgi?id=705999

2013-08-19 10:39:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  Revert "pbutils: allow describing unfixed caps if they share the same media type"
	  This reverts commit 065f1603b0f1d2adc8477bf1f3ebe2b154885d89.
	  This is not considered the correct solution, see:
	  https://bugzilla.gnome.org/show_bug.cgi?id=703378

2013-08-16 13:22:33 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improved and extended typefinder for module music formats
	  introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
	  https://bugzilla.gnome.org/show_bug.cgi?id=706061

2013-07-15 16:13:11 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/rtp/gstrtpbaseaudiopayload.c:
	  rtpbaseaudiopayload: Avoid copying the data

2013-08-17 16:58:06 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/icles/playback/test6.c:
	  tests: fix uridecodebin signal used in playback test6
	  "new-decoded-pad" no longer exists.

2013-08-17 16:53:30 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tools/Makefile.am:
	* tools/gst-play-1.0.1:
	  tools: add man page for new gst-play-1.0 utility
	  https://bugzilla.gnome.org/show_bug.cgi?id=553520

2013-08-14 17:04:19 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/Makefile.am:
	* gst-libs/gst/gst-i18n-app.h:
	* tools/.gitignore:
	* tools/Makefile.am:
	* tools/gst-play.c:
	  tools: add simple command-line gst-play utility for testing purposes
	  Differs from a plain gst-launch-1.0 playbin uri=... pipeline in that
	  it can take multiple arguments and as such allows testing of things
	  like gapless playback, switching between different formats and the
	  like. Very minimal at this point, we'll probably want to add
	  interactive controls and more options at some point.
	  https://bugzilla.gnome.org/show_bug.cgi?id=553520

2013-08-16 13:59:35 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/rtsp/gstrtspmessage.h:
	  rtsp: fix direct includes
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 13:55:33 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/missing-plugins.h:
	  pbutils: fix direct includes
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 13:47:31 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoutils.h:
	* gst-libs/gst/video/video-chroma.h:
	* gst-libs/gst/video/video-frame.h:
	  video: make direct includes work again
	  Not nice to break people's code if we can avoid it. Could
	  add a warning in the next cycle, and then require single
	  includes in the cycle after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

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

	* gst-libs/gst/audio/audio-channels.h:
	* gst-libs/gst/audio/audio-format.h:
	* gst-libs/gst/audio/audio-info.h:
	* gst-libs/gst/audio/gstaudiobasesink.h:
	* gst-libs/gst/audio/gstaudiobasesrc.h:
	* gst-libs/gst/audio/gstaudiocdsrc.h:
	* gst-libs/gst/audio/gstaudioclock.h:
	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/audio/gstaudioencoder.h:
	* gst-libs/gst/audio/gstaudiofilter.h:
	* gst-libs/gst/audio/gstaudiometa.h:
	* gst-libs/gst/audio/gstaudioringbuffer.h:
	* gst-libs/gst/audio/gstaudiosink.h:
	* gst-libs/gst/audio/gstaudiosrc.h:
	  audio: make direct includes work again
	  Not nice to break people's code if we can avoid it. Could
	  add a warning in the next cycle, and then require single
	  includes in the cycle after.
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 14:12:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* tests/icles/test-header-compile:
	  tests: add test-header-compile script
	  https://bugzilla.gnome.org/show_bug.cgi?id=695889

2013-08-16 12:12:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  Revert "typefind: improved and extended typefinder for module music formats"
	  This reverts commit 4c79f35c7abc78bf4d325a8cd2059e8832ea0b34.
	  It causes some MP4 files to be detected as mod files.

2013-08-13 23:18:34 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: improved and extended typefinder for module music formats
	  introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... }
	  https://bugzilla.gnome.org/show_bug.cgi?id=706061

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't reset too much if we're resetting because of a soft-flush
	  Fixes reverse playback with Ogg/Theora.

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

	* ext/theora/gsttheoradec.c:
	* ext/theora/gsttheoraenc.c:
	  theora: Use new video codec base classes' flush vfunc

2013-08-15 12:45:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Don't reset decoder on segment events
	  Either there was a flush before that resets everything anyway,
	  or resetting would make us lose information we might need if
	  it's just a segment update.

2013-08-15 12:44:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video{en,de}coder: Add new flush vfunc as a replacement for reset

2013-08-14 16:55:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideodecoder.h:
	* gst-libs/gst/video/gstvideoencoder.c:
	* gst-libs/gst/video/gstvideoencoder.h:
	  video{en,de}coder: Revert to old ::reset() behaviour and deprecate it

2013-08-15 16:12:45 +0800  Jie Yang <yang.jie@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: ADTS/AAC, find more aac sync to select correctly
	  https://bugzilla.gnome.org/show_bug.cgi?id=691462

2013-08-14 15:43:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Don't set sink to NULL if a new one is set while the old one is still in use

2013-08-14 11:43:50 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/gio/gstgiobasesrc.c:
	  gio: fix printf format compiler warning

2013-08-13 20:39:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/gstdiscoverer.c:
	  discoverer: document that "finished" and "discovered" signals are only emitted in async mode
	  https://bugzilla.gnome.org/show_bug.cgi?id=660195

2013-08-13 17:39:34 +0200  Edward Hervey <edward@collabora.com>

	* tests/check/elements/.gitignore:
	  check: Update .gitignore

2013-08-13 17:39:25 +0200  Edward Hervey <edward@collabora.com>

	* .gitignore:
	  .gitignore: Ignore files from automake test-driver

2013-08-13 13:43:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* tests/check/elements/playbin-complex.c:
	  playbin-complex: Set fakesink as audio-sink to not use a real audio device
	  https://bugzilla.gnome.org/show_bug.cgi?id=705157

2013-08-12 13:47:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add typefind function for WebP image format
	  https://bugzilla.gnome.org/show_bug.cgi?id=705826

2013-08-04 01:01:25 +1000  Jonathan Matthew <jonathan@d14n.org>

	* gst/gio/gstgiobasesrc.c:
	  gio: make better use of the cached buffer
	  When playing mp3 files from a smb server, we get 64k read requests
	  that mostly overlap.  Without using the cache to partially satisfy
	  these, we send these requests straight to the server, resulting in
	  a lot more network traffic than necessary.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705415

2013-07-25 20:47:02 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Clear taglist on reception of a STREAM_START event
	  https://bugzilla.gnome.org/show_bug.cgi?id=705109

2013-07-30 17:37:43 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Clear taglist on reception of a STREAM_START event
	  https://bugzilla.gnome.org/show_bug.cgi?id=705109

2013-08-08 12:11:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Set proxy flags on the pads and use default event handler for simplicity
	  https://bugzilla.gnome.org//show_bug.cgi?id=705555

2013-08-06 15:42:55 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtcpbuffer.c:
	  rtcpbuffer: calculate FB packet length correctly

2013-08-06 15:11:05 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Raw buffers DTS should always be CLOCK_TIME_NONE

2013-08-05 16:14:22 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: set DTS and PTS, sync on DTS

2013-08-02 20:08:29 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst/playback/gstplaybin2.c:
	  playbin: check for tags on the right combiner instance
	  The get-tags actions are not working in all cases, because the track
	  number is used to resolve the stream combiner instead of the stream
	  type.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705369

2013-08-02 16:57:43 -0700  David Schleef <ds@schleef.org>

	* tests/check/Makefile.am:
	  tests: move orc removal to distclean

2013-08-02 14:33:24 -0700  David Schleef <ds@schleef.org>

	* configure.ac:
	  configure: create dir tests/check/orc
	  This is required now that subdir-objects is used, since automake
	  expects to create a .deps directory inside.

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

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

2013-08-02 11:00:06 +0200  Edward Hervey <edward@collabora.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Demote ERROR statement back to DEBUG
	  It crawled in with david's latest commit

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

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Revert previous commit
	  The 'hard' argument of reset changed signification after the latest
	  start/stop/reset refactoring.

2013-08-01 16:01:30 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Pass on 'hard' argument from _flush to _reset
	  When most of the code was moved from _flush() to _reset() the 'hard'
	  argument was no longer propagated.

2013-07-31 11:26:58 -0700  David Schleef <ds@schleef.org>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: Add pinwheel and spokes patterns

2013-07-30 15:58:26 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: private/teletext -> application/x-teletext

2013-07-29 19:41:43 +0100  Tim-Philipp Müller <tim@centricular.net>

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

2013-07-26 15:29:05 +0200  Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Prevent seeks when _SCHEDULING_FLAG_SEQUENTIAL is set
	  Don't go into pull mode when the upstream scheduling flags indicate
	  seeks should be avoided by setting GST_SCHEDULING_FLAG_SEQUENTIAL.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704929

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

	* configure.ac:
	  Back to development

=== release 1.1.3 ===

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

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Don't swap start/stop for negative rates in the SEGMENT query

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

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Properly implement seeking if tagdemux is driving the pipeline
	  https://bugzilla.gnome.org/show_bug.cgi?id=705062

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

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Implement SEGMENT query

2013-07-28 23:38:06 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst/videorate/gstvideorate.c:
	  videorate: ignore GAP event
	  videorate automatically fills gaps with the previous frames.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705048

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

	* gst/audiorate/gstaudiorate.c:
	  audiorate: ignore GAP event
	  audiorate automatically fills gaps with silence.
	  https://bugzilla.gnome.org/show_bug.cgi?id=705048

2013-07-28 13:52:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultisocketsink.c:
	  multisocketsink: Fix handling of partial writes and WOULD_BLOCK errors

2013-07-28 13:23:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultifdsink.c:
	  multifdsink: Update current time after every write
	  Each write will update the last_activity_time and otherwise we would
	  compare against a too old current time and immediately timeout because
	  current time is smaller than last activity time (overflow).

2013-07-28 13:20:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/tcp/gstmultihandlesink.c:
	  multihandlesink: Update current time after every write
	  Each write will update the last_activity_time and otherwise we would
	  compare against a too old current time and immediately timeout because
	  current time is smaller than last activity time (overflow).

2013-07-27 12:16:15 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add description for teletext

2013-07-26 14:28:41 +0200  Matej Knopp <matej.knopp@gmail.com>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: do not leak input caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=704926

2012-11-02 10:04:16 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Initialize GstVideoInfo in ::start()
	  Otherwise we end up with bogus values and races

2012-11-02 10:03:38 +0100  Edward Hervey <edward.hervey@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: Don't error on not-negotiated
	  Base classes will handle re-negotiation if needed, but emitting an
	  error message will make applications stop.

2012-09-12 12:41:01 +0200  Edward Hervey <edward.hervey@collabora.co.uk>

	* ext/libvisual/gstaudiovisualizer.c:
	* ext/pango/gstbasetextoverlay.c:
	* gst/encoding/gststreamsplitter.c:
	* gst/playback/gststreamsynchronizer.c:
	  ext/gst: Ensure default query/event handlers are used
	  And in some cases, just remove our implementation that does nothing

2013-07-26 11:02:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/app/gstappsrc.c:
	* gst-libs/gst/app/gstappsrc.h:
	  appsrc: Also provide function API for current-level-bytes and integrate into the docs

2013-07-26 15:00:44 +0900  Changbok Chea <changbok.chea@lge.com>

	* gst-libs/gst/app/gstappsrc.c:
	* win32/common/libgstapp.def:
	  appsrc: Add "current-level-bytes" property
	  https://bugzilla.gnome.org/show_bug.cgi?id=704774

2013-07-25 20:03:50 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/pbutils/codec-utils.c:
	* gst-libs/gst/pbutils/codec-utils.h:
	* win32/common/libgstpbutils.def:
	  codec-utils: add a gst_codec_utils_aac_get_index_from_sample_rate
	  It maps a sample rate to a well known AAC sample rate index.

2013-07-26 10:22:32 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videodecoder/encoder: Call reset() always between start() and stop() and never outside

2013-07-25 14:25:08 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder/decoder: Call reset() before start() too

2013-07-25 11:56:07 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefinding: don't detect mp3 based on just a few bits
	  Remove dodgy code that detects mp3 with as little as
	  a valid frame sync at the beginning. This was only used
	  in some unit tests in -good where there were only a few
	  bytes after the id3 tag. We now require at least two
	  frame headers.
	  Fixes mis-dection of text files with UTF-16 LE BOM as mp3.
	  https://bugzilla.gnome.org/show_bug.cgi?id=681368

2013-07-25 14:11:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.h:
	* gst-libs/gst/video/gstvideodecoder.h:
	  audio/videodecoder: Rename variable in macro from dec to __dec
	  Otherwise it might shadow another variable in the outside scope
	  and cause interesting side effects.

2013-07-25 13:31:07 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Clean up handling of reset/flushing/start/stop

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

	* ext/theora/gsttheoradec.c:
	  theoradec: Clean up handling of reset/flushing/start/stop

2013-07-25 10:53:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: There's no point in resetting the encoder when the caps change
	  The subclass will be called with set_format() and there it can drain
	  if necessary and reset whatever is necessary. This is the same behaviour
	  as for the video decoder.

2013-07-25 10:46:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Reset internal state and segments on FLUSH_STOP
	  https://bugzilla.gnome.org/show_bug.cgi?id=656007

2013-07-25 10:42:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Refactor GstVideoEncoder::reset() handling a bit
	  Let gst_video_encoder_reset() call it as would be intuitive and
	  only call it indirectly from gst_video_encoder_drain(). Now it
	  actually makes sense.

2013-07-25 10:20:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Refactor GstVideoDecoder::reset() handling a bit
	  Let gst_video_decoder_reset() call it as would be intuitive and
	  only call it indirectly from gst_video_decoder_flush(). Now it
	  actually makes sense.

2013-07-24 09:24:45 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Take DTS as PTS for keyframes as a last resort if we can't calculate any PTS
	  https://bugzilla.gnome.org/show_bug.cgi?id=704193

2013-07-23 13:42:40 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Remove two unused variables

2013-07-23 13:38:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gstsubtitleoverlay.h:
	  subtitleoverlay: Remove some more unneeded segment tracking

2013-07-23 13:36:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysinkconvertbin.c:
	* gst/playback/gstplaysinkconvertbin.h:
	  playsinkconvertbin: Remove obsolete segment tracking
	  This is now all handled automatically with sticky events.

2013-07-23 12:40:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Ensure that everything in a GstSourceGroup gets the same group-id
	  Including streams from external subtitle files. If not everything implements
	  the group-ids playbin invents its own.

2013-07-23 12:35:46 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Fix handling of colorbalance element if the sink does not implement it

2013-07-23 11:13:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Improve segment handling in the custom flushing for subtitle stream switches
	  This code needs a lot more work to be improved for 1.0.

2013-07-23 11:11:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstsubtitleoverlay.c:
	  subtitleoverlay: Segment events are sticky now and propagated automatically when needed

2013-07-23 09:14:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/encoding/gststreamcombiner.c:
	  streamcombiner: Proxy all sink events downstream
	  Thanks to Mathieu Duponchelle for noticing this regression
	  introduced with the last change.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704706

2013-07-22 15:24:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Add support for group-id in the stream-start event

2013-07-22 15:24:29 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggdemux.c:
	* ext/ogg/gstoggdemux.h:
	* ext/ogg/gstoggmux.c:
	  ogg: Add support for group-id in the stream-start event

2013-07-22 13:15:09 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	* gst/playback/gststreamsynchronizer.h:
	  streamsynchronizer: Implement grouping of streams via the group-id
	  https://bugzilla.gnome.org/show_bug.cgi?id=704427
	  https://bugzilla.gnome.org/show_bug.cgi?id=704408

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

	* gst/encoding/gststreamcombiner.c:
	  streamcombiner: Fix locking
	  We have to hold the streams-lock when iterating over all pads,
	  also the stream-lock of the pad is already locked when we receive
	  EOS.
	  Call gst_pad_event_default() for the correct default handling of
	  events.

2013-07-22 00:48:54 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/encoding/Makefile.am:
	* gst/encoding/gststreamcombiner.c:
	* gst/encoding/gststreamcombinerpad.h:
	* gst/encoding/gststreamsplitter.c:
	  encoding: fix EOS handling in streamsplitter / combiner.
	  This commit adds a streamcombinerpad with an is_eos field.
	  When streamcombiner receives an EOS on one of its pads, it
	  forwards it all its other pads are EOS.
	  This commit also removes the notion of "stream-switching-eos".

2013-07-19 10:47:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  video-info: respect stride alignment
	  Increase the left padding so that we don't cause stride alignments later when we
	  apply the padding.
	  https://bugzilla.gnome.org/show_bug.cgi?id=694299

2013-07-19 10:43:38 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-info.c:
	  Revert "video: respect stride alignment when calculating planes offsets"
	  This reverts commit 28e1dadbfaa403679e69f8173d1aa2c7500fd556.
	  Incrementing the offset to make the plane aligned causes the image to be
	  incompatible with what Xv expects. Rather that forcing a memcpy in the
	  xvimagesink we would like to do adjust the left padding instead.

2013-07-18 14:13:33 +0200  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-info.c:
	  video: respect stride alignment when calculating planes offsets
	  https://bugzilla.gnome.org/show_bug.cgi?id=694299

2013-07-18 07:45:47 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstid3tag.c:
	  id3: Use debug category and show FIXMEs
	  Allows spotting faster un-parsed tags

2013-07-17 11:42:48 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideometa.c:
	  videometa: Add docs to the region of interest meta functions

2013-07-17 09:04:47 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/subparse/samiparse.c:
	  subparse: use g_strdup() and friends
	  Fixes build issue on windows, but is also better seeing that
	  these string are going to get freed with g_free() and not free().

2013-07-15 22:27:20 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/tag/gsttagdemux.c:
	  tagdemux: Put the modified time back in the time part of the segment
	  https://bugzilla.gnome.org/show_bug.cgi?id=704301

2013-07-16 18:50:09 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: fix videoscale test after video format addition

2013-07-16 18:42:19 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* configure.ac:
	  configure: remove obsolete libxml checks
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-07-16 18:30:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	  subparse: don't leak parse context for sami and qttext
	  In gst_sub_parse_dispose() parser_type will be UNKNOWN,
	  so these deinit calls were never executed. And we should
	  clean up the parser state in the downwards state change
	  anyway.

2013-05-28 16:56:28 +0900  Young-Ho Cha <ganadist@gmail.com>

	* tests/check/elements/subparse.c:
	  tests: update sami parser testcases
	  Remove libxml dependency for sami parser
	  and add more testcases.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-05-25 17:10:14 +0900  Young-Ho Cha <ganadist@gmail.com>

	* gst/subparse/Makefile.am:
	* gst/subparse/gstsubparse.c:
	* gst/subparse/samiparse.c:
	  subparse: remove libxml dependency for sami parser and re-enable sami parser
	  To celebrate 2013.gnome.asia, updated sami parser for gstreamer 1.x. :D
	  Remove conditional block for check libxml usage and
	  implement a simple html markup parser for the sami
	  parser.
	  https://bugzilla.gnome.org/show_bug.cgi?id=693056

2013-07-16 16:54:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	  meta: fix ROI meta getter

2013-07-16 12:21:44 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't prefer decoders for which we found a matching sink
	  It doesn't make much sense.

2013-07-16 11:47:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	  video: Add support for NV24 color format
	  This is semi-planar 4:4:4 YUV.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703259

2013-07-16 11:22:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Also consider possible converters for raw streams when selecting compatible sink/source combinations
	  https://bugzilla.gnome.org/show_bug.cgi?id=704285

2013-07-16 10:09:27 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	* win32/common/libgstvideo.def:
	  videometa: Add to the docs and make function names more consistent with others

2013-07-16 10:04:00 +0200  Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Add Region Of Interest meta
	  https://bugzilla.gnome.org/show_bug.cgi?id=704070

2013-07-16 09:30:33 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix sorting for decoder factories for which we didn't find a compatible sink
	  They might just need some converters for raw audio/video.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704285

2013-07-15 17:09:16 -0400  Olivier Crête <olivier.crete@collabora.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff-media: Add 'png ' fourcc
	  On top of mpng, MPNG, PNG, there is also png it seems
	  https://bugzilla.gnome.org/show_bug.cgi?id=704291

2013-07-15 15:23:17 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	* gst-libs/gst/allocators/gstdmabuf.h:
	  allocators: dmabuf: allow testing allocator type
	  In decide_allocation function some element may when to test the proposed allocator.
	  For example like this:
	  if (gst_query_get_n_allocation_params (query) > 0) {
	  GstAllocator * allocator;
	  GstAllocationParams params;
	  gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
	  if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
	  GST_DEBUG("got dmabuf allocator");
	  else
	  GST_DEBUG("got an other allocator");
	  }
	  https://bugzilla.gnome.org/show_bug.cgi?id=703659

2013-07-14 01:42:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggdemux.c:
	  oggdemux: Make bisecting fully accurate
	  When bisecting after an earliest time has been found, we need
	  to only consider the stream for which the earliest time was found.
	  Before, the following scenario could be and was encountered:
	  a) Find the earliest time for stream X
	  b) bisect and find a page which granuletime is indeed < target, but
	  contains another stream.
	  c) decide to seek at the wrong offset, sometimes inferior to
	  the real one, in which case the error was undected or
	  d) the offset was superior, and thus the actual target keyframe was
	  not processed, and packets were skipped waiting
	  for a granulepos.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700537

2013-07-13 20:45:01 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggdemux.c:
	  Revert "oggdemux: fix seeking with negative rate with skeleton"
	  This reverts commit b41cd0428956f3ade9b428149e38be8e788556fe.

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

	* gst/playback/gstplaybin2.c:
	  playbin: Don't print a warning when setting a sink to NULL
	  https://bugzilla.gnome.org/show_bug.cgi?id=704194

2013-07-14 18:11:59 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Create a new write GSource after removing it
	  After removal, a GSource is destroyed and can never be attached
	  again to a main context. We need to create a new one instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=704198

2013-07-12 12:05:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Properly destroy and set to NULL sinks that don't work

2013-07-08 23:49:39 +0200  Alban Browaeys <prahal@yahoo.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix logic to detect if a stream-change is currently pending
	  Fixes duration reporting in gapless playback between files.
	  https://bugzilla.gnome.org/show_bug.cgi?id=585969

2013-07-12 09:37:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix header formatting

2013-07-10 13:27:21 -0400  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Provide correct media type for XSub
	  Xsub (fourcc DXSB) is a subpicture stream used for embeded
	  subtitles on divx files. This provides a correct media type
	  for them instead of just video/x-avi-unknown.

2013-07-11 16:57:11 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* configure.ac:
	  Back to development

=== release 1.1.2 ===

2013-07-11 15:30:23 +0200  Sebastian Dröge <slomo@circular-chaos.org>

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

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

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2013-07-10 17:16:14 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Only give sinks a new bus if they have no parent yet
	  Otherwise we will remove the bus that would proxy messages to playsink
	  and never set it again. If the sink is already in playsink, all failures
	  are fatal anyway as it's either a sink that worked before or one that
	  was set by the user.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701997

2013-07-10 13:22:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Store a/v/t sinks locally too, not just in playsink

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

	* gst/playback/gstplaysink.c:
	  playsink: ref_sink() any sinks that are set on playsink
	  Otherwise the behaviour of the properties is inconsistent.

2013-07-10 13:20:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* tests/check/elements/playbin.c:
	  playbin: Fix assumptions in the unit test
	  Unused sinks are still set to READY now during autoplugging
	  to check their caps. Also playsink owns a ref to the sinks too.

2013-07-10 13:00:21 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Non-TIME segment streams are not waiting automatically
	  This was leftover code from porting to 1.0 and fixes the playbin
	  unit test.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701943

2013-07-09 23:04:49 +0200  Branko Subasic <branko@axis.com>

	* win32/common/libgstrtp.def:
	  win32: add missing rtp buffer methods

2013-07-09 14:55:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	* gst/playback/gstplaysink.c:
	  playbin: Change sink ownership handling to be a bit more sane
	  playbin will now only activate the sinks in a single place and
	  will never change the states of any sinks that are owned by
	  playsink.
	  Also handle text-sinks the same way as audio/video sinks inside
	  playbin.

2013-07-05 21:55:26 +0200  Piotr Drąg <piotrdrag@gmail.com>

	* po/POTFILES.in:
	  po: update POTFILES.in
	  https://bugzilla.gnome.org/show_bug.cgi?id=703684

2013-07-04 17:09:00 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst-libs/gst/video/colorbalance.c:
	  colorbalance: Fix the typo in base_init().

2013-07-04 12:54:59 -0400  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Do not send flush_start event with the stream lock taken
	  FLUSH_START is not serialized, so the lock should not be taken when
	  sending it.

2013-07-05 00:47:08 +0100  Marcin Lewandowski <marcin@saepia.net>

	* gst-libs/gst/tag/id3v2frames.c:
	  tag: ignore malformed ID3v2 TDAT frames
	  Just skip them, don't cause criticals.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703283

2013-07-03 09:44:32 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/audioresample/speex_resampler_int.c:
	  audioresample: make explicit that neon is disabled and why
	  https://bugzilla.gnome.org/show_bug.cgi?id=703477

2013-07-02 18:20:39 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>

	* gst/audioresample/speex_resampler_int.c:
	  audioresample: disable 16-bit integer NEON support
	  it seems to be broken (produces no audio), plus the performance gain
	  is small
	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>

2013-07-02 14:25:28 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: If we had a previous autoplugged sink, try to reuse it
	  https://bugzilla.gnome.org/show_bug.cgi?id=701997

2013-07-02 14:18:20 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: If we switch sinks, make sure that the old sink is set to NULL

2013-07-02 14:02:57 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't change the state of sinks that we passed to playsink already

2013-07-02 14:01:52 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysink.c:
	  playsink: Consider new audio/video sinks when reconfiguring

2013-07-02 12:27:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Improve debug output regarding sink selection

2013-07-01 12:52:43 -0600  Brendan Long <self@brendanlong.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Post an error message if a stream combiner doesn't return a request pad.

2013-07-01 13:45:25 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Only intersect to check if a sink can handle raw caps
	  Doing a subset check requires fixed caps, which we might not have here.
	  https://bugs.webkit.org/show_bug.cgi?id=116042

2013-07-01 10:39:02 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst-libs/gst/pbutils/descriptions.c:
	* gst-libs/gst/pbutils/missing-plugins.c:
	* gst-libs/gst/pbutils/pbutils-private.h:
	  pbutils: allow describing unfixed caps if they share the same media type
	  Caps description and missing plugin code does not really need caps to
	  be fixed, and indeed they may not be if giving encodebin unfixed caps
	  that correspond to an unknown encoder or muxer.
	  So we relax the check, and allow unfixed caps if all the structures
	  refer to the same media type.

2013-07-01 11:16:34 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Send all pending events with type < CAPS before sending caps

2013-06-27 16:33:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Send all pending events with type < CAPS before sending caps.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703196

2013-06-28 14:48:19 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: avoid too low mpeg/ts probability on small amount of data
	  With the current test, we get into problems when we try to typefind
	  a MPEG stream from a small amount of data, which can happen when
	  we get data pushed from a HTTP source. We thus make a second test
	  to give higher probability if all the potential headers were either
	  pack or pes headers (ie, no potential header was unrecognized).
	  This fixes an issue with a MPEG1/MP2 stream being properly discovered
	  as video/mpeg from a file, but as audio/mpeg from souphttpsrc.
	  https://bugzilla.gnome.org/show_bug.cgi?id=703256

2013-06-30 18:17:15 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video(enc|dec)oder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return
	  GST_FLOW_FLUSHING instead from finish_frame().
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-30 18:16:35 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return
	  GST_FLOW_FLUSHING instead from finish_frame().
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-14 07:23:40 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/pbutils/descriptions.c:
	* tests/check/libs/pbutils.c:
	  pbutils: descriptions: Allow smart codec tag handling
	  We already have internally the information on what type of stream (audio,
	  video, container, subtitle, ...) a certain caps is.
	  Instead of forcing callers to specify which CODEC_TAG category a certain
	  caps is, use that information to make a smart choice.
	  Does not break previous behaviour of gst_pb_utils_add_codec_description_to_tag_list
	  (if tag is specified it will be used, if caps is invalid it will be rejected,
	  ...).
	  https://bugzilla.gnome.org/show_bug.cgi?id=702215

2013-06-19 09:25:48 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: Add a debug category
	  Instead of using the default category

2013-06-27 12:23:27 +0200  Patricia Muscalu <patricia@axis.com>

	* gst/videotestsrc/gstvideotestsrc.c:
	  videotestsrc: do not leak lines
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703177

2013-06-26 14:36:17 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Do not leak the event when segment is delayed
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119

2013-06-26 15:03:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: make read uncancelable when reading a message
	  When we start to read a message, we need to continue reading until the end of
	  the message or else we lose track and cause parse errors. Use a variable
	  may_cancel to avoid cancelation after we read the first byte until we have
	  the complete message.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088

2013-06-21 20:41:15 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Don't return not-negotiated if flushing
	  If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701763

2013-06-23 12:07:41 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggstream.c:
	  ogg: The Daala headers are little endian, not big endian

2013-06-23 10:30:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* ext/ogg/gstoggmux.c:
	* ext/ogg/gstoggstream.c:
	  ogg: Add Daala support

2013-06-21 19:04:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/pbutils/descriptions.c:
	  pbutils: Add VP9 description

2013-06-17 08:58:13 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Fix drop frame handling at startup
	  In the unlikely case that the decoder drops a frame before the first
	  input frame is outputted, use the input segment (since it wasn't
	  carried over to the output segment yet)
	  https://bugzilla.gnome.org/show_bug.cgi?id=702502

2013-06-21 11:50:33 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: dispatch when initial buffer has data
	  When we have data in the inital buffer, dispath the read function to read it
	  even if the socket has no data to read.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652

2013-06-20 17:28:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: manage writer child source better
	  Only add the write child source when we have something to write or else
	  we will dispatch forever without doing anything.

2013-06-19 13:21:45 +0200  Jonas Holmberg <jonashg@axis.com>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: unref before memset
	  Unref allocator and input_caps in encoder context before memsetting the
	  context.

2013-06-19 09:22:50 +0200  Edward Hervey <edward@collabora.com>

	* gst-libs/gst/tag/gstxmptag.c:
	  xmptag: More efficient GSList usage
	  Instead of constantly appending (which gets more and more expensive), just
	  prepend to the list (O(1)) and reverse the list before usage.
	  https://bugzilla.gnome.org/show_bug.cgi?id=702545

2013-06-16 22:39:30 +0200  Branko Subasic <branko@axis.com>

	* gst-libs/gst/rtp/gstrtpbuffer.c:
	* gst-libs/gst/rtp/gstrtpbuffer.h:
	* tests/check/libs/rtp.c:
	  rtpbuffer: add gst_rtp_buffer_get_payload_bytes
	  The function gst_rtp_buffer_get_payload can not be used in Python
	  because it lacks necessary length parameter. This patch adds a new
	  function, gst_rtp_buffer_get_payload_bytes, to use from Python
	  bindings. The new function has the advisory "Rename to:" annotation
	  so it can replace the gst_rtp_buffer_get_payload whan creating
	  bindings.
	  The function gst_rtp_buffer_get_extension_bytes is also added. It wraps
	  gst_rtp_buffer_get_extension_data which doesn't work in Python due to
	  incomplete annotation and because it returns the length as number of
	  32-bit words.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698562

2013-06-17 16:34:26 +0200  Ognyan Tonchev <ognyan@axis.com>

	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  audiobasesrc: add 2 missing gst_buffer_unmap () calls
	  There are 2 missing calls to gst_buffer_unmap () in the error handling in
	  create ().
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702467

2013-06-17 16:02:41 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaysink.c:
	  playsink: Fix the block diagram of deinterlace bin.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702465

2013-06-13 11:08:20 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Emit {audio,text,video}-changed signals when pads are removed
	  https://bugzilla.gnome.org/show_bug.cgi?id=702195

2013-06-11 15:22:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: Fix leaking of the chroma resample helper objects

2013-06-10 14:43:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin-complex.c:
	  tests: add more unit test for playbin
	  Add unit test for autoplugging of video_decoder/video_sink combination
	  based on capsfeatures.

2013-06-10 15:31:38 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Make sure to set a sensible default port for the GSocketConnection
	  Otherwise it will connect to port 0 if no port is given in the URI.
	  https://bugzilla.gnome.org/show_bug.cgi?id=701798

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

	* gst/adder/gstadder.c:
	  adder: Reject segments that have a different rate than the output segment
	  adder does no rate conversion.

2013-06-08 23:51:13 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: When activating a fixed sink, proxy error messages too
	  If activating a fixed sink fails, everything will fail later anyway
	  and we can just error out early.

2013-06-08 23:34:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Improve autoplugging of decoder/sink combinations by trying to activate the sink
	  And if that fails don't bother autoplugging that sink. Also gives
	  us more accurate sink caps.

2013-06-08 23:08:05 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Proxy the playbin context to the sinks

2013-06-08 23:04:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaybin2.c:
	  playbin: Proxy sink messages if we activate a sink in playbin already
	  This makes sure the application gets any context related messages and
	  can do whatever is required to a) get the sink a context or b) share
	  the context with other elements in the pipeline.
	  The proxying is necessary because the sink is not a child element of
	  playbin, but instead will at a later point be a child of some bin
	  inside playsink.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700967

2013-06-06 15:57:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Let serialize queries before caps events through
	  Otherwise we're going to deadlock forever because no autoplugging
	  happens without having caps, but caps can never be send because
	  we're blocking.
	  Serialized queries before caps should never be sent unless really
	  necessary.

2013-06-05 18:36:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* configure.ac:
	  Back to development

=== release 1.1.1 ===

2013-06-05 17:58:51 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ChangeLog:
	* NEWS:
	* RELEASE:
	* common:
	* configure.ac:
	* docs/plugins/gst-plugins-base-plugins.args:
	* docs/plugins/gst-plugins-base-plugins.hierarchy:
	* docs/plugins/gst-plugins-base-plugins.interfaces:
	* docs/plugins/gst-plugins-base-plugins.signals:
	* docs/plugins/inspect/plugin-adder.xml:
	* docs/plugins/inspect/plugin-alsa.xml:
	* docs/plugins/inspect/plugin-app.xml:
	* docs/plugins/inspect/plugin-audioconvert.xml:
	* docs/plugins/inspect/plugin-audiorate.xml:
	* docs/plugins/inspect/plugin-audioresample.xml:
	* docs/plugins/inspect/plugin-audiotestsrc.xml:
	* docs/plugins/inspect/plugin-cdparanoia.xml:
	* docs/plugins/inspect/plugin-encoding.xml:
	* docs/plugins/inspect/plugin-gio.xml:
	* docs/plugins/inspect/plugin-ivorbisdec.xml:
	* docs/plugins/inspect/plugin-libvisual.xml:
	* docs/plugins/inspect/plugin-ogg.xml:
	* docs/plugins/inspect/plugin-pango.xml:
	* docs/plugins/inspect/plugin-playback.xml:
	* docs/plugins/inspect/plugin-subparse.xml:
	* docs/plugins/inspect/plugin-tcp.xml:
	* docs/plugins/inspect/plugin-theora.xml:
	* docs/plugins/inspect/plugin-typefindfunctions.xml:
	* docs/plugins/inspect/plugin-videoconvert.xml:
	* docs/plugins/inspect/plugin-videorate.xml:
	* docs/plugins/inspect/plugin-videoscale.xml:
	* docs/plugins/inspect/plugin-videotestsrc.xml:
	* docs/plugins/inspect/plugin-volume.xml:
	* docs/plugins/inspect/plugin-vorbis.xml:
	* docs/plugins/inspect/plugin-ximagesink.xml:
	* docs/plugins/inspect/plugin-xvimagesink.xml:
	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst-plugins-base.doap:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/volume/gstvolumeorc-dist.c:
	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	* win32/common/_stdint.h:
	* win32/common/audio-enumtypes.c:
	* win32/common/config.h:
	* win32/common/video-enumtypes.c:
	* win32/common/video-enumtypes.h:
	  Release 1.1.1

2013-06-05 16:20:38 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* po/af.po:
	* po/az.po:
	* po/bg.po:
	* po/ca.po:
	* po/cs.po:
	* po/da.po:
	* po/de.po:
	* po/el.po:
	* po/en_GB.po:
	* po/eo.po:
	* po/es.po:
	* po/eu.po:
	* po/fi.po:
	* po/fr.po:
	* po/gl.po:
	* po/hu.po:
	* po/id.po:
	* po/it.po:
	* po/ja.po:
	* po/lt.po:
	* po/lv.po:
	* po/nb.po:
	* po/nl.po:
	* po/or.po:
	* po/pl.po:
	* po/pt_BR.po:
	* po/ro.po:
	* po/ru.po:
	* po/sk.po:
	* po/sl.po:
	* po/sq.po:
	* po/sr.po:
	* po/sv.po:
	* po/tr.po:
	* po/uk.po:
	* po/vi.po:
	* po/zh_CN.po:
	  Update .po files

2013-06-05 15:14:43 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* common:
	  Automatic update of common submodule
	  From 098c0d7 to 01a7a46

2013-06-04 17:49:55 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Change GST_WARNING to a GST_DEBUG
	  It's completely normal for some decoders to queue 50-60 frames without
	  it causing any problems, e.g. RPi.

2013-06-01 09:05:16 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Remove private copy of gst_audio_info_is_equal()
	  And improve the public one a bit based on it.

2013-05-30 16:00:35 -0600  Brendan Long <b.long@cablelabs.com>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: remove functions added in GLib 2.34
	  g_pollable_stream_read and g_pollable_stream_write were added in GLib 2.34,
	  but Ubuntu 12.04 and Debian Wheezy still use GLib 2.32.
	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=701316

2013-05-30 18:48:19 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Add GstChildProxy interface for the sinkpads
	  This allows to set the sinkpad properties more easily.
	  Next step: Implement proper synchronization in adder, almost done!

2013-05-30 18:41:22 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Hold object lock in setcaps a bit longer to prevent race conditions

2013-05-30 14:57:04 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Simplify segment event handling
	  We don't care about upstream segments but generate our own. This
	  makes the code more similar to videomixer again.

2013-05-30 14:45:58 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Use gst_audio_info_is_equal() to check if we get the same caps

2013-05-30 14:45:31 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-info.c:
	* gst-libs/gst/audio/audio-info.h:
	* win32/common/libgstaudio.def:
	  audio: Add gst_audio_info_is_equal()

2013-05-30 14:32:03 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Don't calls gst_pad_set_caps() on sinkpads
	  It doesn't make much sense and the CAPS query handling
	  on the sinkpads should handle this.

2013-05-30 12:57:11 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Set GAP flag on silence buffers we created

2013-05-30 12:54:37 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Remove caching of the processing function
	  The compiler will generate a hashtable from the switch-case, and
	  we need to call functions explicitely for the volume!=1.0 cases
	  anyway.

2013-05-30 12:46:56 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Add support for per-stream volumes

2013-05-30 12:21:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/adder/gstadderorc.orc:
	  adder: Add optimized orc code for F64 processing

2013-05-30 12:05:02 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: The output buffer must be readable and writable

2013-05-30 12:02:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Add support for muting individual pads

2013-05-30 11:45:10 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	  adder: Sync pad properties with the GstController

2013-05-30 11:40:01 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	  adder: Add custom GstPad subclass to hold additional data and properties
	  This will later allow to set per-stream volumes and mute status.

2013-05-30 17:31:13 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtspconnection.h:
	* win32/common/libgstrtsp.def:
	  rtsp: add method to get the TLS connection

2013-05-30 13:14:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: let the sockets be reffed by the connection
	  Don't add an extra ref to the sockets but use that of the connection.
	  Keep the connection around as an IOStream.

2013-05-30 10:50:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: Cleanup the error path
	  Make sure the watch is removed when we close the read socket because of
	  an error.

2013-05-30 10:45:42 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: cleanup the watch reset function

2013-05-30 10:30:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: check if the streams are still active
	  Don't try to read/write from an inactive stream. When we, for example,
	  transfer the second connection in tunneling mode, we are not interested anymore
	  on read/write activity on the old connection.

2013-05-29 17:44:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use child sources instead of using the sockets
	  Use the source of the pollable input/output streams instead of
	  accessing the sockets directly.

2013-05-29 16:15:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: fix input/output streams for tunneling

2013-05-29 15:27:37 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: don't use sockets for blocking
	  Use the blocking and non-blocking API of the input/output streams instead
	  of polling the sockets directly. This also allows us to simplify some
	  code.

2013-05-28 17:06:14 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	* gst-libs/gst/rtsp/gstrtsptransport.c:
	* gst-libs/gst/rtsp/gstrtsptransport.h:
	* gst-libs/gst/rtsp/gstrtspurl.c:
	  rtsp: add TLS support
	  Add flag to select TLS in the transport.
	  Enable TLS on the socketclient when we use a TLS uri.

2013-05-28 16:45:00 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: use the input/output stream of clientconnection
	  Don't use the raw sockets for RTSP communication but use the IOStream.
	  This is needed if we are going to use TLS later.

2013-05-28 11:16:51 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: set sockets non-blocking

2013-04-05 16:50:48 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtsp: use GSocketClient for making connections
	  Use the GSocketClient API for making connections with the server. This removes a
	  bit of code and gives us the ability to do TLS later.

2013-05-27 15:32:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  Revert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"
	  This reverts commit 15a0bb0a10dcbc99c7f52e28ec9d0395699851ae.
	  We should be using GSocketClient

2013-05-30 05:24:32 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: free tmplines correctly
	  Keep track of how many tmplines we allocated and use that to free the
	  correct amount of lines.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701234

2013-05-29 10:33:48 -0600  Daniel Drake <dsd@laptop.org>

	* gst/playback/gstplaysink.c:
	  playsink: pass translated color balance value to channel
	  We found a case where untranslated values were being passed from the
	  proxy to the underlying channel, causing bad color balance values
	  in some setups.
	  Thanks to Sebastian Dröge for clarifying how the code works, and
	  suggesting the fix.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701202

2013-05-29 10:15:36 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Don't take an extra reference to the custom stream combiners
	  They are automatically reffed when added to the bin because they're
	  already not floating anymore.

2013-05-29 16:41:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsasrc: Dump some more debug output about the device configuration

2013-05-29 16:39:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasink.c:
	  alsasink: Update internal buffer/period times with the values that were configured on the device

2013-05-29 10:37:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/Makefile.am:
	* tests/check/elements/playbin-complex.c:
	  playbin: Rename compressed unit test to complex
	  It's not really about compressed streams anymore, but also
	  about stream switching and stream combiners.

2013-05-29 10:35:11 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	* tests/check/elements/playbin-compressed.c:
	  playbin: Set custom stream-combiners to NULL and unref before finalizing

2013-05-28 10:59:22 -0600  Brendan Long <b.long@cablelabs.com>

	* tests/check/elements/playbin-compressed.c:
	  playbin: Add playbin audio-stream-combiner test using adder

2013-05-28 11:23:56 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Rename select to combine and selector to combiner in playbin

2013-05-17 17:23:46 -0600  Brendan Long <b.long@cablelabs.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Add support for custom stream-combiners
	  This allows to chose something else than input-selector
	  for multiple audio/video/text streams, e.g. an adder could
	  be used for audio.
	  It is needed for example to implement some of the more
	  advanced HTML5 video features.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698851

2013-05-28 13:32:23 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Don't call autoplug-query on shutdown
	  And remove leftover debug code

2013-05-28 13:23:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: In autoplug-queries, add the actual decoder/parser/etc template caps
	  Add the actual decoder/parser/etc caps at the very end to
	  make sure we don't cause empty caps to be returned, e.g.
	  if a parser asks us but a decoder is required after it
	  because no sink can handle the format directly.

2013-05-28 13:14:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Forward CONTEXT queries to the corresponding sink if we have one
	  https://bugzilla.gnome.org/show_bug.cgi?id=700967

2013-05-28 13:08:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	  playbin: Refactor autoplug-query handling
	  We now only check sinks and factories of the corresponding media
	  type. It doesn't make sense to pass audio/subtitle caps to a video
	  decoder.

2013-05-28 13:06:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Block on serialized queries too
	  Otherwise we will only block after the serialized, non-sticky event
	  after the CAPS event or the first buffer. If we're waiting for another
	  pad to finish autoplugging after we got final caps on this pad, it
	  will mean that we will let the ALLOCATION query pass although the
	  pad is not exposed yet.

2013-05-28 12:03:49 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  decodebin: Pass the element in the autoplug-query signal too

2013-05-28 11:40:51 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Need to lock the chain mutex in autoplug_query

2013-05-28 11:36:58 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstplaysinkconvertbin.c:
	  playsinkconvertbin: Fix leak of the downstream caps filter

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

	* gst/playback/gstplaybin2.c:
	  playbin: Refactor autoplug-query handling a bit

2013-05-27 14:53:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/rtsp/gstrtspconnection.c:
	  rtspconnection: Use a GSocketAddressNumerator to resolve the addresses
	  Instead of just trying the first possible resolution we're trying all
	  resolutions until one works.

2013-05-27 13:04:00 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Require caps to be set before data flow happens

2013-05-27 11:53:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-orc.orc:
	  video-format: fix NV16 unpack
	  We can just use the NV12 functions, the only difference is the
	  vertical subsampling.

2013-05-27 11:25:09 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-chroma.h:
	  video-chroma: add interlaced flag

2013-05-17 16:34:30 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	* gst/videoconvert/videoconvert.h:
	  videoconvert: run chroma resamplers
	  Run the chroma upsampler after unpack and the chroma subsampler
	  before pack for higher quality conversions and correct chroma siting.

2013-05-17 16:26:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videotestsrc/gstvideotestsrc.c:
	* gst/videotestsrc/gstvideotestsrc.h:
	* gst/videotestsrc/videotestsrc.c:
	* gst/videotestsrc/videotestsrc.h:
	  videotestsrc: subsample chroma before packing
	  Run the chroma subsampler before packing.

2013-05-17 16:22:46 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-chroma.h:
	* win32/common/libgstvideo.def:
	  video-chroma: add chroma resampler
	  Add functions to up/downsample chroma in horizontal and vertical
	  directions. These functions work in-placeand are meant to be used on the
	  input/output of the pack/unpack functions.

2013-04-01 16:16:27 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-orc.orc:
	  video: don't perform subsampling while packing
	  Don't perform subsampling when packing but let this be done by a
	  separate subsampling step.

2013-04-01 16:05:40 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: reformat

2013-05-17 15:45:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/Makefile.am:
	* gst-libs/gst/video/video-chroma.c:
	* gst-libs/gst/video/video-chroma.h:
	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: move chroma functions to separate file

2013-05-17 15:41:10 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/videoconvert/videoconvert.c:
	  videoconvert: actually use the input pixels
	  Operate on the provided pixels array instead of the temp array.

2013-05-17 15:40:50 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.h:
	  videometa: fix docs

2013-05-25 16:08:06 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Don't require an output state to be set before allocating output buffers

2013-05-24 17:43:53 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS typefinder

2013-05-24 16:52:50 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Always provide a buffer in gst_audio_(enc|dec)oder_allocate_output_buffer()
	  We have no way of tell the caller of the exact error (e.g. if we're flushing),
	  so will have to wait until the caller uses API that returns a GstFlowReturn,
	  for example when pushing this buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700006

2013-05-24 16:51:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()
	  We have no way of tell the caller of the exact error (e.g. if we're flushing),
	  so will have to wait until the caller uses API that returns a GstFlowReturn,
	  for example when pushing this buffer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700006

2013-05-24 13:41:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Lock the state of child elements as long as we manage their states
	  https://bugzilla.gnome.org/show_bug.cgi?id=690420

2013-05-24 11:47:13 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  Revert "decodebin2: use NO_RESYNC flag"
	  This reverts commit 0feecef2754ef208372eb39332b4f6fa2067d3d5.

2013-05-22 17:29:17 +0200  Sebastian Dröge <slomo@circular-chaos.org>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Use signal handler IDs instead of disconnecting by function
	  This is cleaner and faster.

2013-05-22 13:49:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Connect and disconnect the have-type signal of typefind before starting/shutting down

2013-05-22 10:57:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: Add variant=itu to the h263 typefinder caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=700770

2013-05-21 16:35:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaysink.c:
	  playsink: Use signal handler IDs instead of disconnecting/blocking by function
	  This is cleaner and faster.

2013-05-07 07:49:00 +0200  Alexander Schrab <alexas@axis.com>

	* ext/alsa/gstalsasrc.c:
	* gst-libs/gst/audio/gstaudiobasesrc.c:
	  alsasrc: Make using driver timestamps possible
	  https://bugzilla.gnome.org/show_bug.cgi?id=699744

2013-05-20 11:23:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/alsa/gstalsasrc.c:
	  alsa: Dump min/max period time and buffer time in alsasrc too

2013-05-17 09:16:08 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Make sure that memory is unmapped before releasing it
	  Be sure that memory is unmapped before releasing it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700411

2013-05-16 11:35:58 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	  video: make mask arguments to gst_video_format_from_masks() unsigned
	  These should really be unsigned.

2013-05-16 10:52:29 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* sys/ximage/ximagesink.c:
	  ximagesink: add support for 32-bit RGB with alpha mask
	  When X screen return a depth = 32 with bpp = 32, the alpha mask
	  must be correctly set to have a known GStreamer video format.
	  X visual structure doesn't provide the alpha mask information,
	  but we can find it from the others masks.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700413

2013-05-16 11:09:11 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* tests/check/elements/videoscale.c:
	  tests: ignore new NV16 format in videoscale unit test
	  https://bugzilla.gnome.org/show_bug.cgi?id=700377

2013-05-16 10:52:29 +0200  Benjamin Gaignard <benjamin.gaignard@linaro.org>

	* gst-libs/gst/video/video-format.c:
	  video: fix gst_video_format_from_masks() for little endian masks with alpha
	  Need to byte-order swap the alpha mask as well in this case.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700413

2013-05-16 09:07:46 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: set the initial memory size to the full size
	  https://bugzilla.gnome.org/show_bug.cgi?id=700427

2013-05-15 18:20:50 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	  video: update disted orc backup files to fix build without liborc
	  https://bugzilla.gnome.org/show_bug.cgi?id=700400

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

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Only do a subset filtering for the factories if we have fixed caps
	  Otherwise we're plugging a parser/converter currently and have unfixed caps.

2013-05-15 14:51:16 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Return immediately from checking if a chain is complete if we're shutting down

2013-05-15 14:47:53 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Hold the expose lock when freeing a chain
	  https://bugzilla.gnome.org/show_bug.cgi?id=700342

2012-11-26 16:37:22 +0100  Arnaud Vrac <avrac@freebox.fr>

	* gst-libs/gst/video/video-format.c:
	* gst-libs/gst/video/video-format.h:
	* gst-libs/gst/video/video-info.c:
	* gst-libs/gst/video/video-orc.orc:
	  video: add NV16 format
	  This format is usually used by hardware video decoders for 4:2:2 sampling
	  https://bugzilla.gnome.org/show_bug.cgi?id=700377

2013-05-15 13:38:32 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix deadlock caused by lock order inversion
	  First the source group lock, then the elements list lock.

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

	* ext/libvisual/gstaudiovisualizer.c:
	  libvisual: Update visualizer baseclass from gst-plugins-bad

2013-05-15 10:51:24 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* common:
	  Automatic update of common submodule
	  From 5edcd85 to 098c0d7

2013-05-15 10:18:01 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

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

2013-05-15 09:26:56 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio-info.c:
	  audio-info: Always pass NULL as position parameter to gst_audio_info_set_format()
	  https://bugzilla.gnome.org/show_bug.cgi?id=700259

2013-05-14 10:06:40 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	* gst/playback/gstplaybin2.c:
	* gst/playback/gstsubtitleoverlay.c:
	* gst/playback/gsturidecodebin.c:
	  playback: Use subset checks instead of intersection
	  https://bugzilla.gnome.org/show_bug.cgi?id=700272

2013-05-12 09:55:38 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>

	* gst-libs/gst/rtp/gstrtpbasepayload.c:
	  rtpbasepayload: Delay segment event after caps
	  https://bugzilla.gnome.org/show_bug.cgi?id=700222

2013-05-14 09:34:21 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/audio-info.c:
	  audio-info: For more than 64 channels don't allow a channel layout
	  More than 64 channels have all channels unpositioned.
	  https://bugzilla.gnome.org/show_bug.cgi?id=700259

2013-05-10 12:29:15 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/adder.c:
	* tests/check/elements/appsink.c:
	* tests/check/elements/audioconvert.c:
	* tests/check/elements/audiorate.c:
	* tests/check/elements/audioresample.c:
	* tests/check/elements/multifdsink.c:
	* tests/check/elements/multisocketsink.c:
	* tests/check/elements/subparse.c:
	* tests/check/elements/textoverlay.c:
	* tests/check/elements/videorate.c:
	* tests/check/elements/volume.c:
	* tests/check/elements/vorbisdec.c:
	* tests/check/elements/vorbistag.c:
	  tests: Fix event order and missing events

2013-05-10 12:21:31 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/subparse/gstssaparse.c:
	* gst/subparse/gstsubparse.c:
	  subparse/ssaparse: Fix event handling and order

2013-05-10 11:31:37 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisparse.c:
	  vorbisparse: Fix event handling
	  Internal state should only be reset on FLUSH_STOP, not FLUSH_START.
	  Also forward pre-caps events immediately and don't queue them.

2013-05-10 11:24:46 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/ogg/gstoggmux.c:
	  oggmux: Make sure to always set caps on the srcpad and always send a segment event
	  Even if the srcpad is not linked at this point, it might be linked as result of
	  setting the caps.

2013-05-10 09:28:52 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggmux.c:
	  oggmux: don't send a segment event before the caps event
	  https://bugzilla.gnome.org/show_bug.cgi?id=699971

2013-05-09 23:30:33 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: don't set the list to NULL after taking its address

2013-05-09 18:02:57 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/playbin-compressed.c:
	  playbin-compressed: Fix unit test

2013-05-08 20:31:00 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* gst/videorate/gstvideorate.c:
	  videorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT
	  Fixes #699187

2013-05-09 15:42:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Make sure to push any pre-caps events before the caps are set

2013-05-09 15:34:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Make sure to not push any post-caps events before we have caps
	  and that we push pre-caps events before we push caps, even if we don't
	  have a GstVideoFrame yet.

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

	* gst/playback/gstplaybin2.c:
	  playbin2: Chose more balanced metric to compare ranks of decoder/sink combinations

2013-05-09 10:40:19 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoradec.c:
	  theoradec: Set DECODE_ONLY flag on all header packets

2013-05-09 10:37:06 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  Revert "videodecoder: If a frame is to be dropped, don't update timestamps"
	  This reverts commit c9c5cd8eef499ba08e08898bda71183e39d570ea.

2013-05-09 08:54:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: If a frame is to be dropped, don't update timestamps

2013-05-08 21:27:17 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstplaybin2.c:
	  playbin: Fix infinite loop in GSequence iteration code

2013-05-08 15:56:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	* gst-libs/gst/audio/gstaudioencoder.c:
	  audio: Make sure to push pre-caps events before the caps event

2013-05-08 15:50:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	* gst-libs/gst/video/gstvideoencoder.c:
	  video: Make sure to push pre-caps events before the caps event
	  https://bugzilla.gnome.org/show_bug.cgi?id=699894

2013-05-08 14:52:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: Always store queue2 elements for later removal
	  Otherwise we accumulate more and more queue2 elements, and let each
	  of them start a thread doing nothing but waiting each time uridecodebin
	  goes to PAUSED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699794

2013-05-06 22:05:04 +0200  Mathieu Duponchelle <mathieu.duponchelle@epitech.eu>

	* ext/ogg/gstoggmux.c:
	  oggmux: The best pad can't be EOS
	  The problem experienced is that the EOS was never emitted by oggmux during a
	  rendering with GES. The proposed patch checks if the pad is EOS before deciding
	  it's the "best pad".
	  https://bugzilla.gnome.org/show_bug.cgi?id=699792

2012-12-16 16:53:30 +0100  Andoni Morales Alastruey <ylatuya@gmail.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: fix detection of HLS playlists with alternative renditions
	  https://bugzilla.gnome.org/show_bug.cgi?id=699923

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

	* gst/playback/gstplaybin2.c:
	  playbin: Use the GSequence more efficiently
	  This makes it possible to take advantage of the O(log n) lookups
	  of GSequence on the ~1000 element lists and only do iterations
	  on <10 element lists. Previously the code iterated over ~1000 element
	  lists multiple times.

2013-05-02 00:01:17 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: Use GSequence instead of GList to store the GstAVElement list.
	  The GstAVElement list might be big. Use GSequence to optimize it.

2013-04-29 22:17:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: autoplug the audio/video decoders and sinks based on capsfeatures.
	  Autoplug the decoder elements and sink elements based on
	  the number of common capsfeatures if the ranks are the same.
	  This will also helps to autoplug the h/w_decoder and h/w_renderer.
	  https://bugzilla.gnome.org/show_bug.cgi?id=698712

2013-05-07 15:00:05 +0200  Julien Moutte <julien@moutte.net>

	* gst-libs/gst/riff/riff-media.c:
	  riff: Manually calculate bitrate of ADPCM streams
	  Some ADPCM encoding tools like Oxelon generate WAV files with
	  wrong format header declaring an invalid bitrate.
	  As wavparse uses the average bitrate to calculate timestamps
	  and duration the decoder can be confused by receiving timestamps
	  completely out of sync with the decoded samples.
	  ADPCM is a CBR audio codec so we can calculate the average bitrate
	  instead of trusting the format header.
	  https://bugzilla.gnome.org/show_bug.cgi?id=636245

2013-05-07 10:16:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Don't call gst_buffer_fill() for empty Theora packets
	  gst_buffer_fill() does not like a NULL source data pointer.

2013-05-07 10:13:18 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/theora/gsttheoraenc.c:
	  theoraenc: Fix error handling when reading or writing multipass cache data fails

2013-05-06 15:47:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin: Expose pads when they receive EOS before any buffers
	  Stops decodebin from waiting forever to expose a pad if there
	  is never data on it.
	  https://bugzilla.gnome.org/show_bug.cgi?id=691072

2013-05-03 16:24:55 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst-libs/gst/riff/riff-media.c:
	  riff: wma can have more than 6 channels
	  Some versions anyway.

2013-05-03 15:49:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* ext/vorbis/gstvorbisdeclib.c:
	  vorbis: Fix compilation after function rename

2013-05-03 14:16:33 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/vorbis/gstvorbisdec.c:
	* ext/vorbis/gstvorbisdeclib.c:
	* ext/vorbis/gstvorbisdeclib.h:
	  vorbis: prefix get_copy_sample_func and fix duplicated symbols

2013-05-03 14:13:18 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/vorbis/gstvorbisdeclib.h:
	  ivorbisdec: fix duplicated symbols with vorbisdec

2013-05-03 11:23:59 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: don't touch the GstMemory size
	  mem.size is the content size and should not be touch.
	  Save the mmap size instead.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699566

2013-05-03 11:12:04 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix memory initialization
	  Without this the shared memory is broken
	  https://bugzilla.gnome.org/show_bug.cgi?id=699565

2013-05-03 11:29:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: fix formating

2013-05-02 15:37:14 +0200  Michael Olbrich <m.olbrich@pengutronix.de>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: handle mmap failure
	  Otherwise gstreamer may segfault trying to access MAP_FAILED.
	  https://bugzilla.gnome.org/show_bug.cgi?id=699470

2013-05-02 23:41:02 +0100  Tim-Philipp Müller <tim@centricular.net>

	* ext/pango/gsttextrender.c:
	  textrender: actually fixate output caps when fixating output caps

2013-04-12 21:01:53 +0200  Andoni Morales Alastruey <ylatuya@gmail.com>

	* ext/ogg/Makefile.am:
	  ogg: fix duplicated symbols with schroedinger

2013-05-01 00:15:38 +0100  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/encoding/gststreamsplitter.c:
	  streamsplitter: Keep srcpad alive while querying peer

2013-04-28 20:07:47 +0200  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	  adder: Get collectpad stream lock when fowarding flush events
	  Fixes #698410

2013-01-16 09:50:16 +0000  Tim-Philipp Müller <tim.muller@collabora.co.uk>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: minor SSA typefinder clean-up
	  Remove code that doesn't make sense as it is. If there's
	  a 2-byte UTF-16 BOM or a 4-byte UTF-32 BOM, the following
	  text won't be 8-bit ASCII.

2013-04-26 11:00:10 +0200  Rico Tzschichholz <ricotz@t-online.de>

	* docs/plugins/Makefile.am:
	  docs: Drop missing gsttcp-enumtypes.h to fix build
	  In addition to 7f6e1bdfdb2aad1694c24d3887f30e00f0c4c2e3

2013-04-26 10:10:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: use setter for the bandwidth

2013-04-25 21:10:04 +0200  Sebastian Rasmussen <sebrn@axis.com>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: Store a copy of the bandwidth string
	  Otherwise we will free a string later that does not belong to us.
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698888

2013-04-25 17:04:50 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/allocators/gstdmabuf.c:
	  dmabuf: Use the fallback GstMemory copy function instead of our own
	  dup() on a dmabuf only gives a new handle, not a copy, thus doesn't
	  do what copy() is supposed to do.

2013-04-25 16:23:14 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Try harder to push writable buffers downstream
	  For this release the corresponding GstVideoCodecFrame before
	  pushing the buffer. The buffer will now be writable unless
	  the subclass still holds another reference to the buffer or
	  the frame.

2013-04-25 16:13:10 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideodecoder.c:
	  videodecoder: Try harder to push writable buffers downstream
	  For this release the corresponding GstVideoCodecFrame before
	  pushing the buffer. The buffer will now be writable unless
	  the subclass still holds another reference to the buffer or
	  the frame.

2013-04-25 09:20:29 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/Makefile.am:
	* gst/tcp/gstmultifdsink.c:
	* gst/tcp/gstmultihandlesink.c:
	* gst/tcp/gstmultisocketsink.c:
	* gst/tcp/gsttcp-marshal.list:
	* gst/tcp/gsttcp.h:
	* gst/tcp/gsttcpserversink.c:
	  tcp: Use the generic marshaller instead of generating custom ones

2013-04-25 09:05:55 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/tcp/gsttcpserversink.c:
	* gst/tcp/gsttcpserversrc.c:
	  tcp: Add FIXME comment for 2.0 to rename "host" to "bind-address" for the server elements

2013-04-24 14:13:43 +0200  Patricia Muscalu <patricia at axis.com>

	* tests/check/libs/sdp.c:
	  tests: add SDP modify test
	  Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698558

2013-04-24 14:12:41 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* tests/check/libs/sdp.c:
	  tests: avoid sdp boxed test leak

2013-04-24 14:12:20 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: don't leak the temp buffer

2013-04-24 14:11:49 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	  sdp: NULL terminate the time array

2013-04-24 13:57:23 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* docs/libs/gst-plugins-base-libs-sections.txt:
	  docs: add new sdp methods to docs

2013-04-24 13:50:54 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* win32/common/libgstsdp.def:
	  def: update with new sdp symbols

2013-04-23 15:23:05 +0200  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst-libs/gst/sdp/gstsdpmessage.c:
	* gst-libs/gst/sdp/gstsdpmessage.h:
	  sdp: add more functions to modify the sdp message
	  Add functions to insert, replace and remove various sdp message fields
	  and structures.
	  See: https://bugzilla.gnome.org/show_bug.cgi?id=698558

2013-04-24 11:10:34 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Fix check for belonging to another stream
	  https://bugzilla.gnome.org/show_bug.cgi?id=697820

2013-04-24 11:07:30 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* tests/check/elements/streamsynchronizer.c:
	  streamsynchronizer: Create element with gst_element_factory_make()
	  Otherwise plugin_init() is not called and initialization is missing.

2013-04-24 00:08:15 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/typefind/gsttypefindfunctions.c:
	  typefindfunctions: fix crash in new MSS typefinder
	  Fixes icydemux test_first_buf_offset_when_merged_for_typefinding
	  unit test segfaulting on a NULL pointer.

2013-03-06 16:44:45 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: also remove the bytes limit
	  Remove the byte limit for adaptive http streaming. Because some fragments might
	  be very big, we might need a lot of buffering. I also suspect another problem
	  where data is actually missing and things go out of sync somehow.

2013-03-04 16:19:18 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: update buffer size in multiqueue
	  When we disable buffering in the more upstream multiqueue elements,
	  we need to also update the queue limits. In particular, the max_size_time should
	  be set to 0 or else we might simply deadlock.

2013-02-06 08:41:19 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: only allow 'lower' multiqueues to emit buffering messages
	  When we have a scenario of demuxers linked to demuxers, decodebin2
	  will create multiqueue at different levels of the pipeline. The problem
	  is that only the lowest multiqueue's should do the buffering messaging,
	  as they will handle with the raw streams data.
	  When all multiqueues are doing buffering, the upper ones can handle
	  large buffers that easily fill them, moving from 0% to 100% from
	  buffer to buffer, causing too much buffering messages to be posted.
	  This hangs the pipeline unnecessarily and might lead to deadlocks.

2013-02-06 11:09:52 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: do not handle the next-groups list as if it was a single item
	  Decodebin2's chains store a next_groups list that was being handled as
	  it could only have a single element. This is true for most of the
	  chaining streams scenarios where streams change not very often.
	  In more stressfull changing scenarios, like adaptive streams, those
	  changes can happen very often, and in short time intervals. This could
	  confuse decodebin2 as this list was always being used as a single
	  element list.
	  This patches makes it handle as a real list, using iteration instead
	  of picking the first element as the correct one always.

2013-02-01 17:50:36 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: preserve next groups order

2013-01-09 18:39:49 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin2: still report chain as drained when not 'handled'
	  Even if the chain hasn't been 'handled' in this switching round,
	  report it as drained so upper chains/groups know abou it.
	  This makes switching happen on upper levels of the groups/chain
	  trees

2013-04-11 09:47:51 -0300  Thiago Santos <thiago.sousa.santos@collabora.com>

	* gst/typefind/gsttypefindfunctions.c:
	  typefind: add smoothstreaming manifest typefinding
	  Checks if the received XML is a smoothstreaming manifest
	  in both UTF8 and UTF16 formats. The check is made for a
	  SmoothStreamingMedia top level element.
	  Conflicts:
	  gst/typefind/gsttypefindfunctions.c

2013-04-23 13:54:49 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: Don't consider a stream added for an already running one as "new"
	  Fixes enabling visualizations after disabling them after they were enabled already.

2013-04-23 13:18:45 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst/playback/gststreamsynchronizer.c:
	  streamsynchronizer: If a stream belongs to an already running stream, don't wait
	  This fixes enabling visualizations after the audio stream already started.
	  https://bugzilla.gnome.org/show_bug.cgi?id=697820

2013-04-22 23:51:08 +0100  Tim-Philipp Müller <tim@centricular.net>

	* MAINTAINERS:
	* README:
	* README.static-linking:
	* common:
	  Automatic update of common submodule
	  From 3cb3d3c to 5edcd85

2013-04-21 19:02:42 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst-libs/gst/audio/gstaudiopack-dist.c:
	* gst-libs/gst/audio/gstaudiopack-dist.h:
	* gst-libs/gst/video/video-orc-dist.c:
	* gst-libs/gst/video/video-orc-dist.h:
	* gst/adder/gstadderorc-dist.c:
	* gst/adder/gstadderorc-dist.h:
	* gst/audioconvert/gstaudioconvertorc-dist.c:
	* gst/audioconvert/gstaudioconvertorc-dist.h:
	* gst/videoconvert/gstvideoconvertorc-dist.c:
	* gst/videoconvert/gstvideoconvertorc-dist.h:
	* gst/videoscale/gstvideoscaleorc-dist.c:
	* gst/videoscale/gstvideoscaleorc-dist.h:
	* gst/videotestsrc/gstvideotestsrcorc-dist.c:
	* gst/videotestsrc/gstvideotestsrcorc-dist.h:
	* gst/volume/gstvolumeorc-dist.c:
	* gst/volume/gstvolumeorc-dist.h:
	  Update disted orc backup files
	  Generated with 0.4.17 now.

2013-04-21 17:24:55 +0100  Tim-Philipp Müller <tim@centricular.net>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: don't report 'no uri handler found' if the URI was rejected by a source
	  If a source element could be created for a URI, but all elements rejected
	  the URI for some reason, propagate the error from the URI handler instead
	  of reporting a 'no uri handler found for protocol xyz' error, which is
	  confusing. Fixes error reporting with dvb:// URIs when the channel config
	  file could not be found or not be parsed or the channel isn't listed.
	  https://bugzilla.gnome.org/show_bug.cgi?id=678892

2013-04-19 17:59:56 -0300  Thibault Saunier <thibault.saunier@collabora.com>

	* gst/adder/gstadder.c:
	* gst/adder/gstadder.h:
	* tests/check/elements/adder.c:
	  adder: Do not try to wait for flush_stop after receiving a segment event
	  + Add a simple test

2013-04-18 07:55:56 +0200  Stefan Sauer <ensonic@users.sf.net>

	* gst/volume/gstvolume.c:
	  volume: skip controlled processing if we have no timestamp

2013-04-18 12:07:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstplaybin2.c:
	  playbin: use _plugin_feature_rank_compare API instead of duplicating the code.

2013-04-18 12:03:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>

	* gst/playback/gstdecodebin2.c:
	  decodebin: use _plugin_feature_rank_compare API instead of duplicating the code.

2013-04-18 09:58:09 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideoencoder.c:
	  videoencoder: Simply setcaps function

2013-04-18 09:54:48 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudioencoder.c:
	  audioencoder: Ignore caps events if the input caps did not change

2013-04-18 09:54:25 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/audio/gstaudiodecoder.c:
	  audiodecoder: Ignore caps events if the input caps did not change

2013-04-17 07:51:38 +0200  Stefan Sauer <ensonic@users.sf.net>

	* ext/ogg/gstoggmux.c:
	  oggmux: add more logging and fix the object param for some logging
	  Use data->pad instead of pad for 'object'. Reduce indentation depth in a helper
	  with an early return.

2013-04-17 10:35:22 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/video/gstvideometa.c:
	* gst-libs/gst/video/gstvideometa.h:
	  videometa: Extend GstVideoGLTextureUploadMeta
	  https://bugzilla.gnome.org/show_bug.cgi?id=697112

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

	* docs/libs/gst-plugins-base-libs-sections.txt:
	* gst-libs/gst/audio/audio-format.h:
	  docs: add some more audio macros

2013-03-28 14:21:41 +0100  Philippe Normand <philn@igalia.com>

	* gst/playback/gsturidecodebin.c:
	  uridecodebin: query bandwidth capability to source element
	  Use a scheduling query to check if the source element has some
	  bandwidth limitations. If this is the case on-disk buffering might be
	  used. If the source element doesn't handle the scheduling query then
	  fallback to checking the URI protocol against the hardcoded list of
	  protocols known to handle buffering already.
	  Fixes bug 693484.

2013-04-16 14:09:43 +0200  Sebastian Dröge <sebastian.droege@collabora.co.uk>

	* gst-libs/gst/app/Makefile.am:
	  app: Don't use $(GST_PLUGIN_LIBTOOLFLAGS) for real libraries

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

	* 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

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

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

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

