=== release 1.5.90 ===

2015-08-19  Sebastian Dröge <slomo@coaxion.net>

	* configure.ac:
	  releasing 1.5.90

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

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-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-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: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-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 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 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 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 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-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/resampler.c:
	* gst-libs/gst/video/resampler.h:
	* 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-convertor.c:
	* gst-libs/gst/video/video-convertor.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.c:
	* 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-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-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: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-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-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-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 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-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 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:
	* tests/check/elements/playbin-compressed.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 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: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-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-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-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 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/app/gstapp.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/gstriff.h:
	* gst-libs/gst/riff/riff.h:
	* gst-libs/gst/rtp/Makefile.am:
	* gst-libs/gst/rtp/gstrtp.h:
	* 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/gsttag.h:
	* 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 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

=== 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 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-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: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 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 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 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-discoverer.1.in:
	* 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-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:
	* gst-libs/gst/video/videoblendorc-dist.c:
	* gst-libs/gst/video/videoblendorc-dist.h:
	* gst-libs/gst/video/videoblendorc.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.c:
	* 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.c:
	* 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-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: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-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 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-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/navigation.c:
	* gst-libs/gst/interfaces/navigation.h:
	* 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 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 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 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 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 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 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 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: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 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: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 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 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 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 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 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:
	* tests/examples/playback/seek.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:
	* tests/examples/seek/seek.c:
	  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: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: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 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-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 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 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 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-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 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 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:
	* ext/gio/Makefile.am:
	* ext/gio/gstgio.c:
	* ext/gio/gstgio.h:
	* ext/gio/gstgiobasesink.c:
	* ext/gio/gstgiobasesink.h:
	* ext/gio/gstgiobasesrc.c:
	* ext/gio/gstgiobasesrc.h:
	* ext/gio/gstgiosink.c:
	* ext/gio/gstgiosink.h:
	* ext/gio/gstgiosrc.c:
	* ext/gio/gstgiosrc.h:
	* ext/gio/gstgiostreamsink.c:
	* ext/gio/gstgiostreamsink.h:
	* ext/gio/gstgiostreamsrc.c:
	* ext/gio/gstgiostreamsrc.h:
	* 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/gstmultifdsink.c:
	* gst/tcp/gstmultifdsink.h:
	* 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-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 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 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-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/draft-media-types.txt:
	* docs/design/part-interlaced-video.txt:
	* docs/design/part-mediatype-video-raw.txt:
	* docs/design/part-playbin.txt:
	* docs/design/part-playbin2.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 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 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-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-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-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-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:
	* gst-libs/gst/interfaces/streamvolume.c:
	* gst-libs/gst/interfaces/streamvolume.h:
	* 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/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/videoorientation.c:
	* gst-libs/gst/interfaces/videoorientation.h:
	* gst-libs/gst/interfaces/videooverlay.c:
	* gst-libs/gst/interfaces/videooverlay.h:
	* 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 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-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 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 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 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 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 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 11:10:31 +0100  Wim Taymans <wim.taymans@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  ogg: fix compilation

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 13:29:10 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>

	* ext/ogg/gstoggstream.c:
	  oggstream: extract opus comments 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-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-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: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 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 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 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: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 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/cddabasesrc.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-libs/gst/cdda/gstcddabasesrc.c:
	* gst-libs/gst/cdda/gstcddabasesrc.h:
	* 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 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/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/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:
	* 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 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:
	* gst-libs/gst/audio/gstringbuffer.c:
	* gst-libs/gst/audio/gstringbuffer.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-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: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: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 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: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-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-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 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-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/gstmetavideo.c:
	* gst-libs/gst/video/gstmetavideo.h:
	* 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: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 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:
	* tests/examples/volume/volume.c:
	  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 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-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: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-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-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-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 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 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/gstbaseaudiodecoder.c:
	* gst-libs/gst/audio/gstbaseaudiodecoder.h:
	* gst-libs/gst/audio/gstbaseaudioencoder.c:
	* 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-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 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/gtk-xoverlay.c:
	* tests/examples/overlay/qt-videooverlay.cpp:
	* tests/examples/overlay/qt-xoverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.cpp:
	* tests/examples/overlay/qtgv-videooverlay.h:
	* tests/examples/overlay/qtgv-xoverlay.cpp:
	* tests/examples/overlay/qtgv-xoverlay.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/stress-xoverlay.c:
	* tests/icles/test-colorkey.c:
	* tests/icles/test-videooverlay.c:
	* tests/icles/test-xoverlay.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.c:
	* 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-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/ffmpegcolorspace.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-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/colorspace/colorspace.c:
	* gst/colorspace/colorspace.h:
	* gst/colorspace/colorspace.vcproj:
	* gst/colorspace/gstcolorspace.c:
	* gst/colorspace/gstcolorspace.h:
	* gst/colorspace/gstcolorspaceorc-dist.c:
	* gst/colorspace/gstcolorspaceorc-dist.h:
	* gst/colorspace/gstcolorspaceorc.orc:
	* 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-compressed.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:
	* gst-libs/gst/audio/testchannels.c:
	* 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-audiosinks.txt:
	* 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-private.h:
	* 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/gstaacutil.h:
	* 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/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:
	* 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:
	* gst/playback/decodetest.c:
	* gst/playback/test.c:
	* gst/playback/test2.c:
	* gst/playback/test3.c:
	* gst/playback/test4.c:
	* gst/playback/test5.c:
	* gst/playback/test6.c:
	* gst/playback/test7.c:
	* 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/gstffmpeg.c:
	* 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:
	* ext/theora/theora.c:
	* ext/theora/theoradec.c:
	* ext/theora/theoraenc.c:
	* ext/theora/theoraparse.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:
	* ext/vorbis/vorbis.c:
	* ext/vorbis/vorbisdec.c:
	* ext/vorbis/vorbisenc.c:
	* ext/vorbis/vorbisparse.c:
	* ext/vorbis/vorbistag.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.c:
	* 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/rtsp/rtsp-marshal.list:
	* 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/vorbisdec.h:
	* ext/vorbis/vorbisenc.c:
	* ext/vorbis/vorbisenc.h:
	* ext/vorbis/vorbisparse.c:
	* ext/vorbis/vorbisparse.h:
	* ext/vorbis/vorbistag.c:
	* ext/vorbis/vorbistag.h:
	  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/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/gstspeexresample.c:
	* gst/speexresample/gstspeexresample.h:
	* gst/speexresample/resample.c:
	* gst/speexresample/resample_sse.h:
	* gst/speexresample/speex_resampler.h:
	* gst/speexresample/speex_resampler_double.c:
	* gst/speexresample/speex_resampler_float.c:
	* gst/speexresample/speex_resampler_int.c:
	* gst/speexresample/speex_resampler_wrapper.h:
	* 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

